一、结果
我的03跑了1.204秒,07跑了5.173秒,升级版跑了1.96秒,大家的会是多少呢?
二、代码实现
@Test public void testWrite03BigData() throws IOException { //记录开始时间 long begin = System.currentTimeMillis(); //创建一个SXSSFWorkbook Workbook workbook = new HSSFWorkbook(); //创建一个sheet Sheet 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); } @Test public void testWrite07BigData() throws IOException { //记录开始时间 long begin = System.currentTimeMillis(); //创建一个SXSSFWorkbook Workbook workbook = new XSSFWorkbook(); //创建一个sheet Sheet 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); } @Test public void testWrite07BigDataFast() throws IOException { //记录开始时间 long begin = System.currentTimeMillis(); //创建一个SXSSFWorkbook SXSSFWorkbook workbook = new SXSSFWorkbook(); //创建一个sheet Sheet 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); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)