.xls文件只支持6w+的数据写入

.xlsx文件只支持104w+数据的写入

在java中jxl工具类只能操作.xls的文件,不能操作.xlsx的文件

POI工具类能够支持.xlsx的文件操作。

excel的数据读写都相应的简单,网上也有很多的代码,我这里要说的是怎么样写入100w+的数据到Excel中。

在POI中,XSSFWorkbook  wb = new XSSFWorkbook ();创建的工作簿能够写入大量的数据,但很大的可能下会虚拟机内存不够而报错

在这种情况下有两种解决方案:

1.重新分配java 虚拟机内存(我没有试验)

2.POI中还提供了SXSSFWorkbook swb=new SXSSFWorkbook(wb,10000);代码的创建工作,第一个参数是XSSFWorkbook  wb = new XSSFWorkbook ();第二个参数是内存中处理的数据行数,当数据量超过你所设置的数量,会把多的数据保存到磁盘上。

这里提供一个简单写入excel文件的代码段:

public static void createWorkBook(List<Entity> dataList,String filename) throws IOException { System.out.println("数据数量=="+dataList.size());//创建excel工作簿 XSSFWorkbook  wb = new XSSFWorkbook (); SXSSFWorkbook swb=new SXSSFWorkbook(wb,10000);//swb.createSheet()//创建第一个sheet(页),命名为 new sheet SXSSFSheet sheet = null;sheet = (SXSSFSheet) swb.createSheet("myData");//Row 行 //Cell 方格 // Row 和 Cell 都是从0开始计数的 for(int i=0;i<dataList.size();i++){Entity en=dataList.get(i);// 创建一行,在页sheet上 Row row = sheet.createRow(i); // 在row行上创建一个方格 /*org.apache.poi.ss.usermodel.Cell cell =  row.createCell(0); //设置方格的显示 cell.setCellValue(1); *///System.out.println(en.getPkg_name());//row.createCell(0).setCellValue("xx");row.createCell(0).setCellValue(en.getDate()); // Or do it on one line. row.createCell(1).setCellValue(en.getxxx()); row.createCell(2).setCellValue(en.getxxx()()); row.createCell(3).setCellValue(en.getxxx()());         row.createCell(4).setCellValue(en.getxxx()()); ......}//创建一个文件 命名为workbook.xls FileOutputStream fileOut = new FileOutputStream(filename); // 把上面创建的工作簿输出到文件中 swb.write(fileOut); //关闭输出流 fileOut.close(); System.out.println("写入完成----");}

  

转载于:https://www.cnblogs.com/owner/p/4194276.html

java POI 写入百万数据到 excel相关推荐

  1. poi导出excel写入公式_【java poi 写入Excel后读取公式值问题】poi导入excel

    java poi 写入Excel后读取公式值问题 不用改公式,只需要用cell.getNumericCellValue()获取,读出来就是正确的值了,如果你读出来的还有问题,说明你其他的地方写的还有问 ...

  2. Java操作百万数据量Excel导入导出工具类(程序代码教程)

    Java操作百万数据量Excel导入导出工具类(程序代码教程): # 功能实现1.自定义导入数据格式,支持配置时间.小数点类型(支持单/多sheet)(2种方式:本地文件路径导入(只支持xls.xls ...

  3. 使用poi导出大量数据到excel遇到的问题

    最近在工作遇到利用poi导出大量数据到excel并提供下载的运用场景,并遇到了一个问题,当数据量过大时(几十万),后台在进行数据写入excel中的过程会非常耗时,导致迟迟没有响应前台,结果数据还没导完 ...

  4. java 导出excel教程,[Java教程]导出大量数据到Excel的一种方式

    [Java教程]导出大量数据到Excel的一种方式 0 2012-07-09 17:00:11 在Java Web开发中,经常需要导出大量的数据到Excel,使用POI.JXL直接生成Excel,很容 ...

  5. mysql百万数据写入_快速写入百万数据

    1.快速写入百万数据 mysql原生操作 mysql原生操作写入500万数据! # 建库 create database mydb01; # 使用库 use mydb01; # 建表 create t ...

  6. java poi 添加列数据_java使用POI将数据导出放入Excel

    本文主要是将数据库取出的数据按照自定义的行列格式导出到excel中,POI则是实现我们需求所用到的技术. POI介绍 使用spring boot导入相关依赖 获取数据(自行处理) 完整代码实例:创建e ...

  7. java poi写入excel_Java使用POI读取和写入Excel指南

    做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0 ...

  8. POI导出百万数据 EXCEL addMergedReigon 合并单元格慢的问题解决

    本文最重要的就是以下重写的方法,如果你仅仅是感觉导出慢,原因又是因为合并单元格,那么你直接用一下方法合并就好. private static void addMergedReigon(CTWorksh ...

  9. POI读写超大数据量Excel,解决超过几万行而导致内存溢出的问题(附源码)

    来源:cnblogs.com/swordfall/p/8298386.html 1. Excel2003与Excel2007 两个版本的最大行数和列数不同,2003版最大行数是65536行,最大列数是 ...

最新文章

  1. 计算机网页基础课专业,关于《计算机应用基础》课程网页下的学习资源使用说明....
  2. 已知两点的经度和纬度,计算两点间的距离(php,javascript)
  3. 又一次生产 CPU 高负载排查实践
  4. 2引擎帮助文档_【虚幻4】初学者系列教程-《基础入门》#2-学习虚幻4的15个途径...
  5. 冷静对待你遇到的所有Java内存异常
  6. Linux共享文件夹中毒,linux服务器中毒利用Find查找病毒例子
  7. 【OJ】洛谷排序题单题解锦集
  8. C语言基础教程之可变的参数
  9. centos6.5最小化安装
  10. innerHTML 插入 script 脚本正确执行的处理方式
  11. NVIDIA显卡怎么更新驱动
  12. 上传漏洞靶场:upload-labs 8-13关
  13. 58私信怎么引流?58同城如何引流到微信?怎么用58同城做引流
  14. 增设区域分销商:APC渠道变革拒绝“扁平化”
  15. Qt编写可视化大屏电子看板系统3-新建布局
  16. matlab 求矢量夹角_MATLAB:如何画南开大学校徽?
  17. 如何设计神经网络结构图,神经网络设计与实现
  18. choice数据库的使用(一):如何下载数据
  19. 掌上快递 APP 项目之概述篇
  20. 提取惠普ZBook 15 G2笔记本电脑内建显示器的EDID并修改注入Clover完美驱动内屏实现内外双屏显示

热门文章

  1. 百分比单位始终根据父元素相应值来计算_CSS Viewport 单位,很多人还不知道使用它来快速布局!...
  2. 【技术解决方案】RTP_UDP传输过程中数据丢失的解决方案
  3. php 字符串 字典序序排序,C++ 怎么实现字典序排序法,自然排序
  4. mysql 三种工作模式_mybatis三种批量插入方式对比【面试+工作】
  5. 代码内查找函数引用_叮~~二级操作题 excel常考函数大梳理
  6. android 冰箱 活动,Android活动的使用
  7. java顺序栈和链栈_Java的顺序栈和链式栈
  8. 使用php吧excel数据存到数据库,php如何存excel数据到数据库
  9. 选购工业交换机时,工业交换机的IP等级多少比较合适?
  10. 【渝粤题库】陕西师范大学700011 新课程改革与生物教材研究