Java 实现excel大批量导出

实现excel大数据量导出

导出Excel时,如果数据量较大,全部查询出来list,然后写入Workboook,会出现内存异常异常,建议使用SXSSFWorkbook,然后设置setCompressTempFiles属性为true

复制代码
@Test
    public void testBigExcel(){
        try {
            long startTime = System.currentTimeMillis();
            final int NUM_OF_ROWS = 1300000;
            final int NUM_OF_COLUMNS = 21;

            SXSSFWorkbook wb = null;
            try {
                wb = new SXSSFWorkbook();
                //压缩临时文件,很重要,否则磁盘很快就会被写满
                wb.setCompressTempFiles(true);
                Sheet sh =null;
                int sheetNum=1;
                int rowNum = 0;
                for (int num = 0; num < NUM_OF_ROWS; num++) {
                    if (num % 1000000 == 0) {
                        sh = wb.createSheet("Sheet " + sheetNum);
                        rowNum = 0;
                        sheetNum++;
                    }else{
                        rowNum++;
                    }

                    org.apache.poi.ss.usermodel.Row row = sh.createRow(rowNum);
                    for (int cellNum = 0; cellNum < NUM_OF_COLUMNS; cellNum++) {
                        Cell cell = row.createCell(cellNum);
                        cell.setCellValue(Math.random());
                    }
                }

                FileOutputStream out = new FileOutputStream("d:/Maruko.xlsx");
                wb.write(out);
                out.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            } finally {
                if (wb != null) {
                    wb.dispose();// 删除临时文件,很重要,否则磁盘可能会被写满
                }
            }

            long endTime = System.currentTimeMillis();
            System.out.println("花费时间为:" + (endTime - startTime));
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
    }
相关推荐
VBAMatrix17 小时前
表格导航!实现Word合并附注与多个Excel的数据同步
word·excel·审计报告·审计·会计师事务所·报告工具
AI英德西牛仔1 天前
手机文心怎么导出文档?AI 导出鸭一键解决格式崩塌与批量归档难题
人工智能·智能手机·excel·deepseek·ai导出鸭
AI导出鸭1 天前
Grok苹果版导出表格的工程化解耦方案:AI导出鸭的技术逻辑与批量实践
人工智能·excel·ai导出鸭
reasonsummer2 天前
【办公类110-05】20260807园园通小班“待补充”户籍地址自动修改(Python+EXCEL)
开发语言·python·excel
qq83443102 天前
一款纯前端的excel控件,XuY_Sheet 电子表格组件教程
前端·excel·教程·luckysheet·xuy_sheet控件·前端表格控件
开开心心就好2 天前
免费压缩软件WinRAR无弹窗、广告干扰
java·开发语言·前端·数据库·python·excel·winrar
AI导出鸭2 天前
怎么让千问做表格?AI导出鸭苹果版将千问输出的管道表格智能解析为二维结构,一键导出为Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
xiaopai9454 天前
工程项目管理系统选型:WPS/Excel为何难以替代专业系统的数据关联逻辑
excel·wps·项目管理系统·建米软件
灵析表格4 天前
Excel连接MySQL的函数化革命:灵析表格MySQL函数族业务应用分析
数据库·mysql·adb·excel·wps·灵析表格·excel公式盒子
许彰午4 天前
在PowerBuilder里手写Excel导出——OLE控制Excel的完整方案
excel