猿问

POI怎样通过模版是一个Excel表格获得模版的各种设置

  • 现在有一个空白的Excel模版,不过模版里面有单元格的各种格式,请问怎么样通过POI 实现将一个有数据的excel文件通过模版,生存具有模版文件所有设置的新文件,求代码,最好详细点谢谢!


慕沐林林
浏览 408回答 2
2回答

九州编程

public&nbsp;class&nbsp;ExporTest&nbsp;{ private&nbsp;Map&nbsp;smap;//&nbsp;存储模板中单元格样式 @Test public&nbsp;void&nbsp;test()&nbsp;{ Workbook&nbsp;wb&nbsp;=&nbsp;getWorkbook(path); initStyle(wb); writeSheet(wb.getSheetAt(1)); writeExcel(wb); }private&nbsp;Workbook&nbsp;getWorkbook(String&nbsp;filepath)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;Workbook&nbsp;wb&nbsp;=&nbsp;null; &nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wb&nbsp;=&nbsp;new&nbsp;XSSFWorkbook(filepath); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(Exception&nbsp;ex)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex.printStackTrace(); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;wb; } /** &nbsp;*&nbsp;从模板中取单元格样式, &nbsp;*&nbsp; &nbsp;*&nbsp;@param&nbsp;wb &nbsp;*/ private&nbsp;void&nbsp;initStyle(Workbook&nbsp;wb)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;CellStyle&nbsp;normal&nbsp;=&nbsp;wb.getSheetAt(0).getRow(5).getCell(0).getCellStyle(); &nbsp;&nbsp;&nbsp;&nbsp;smap.put("normal",&nbsp;normal); } private&nbsp;void&nbsp;writeSheet(Sheet&nbsp;sh)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;ps.size();&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Row&nbsp;row&nbsp;=&nbsp;sh.createRow(i&nbsp;+&nbsp;1); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cell&nbsp;cell&nbsp;=&nbsp;row.createCell(0); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cell.setCellStyle(smap.get("normal")); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cell.setCellValue(permission.getName()); &nbsp;&nbsp;&nbsp;&nbsp;} } private&nbsp;void&nbsp;writeExcel(Workbook&nbsp;wb)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileOutputStream&nbsp;out&nbsp;=&nbsp;new&nbsp;FileOutputStream("test.xls"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wb.write(out); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.close(); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(FileNotFoundException&nbsp;e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace(); &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(IOException&nbsp;e)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace(); &nbsp;&nbsp;&nbsp;&nbsp;} } }

斯蒂芬大帝

随便搜一下POI吧,很多的
随时随地看视频慕课网APP

相关分类

Java
我要回答