此方法使用与单个或多个Sheet
代码中两个for循环是由于我的Excel是动态的
所以根据自己Excel的需求
主要代码在于
Row row = sheet.getRow(j + 5);
row.createCell(17);
Cell cell = row.getCell(17);
cell.setCellType(CellType.STRING);
cell.setCellValue(arInfo.get(j).getResultMsg());
当时在使用时,没有加row.createCell(17),结果报错空异常,因此建议根据自己的情况自己的row.getcell是否为空。
/**
* 寫入Excel模板 (會保留原本的樣式)
* @param filename
* @param sheetCount
*/
public void writeExcelFile(File file, String filename, List<SheetInfo> listSheet) {
Workbook workbook = null;
try {
BufferedInputStream is = new BufferedInputStream(new FileInputStream(file));
workbook = WorkbookFactory.create(is);
} catch (Exception e) {
}
for (int i = 0; i < listSheet.size(); i++) {
SheetInfo sheetInfo = listSheet.get(i);
List<ARInfo> arInfo = sheetInfo.getListAR();