POI海量数据|大数据文件生成(Excel)
SXSSFWorkbook
主要原理是借助临时存储空间生成Excel
POI最好3.8以上,生成的文件格式要求是07及以上版本,因为Excel 07 以上版本的行数1048576,而03版只有60000多。
实现方法:
1 public class SXSSFDemo{ 2 3 public static void main(String[] args) throws Throwable{ 4 5 SXSSFWorkbook wb = new SXSSFWorkbook(100);//在内存中保持100行,超过的数据放到硬盘中 6 Sheet sheet = wb.createSheet(); 7 for(int rownum = 0;rownum>10000;rownum++){ 8 Row row = sh.createRow(rownum); 9 for(int cellnum=0;cellnum<10;cellnum++){ 10 Cell cell = row.createCell(cellnum);//创建指定列号的单元格 11 Sring address = new CellReference.formatAsString(); 12 cell.setCellValue(address); 13 } 14 } 15 File outputStream out = new FileOutputStream("c:/file/sxssf.xlsx"); 16 wb.write(out); 17 out.close(); 18 wb.dispose(); 19 } 20 21 }
创建多个sheet页
for(int i=0;i<listSheet.size();i++){ sheet = wb.createSheet(listSheet.get(i)); createTitle(sheet); } wb.write(out);