java apache.poi_Java Apache POI

我正在努力从excel文档中读取数据,该文档每两周更新一次,大约有50,000行数据,在开始新工作表之前可能会达到大约120,000.我正在使用Apache POI来获取数据.我在下面得到了这个例外,但我认为最重要的一个例外是

引起:

java.lang.OutOfMemoryError:

Java堆空间.我已经在不同的excel表上测试了我的代码,数据量更少,并且能够读取数据.

如果您对如何阅读大型Excel文档有任何方法或建议,请分享.

org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException

at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)

at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:456)

at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:461)

at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:461)

at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:461)

at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:162)

at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:271)

at excelreader.readExcelFile(excelreader.java:28)

at excelreader.main(excelreader.java:18)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)

Caused by: java.lang.reflect.InvocationTargetException

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:422)

at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)

... 13 more

Caused by: java.lang.OutOfMemoryError: Java heap space

at org.apache.xmlbeans.impl.store.Cur.createElementXobj(Cur.java:260)

at org.apache.xmlbeans.impl.store.Cur$CurLoadContext.startElement(Cur.java:2995)

at org.apache.xmlbeans.impl.store.Locale$SaxHandler.startElement(Locale.java:3207)

at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.reportStartTag(Piccolo.java:1082)

at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseAttributesNS(PiccoloLexer.java:1822)

at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseOpenTagNS(PiccoloLexer.java:1521)

at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.parseTagNS(PiccoloLexer.java:1362)

at org.apache.xmlbeans.impl.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:4678)

at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yylex(Piccolo.java:1290)

at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.yyparse(Piccolo.java:1400)

at org.apache.xmlbeans.impl.piccolo.xml.Piccolo.parse(Piccolo.java:714)

at org.apache.xmlbeans.impl.store.Locale$SaxLoader.load(Locale.java:3454)

at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1276)

at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1263)

at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345)

at org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotCacheRecords$Factory.parse(Unknown Source)

at org.apache.poi.xssf.usermodel.XSSFPivotCacheRecords.readFrom(XSSFPivotCacheRecords.java:62)

at org.apache.poi.xssf.usermodel.XSSFPivotCacheRecords.(XSSFPivotCacheRecords.java:53)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:422)

at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)

at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:456)

at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:461)

at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:461)

at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:461)

at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:162)

at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:271)

at excelreader.readExcelFile(excelreader.java:28)

at excelreader.main(excelreader.java:18)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值