大数据量导出到Excel
public static void Excel2007AboveOperate(String filePath) throws IOException {
XSSFWorkbook workbook1 = new XSSFWorkbook(new FileInputStream(new File(filePath)));
SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(workbook1, 100);
Sheet first = sxssfWorkbook.getSheetAt(0);
for (int i = 0; i < 1000000; i++) {
Row row = first.createRow(i);
for (int j = 0; j < 11; j++) {
if (i == 0) {
// 首行
row.createCell(j).setCellValue("column" + j);
} else {
// 数据
if (j == 0) {
CellUtil.createCell(row, j, String.valueOf(i));
} else
CellUtil.createCell(row, j, String.valueOf(Math.random()));
}
}
}
FileOutputStream out = new FileOutputStream("E://log/workbook1.xlsx");
sxssfWorkbook.write(out);
out.close();
}