今天在使用POI导出数据时,出现如下错误:

ES查询阅读推荐比:
resList:
start:
写入excel
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at org.apache.xmlbeans.impl.store.Saver$TextSaver.resize(Saver.java:)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.preEmit(Saver.java:)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.emit(Saver.java:)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.emitElement(Saver.java:)
at org.apache.xmlbeans.impl.store.Saver.processElement(Saver.java:)
at org.apache.xmlbeans.impl.store.Saver.process(Saver.java:)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.saveToString(Saver.java:)
at org.apache.xmlbeans.impl.store.Cursor._xmlText(Cursor.java:)
at org.apache.xmlbeans.impl.store.Cursor.xmlText(Cursor.java:)
at org.apache.xmlbeans.impl.values.XmlObjectBase.xmlText(XmlObjectBase.java:)
at org.apache.poi.xssf.model.SharedStringsTable.getKey(SharedStringsTable.java:)
at org.apache.poi.xssf.model.SharedStringsTable.addEntry(SharedStringsTable.java:)
at org.apache.poi.xssf.usermodel.XSSFCell.setCellValue(XSSFCell.java:)
at org.apache.poi.xssf.usermodel.XSSFCell.setCellValue(XSSFCell.java:)
at com.mkit.export.util.Write2File.writeTopic2File(Write2File.java:)
at com.mkit.export.util.FindWeMedia.findWeMedia(FindWeMedia.java:)
at com.mkit.export.main.ExportWeMedia.main(ExportWeMedia.java:)

开始我以为是java分配内存不够用,使用命令指定JVM大小后仍然出现错误。

/usr/local/java/jdk1.8.0_121/bin/java -Xmx1024m -Xms512m -jar exWeMedia.jar

最后发现是EXCEL问题:

  Excel2003的最大行是65536行,从Excel2007开始最大行是1048576。

解决办法:

Workbook wb = new SXSSFWorkbook();  (将原来的XSSFWorkbook 改为:SXSSFWorkbook) 
Sheet sheet = wb.createSheet();

如果行数大于了最大值(1048576),那么可以考虑将数据切分成多个sheet来解决问题

EXCEL最大行数问题:org.apache.xmlbeans.impl.store.Saver$TextSaver.resize(Saver.java:1700)的更多相关文章

  1. python读取excel的行数

    基于python3.x下 需要包 from openpyxl import load_workbook 代码如下: from openpyxl import load_workbook wb = lo ...

  2. aused by: org.apache.xmlbeans.SchemaTypeLoaderException: XML-BEANS compiled schema: Incompatible min

    版权声明:转载请注明出处 https://blog.csdn.net/seashouwang/article/details/24025871 6.导入Word2007-docx,Excel-2007 ...

  3. 用VBA计算WPS 表格ET EXCEL中的行数和列数的多重方法

    用VBA计算WPS 表格ET EXCEL中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count Ac ...

  4. VBA取得EXCEL表格中的行数和列数

    VBA取得EXCEL表格中的行数和列数 初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和列数,尤其是行数和列数不确定的情况下.这样可以避免很多的错误,并且可以提高效率.但每次用到的时候到网上 ...

  5. C# 得到EXCEL表格中的有效行数和列数

    每种方法中上面的是Excel的行数,下面的是Excel的列数.方法七:经过加工修改已经可以读出来的是有效数据行 using Excel = Microsoft.Office.Interop.Excel ...

  6. Office EXCEL VBA如何取得EXCEL中的行数和列数

    VBA取得EXCEL表格中的行数和列数 请注意不要使用Columus等关键字作为变量,例如"Columus = ActiveSheet.UsedRange.Columns.Count&quo ...

  7. JAVA使用POI获取Excel的列数与行数

    Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能. 下面这篇文章给大家介 ...

  8. poi excel超出65536行数限制自动扩展Invalid row number (65536) outside allow

    1.xls一个sheet只能装65536行,多余则报错 poi包导出或写入excel超出65536报错: java.lang.IllegalArgumentException: Invalid row ...

  9. 在MFC中怎么获得Excel文档中已经使用了的行数和列数

    _Worksheet ws;Range range; range = ws.GetUsedRange();//获得Worksheet已使用的范围range = range.GetRows();   / ...

随机推荐

  1. Java开发微信公众号(五)---微信开发中如何获取access_token以及缓存access_token

    获取access_token是微信api最重要的一个部分,因为调用其他api很多都需要用到access_token.比如自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等在请求的时候 ...

  2. mysql 连接超时的问题

    项目中用mycat做的分表分库,异步通知系统会连接mycat去查数据库数据,有时会抛异常提示mysql server has gone away.最初以为是mycat的问题,在修改了mycat的配置, ...

  3. imx6 PCIE使能加载ath9k无线网卡

    imx6q配置pcie无线网卡遇到如下问题: imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00 pci_bus 0000:00: root ...

  4. docker (centOS 7) 使用笔记6 - skydns

    skydns被用于kubenets作为DNS服务.本次测试是单独使用skydns作为DNS服务器,且作为loadbalance使用. 前提:需要先安装配置etcd服务 (在前面的文章里,已经安装部署了 ...

  5. 使用 Nginx 过滤网络爬虫

    现在有许多初学者学习网络爬虫,但他们不懂得控制速度,导致服务器资源浪费.通过 Nginx 的简单配置,能过滤一小部分这类爬虫. 方法一:通过 User-Agent 过滤 Nginx 参考配置如下: l ...

  6. Lawnmower(洛谷 CF115B)

    题目看这里 题目大意 简单来讲就是从(1,1)向左或右或下走,经过所有草坪的最短路程 思路: 由于在第一行只能向右走,那么我们就知道,在单数行和双数行分别是向右走和向左走,那么我们在单数行就只需要统计 ...

  7. JS读取/创建本地文件及目录文件夹的方法

    原文链接:http://www.cnblogs.com/ayan/archive/2013/04/22/3036072.html 注:以下操作只在IE下有效! Javascript是网页制作中离不开的 ...

  8. Hibernate的merge与update方法的区别

    今天做了个测试,写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样.实体bean很简单,就id和name两个字段,接下来分别给出以下几种测试情形的控制台日志内容: 1. 数 ...

  9. 在vscode中使用pylint-django插件解决pylint的一些不必要的错误提示【转】

    转自:http://www.cnblogs.com/chaojihexiang/p/6417835.html 微软的vscode编辑器是一个好东西,通过vscode编辑python程序非常的方便.推荐 ...

  10. mysql5.7 mysql库下面的user表没有password字段无法修改密码

    如题所述,mysql5.7  mysql库下面的user表没有password字段无法修改密码, 5.7版本已经不再使用password来作为密码的字段了  而改成了authentication_st ...