java处理excel-xlsx格式大文件的解决方案
2015-03-30 16:29
357 查看
1、第一次读取7M左右的ecxel文件,使用poi 库实现,参考了下面的博文。
/article/5985443.html
使用上面的方法在 下面WorkbookFactory.create()这里会出现内存溢出的错误,将eclipse的参数调整为-Xmx3072m,仍然会出现这个错误。
java.lang.AbstractMethodError: org.apache.xerces.dom.ElementImpl.getTextContent()Ljava/lang/String的错误。
看来只能找其他方法了。
3、经过一番google,找到了下面这个链接
附录:整个过程中参考的网页链接如下:
java 读取excel 2007 .xlsx文件 poi实现 经测试7M左右文件没有问题
/article/5985443.html
大数据量的excel文件读取——excel2007(含代码及示例) 经测试36M左右文件没有问题,需按照上面所述稍作修改。
http://www.iteye.com/topic/624969
java.lang.AbstractMethodError: org.apache.xerces.dom.ElementImpl.getTextContent()Ljava/lang/String xerces引起此错误的正确原因描述
http://stackoverflow.com/questions/14014989/java-lang-abstractmethoderror-org-apache-xerces-dom-elementimpl-gettextcontent
java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser 不使用xerces.jar的解决办法
https://blogs.oracle.com/mei/entry/java_lang_classnotfoundexception_org_apache
/article/5985443.html
使用上面的方法在 下面WorkbookFactory.create()这里会出现内存溢出的错误,将eclipse的参数调整为-Xmx3072m,仍然会出现这个错误。
fis = new FileInputStream(file); book = WorkbookFactory.create(fis); 应该是因为上面的方法使用的DOM解析模式,使用流式解析大文件,不会出现内存溢出的问题。 2、经过google,找到了下面的帖子: http://www.iteye.com/topic/624969 excel2007文件格式与之前版本不同,之前版本采用的是微软自己的存储格式。07版内容的存储采用XML格式,所以,理所当然的,对大数据量的 xlsx文件的读取采用的也是XML的处理方式SAX。 使用上面的方法,在 XMLReader parser = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
这一句会出现 java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser的错误。 自己下载xerces.jar文件载入后会出现
java.lang.AbstractMethodError: org.apache.xerces.dom.ElementImpl.getTextContent()Ljava/lang/String的错误。
看来只能找其他方法了。
3、经过一番google,找到了下面这个链接
https://blogs.oracle.com/mei/entry/java_lang_classnotfoundexception_org_apache 按照上面的链接中介绍的方法,将生成XMLReader的代码改为下面的方式即可解决问题。
SAXParserFactory m_parserFactory = null; // If unable to create an instance, let's try to use // the XMLReader from JAXP m_parserFactory = SAXParserFactory.newInstance(); m_parserFactory.setNamespaceAware(true); XMLReader parser = m_parserFactory.newSAXParser().getXMLReader();
附录:整个过程中参考的网页链接如下:
java 读取excel 2007 .xlsx文件 poi实现 经测试7M左右文件没有问题
/article/5985443.html
大数据量的excel文件读取——excel2007(含代码及示例) 经测试36M左右文件没有问题,需按照上面所述稍作修改。
http://www.iteye.com/topic/624969
java.lang.AbstractMethodError: org.apache.xerces.dom.ElementImpl.getTextContent()Ljava/lang/String xerces引起此错误的正确原因描述
http://stackoverflow.com/questions/14014989/java-lang-abstractmethoderror-org-apache-xerces-dom-elementimpl-gettextcontent
java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser 不使用xerces.jar的解决办法
https://blogs.oracle.com/mei/entry/java_lang_classnotfoundexception_org_apache
相关文章推荐
- Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)
- Java 实现导出excel表 POI/Java实现不同excel格式(*.xls、*.xlsx)文件的读取
- 使用POI读取xlsx文件,包含对excel中自定义时间格式的处理
- Java实现不同excel格式(*.xls、*.xlsx)文件的读取
- Java解析Excel文件(.xlsx和.xls格式均适用)
- 使用POI读取XLSX文件,包含对EXCEL中自定义时间格式的处理--包含自己解决和修改jeeplus的源码的
- java 从后台下载xlsx格式excel 发现不可读取内容的解决方案
- 基于Java的CSV格式文件处理(excel逗号分隔符文件)
- java 导入Excel 文件,兼容Excel 2003(后缀名:xls)及 2007(后缀名:xlsx)的文件,同时还支持csv格式的文件
- POI使用SAX处理大量数据的xlsx格式的Excel文件
- 用Excel打开csv文件时,如何处理数字内容展现会自动转换格式的问题
- Asp.Net读取excel文件的时候 出错提示:外部表不是预期的格式 解决方案
- java导入Excel包含多张sheet表的.xls .xslx .txt三种后缀格式的文件
- 简介POI处理Excel和Word文件格式
- java处理加密文件---数字证书文件格式(cer和pfx)的区别
- zip4j -- Java处理zip压缩文件的完整解决方案
- 对日志创建处理下载为excel格式的文件续(3) 下载
- 使用POI来处理Excel和Word文件格式(POI的介绍)
- 用poi处理excel文件异常:java.io.IOException: Invalid header signature; read 2338042707334752323
- Java 将数据处理成 PDF 、Excel、Word格式