今天在使用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. Leetcode 554.砖墙

    砖墙 你的面前有一堵方形的.由多行砖块组成的砖墙. 这些砖块高度相同但是宽度不同.你现在要画一条自顶向下的.穿过最少砖块的垂线. 砖墙由行的列表表示. 每一行都是一个代表从左至右每块砖的宽度的整数列表 ...

  2. DNS(转载)

    最近帮朋友注册域名配置主机,碰到一些DNS上的一些概念,惭愧于有一些东西已经忘记是啥意思,于是决定重新学习一下DNS方面的基本概念. 常用概念: TTL: TTL为Time to live的缩写,网络 ...

  3. koa2在node6中如何运行

    koa2在node6下运行 { "babel-core": "^6.24.1", "babel-plugin-syntax-async-functio ...

  4. Codeforces 1158C Permutation recovery

    https://codeforces.com/contest/1158/problem/C 题目 已知 $p_1, p_2, \dots, p_n$ 是 $1$ 到 $n$ 的一个排列. 给出关于这个 ...

  5. HDU 4557 非诚勿扰(Treap找后继)

    非诚勿扰 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submi ...

  6. SCU 4438 Censor(哈希+模拟栈)

    Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text \(p\). He ...

  7. 求和为s的连续正数序列

    输入一个正数是s,打印出所有和为s的连续正数序列(至少含有两个数).例如输入15,由于1+2+3+4+5=4+5+6==7+8=15,所有结果打印出3个序列1-5,4-6,7-8. 代码如下: voi ...

  8. react-router 4.0版本学习笔记

    Router 所有路由组件的底层接口,一般情况都不使用,而是使用更加高级的路由. 最常用的有两种<BrowserRouter>.<HashRouter> <Browser ...

  9. live-server 快速搭建静态服务

    作为切图仔呢,平时都是在修改页面样式.展示后台返回的数据.调试js效果,这时候呢就需要搭一个服务器以便我们调试.平时我一般用的都是wamp,在www目录下新建项目然后开始撸代码,不过有时候呢不太方便, ...

  10. HDU [P3849]

    tarjan 求 无向图的割边 (桥) 边 (x,y) 是桥当且仅当, 对于 x 的子节点 y ,low[x] < dfn[y] 对于连向父节点的边要特殊处理 #include <iost ...