2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Apache POI和EasyExcel 第三集:Apache POI的Excel大数据量写入(分为03版的xls 0

Apache POI和EasyExcel 第三集:Apache POI的Excel大数据量写入(分为03版的xls 0

时间:2023-09-02 22:19:28

相关推荐

Apache POI和EasyExcel 第三集:Apache POI的Excel大数据量写入(分为03版的xls 0

Apache POI和EasyExcel 第三集:Apache POI的Excel大数据量写入(分为03版的xls、07版的xlsx、升级版SXSSF)

一、结果

我的03跑了1.204秒,07跑了5.173秒,升级版跑了1.96秒,大家的会是多少呢?

二、代码实现

@Testpublic void testWrite03BigData() throws IOException {//记录开始时间long begin = System.currentTimeMillis();//创建一个SXSSFWorkbookWorkbook workbook = new HSSFWorkbook();//创建一个sheetSheet sheet = workbook.createSheet();//xls文件最大支持65536行for (int rowNum = 0; rowNum < 65536; rowNum++) {//创建一个行Row row = sheet.createRow(rowNum);for (int cellNum = 0; cellNum < 10; cellNum++) {//创建单元格Cell cell = row.createCell(cellNum);cell.setCellValue(cellNum);}}System.out.println("done");FileOutputStream out = new FileOutputStream(path + "bigdata03.xls");workbook.write(out);// 操作结束,关闭文件out.close();//记录结束时间long end = System.currentTimeMillis();System.out.println((double) (end - begin) / 1000);}@Testpublic void testWrite07BigData() throws IOException {//记录开始时间long begin = System.currentTimeMillis();//创建一个SXSSFWorkbookWorkbook workbook = new XSSFWorkbook();//创建一个sheetSheet sheet = workbook.createSheet();//xls文件最大支持65536行for (int rowNum = 0; rowNum < 65536; rowNum++) {//创建一个行Row row = sheet.createRow(rowNum);for (int cellNum = 0; cellNum < 10; cellNum++) {//创建单元格Cell cell = row.createCell(cellNum);cell.setCellValue(cellNum);}}System.out.println("done");FileOutputStream out = new FileOutputStream(path + "bigdata07.xlsx");workbook.write(out);// 操作结束,关闭文件out.close();//记录结束时间long end = System.currentTimeMillis();System.out.println((double) (end - begin) / 1000);}@Testpublic void testWrite07BigDataFast() throws IOException {//记录开始时间long begin = System.currentTimeMillis();//创建一个SXSSFWorkbookSXSSFWorkbook workbook = new SXSSFWorkbook();//创建一个sheetSheet sheet = workbook.createSheet();//xls文件最大支持65536行for (int rowNum = 0; rowNum < 100000; rowNum++) {//创建一个行Row row = sheet.createRow(rowNum);for (int cellNum = 0; cellNum < 10; cellNum++) {//创建单元格Cell cell = row.createCell(cellNum);cell.setCellValue(cellNum);}}System.out.println("done");FileOutputStream out = new FileOutputStream(path + "bigdata07-fast.xlsx");workbook.write(out);// 操作结束,关闭文件out.close();//清除临时文件workbook.dispose();//记录结束时间long end = System.currentTimeMillis();System.out.println((double) (end - begin) / 1000);}

Apache POI和EasyExcel 第三集:Apache POI的Excel大数据量写入(分为03版的xls 07版的xlsx 升级版SXSSF)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。