https://www.cnblogs.com/scw2901/p/4378424.html

1、第一次读取7M左右的ecxel文件,使用poi 库实现,参考了下面的博文。

http://www.cnblogs.com/chenfool/p/3632642.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的代码改为下面的方式即可解决问题。
1 SAXParserFactory m_parserFactory = null;
2 // If unable to create an instance, let's try to use
3 // the XMLReader from JAXP
4 m_parserFactory = SAXParserFactory.newInstance();
5 m_parserFactory.setNamespaceAware(true);
6
7 XMLReader parser = m_parserFactory.newSAXParser().getXMLReader();

附录:整个过程中参考的网页链接如下:

java 读取excel 2007 .xlsx文件 poi实现 经测试7M左右文件没有问题

http://www.cnblogs.com/chenfool/p/3632642.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处理excel-xlsx格式大文件的解决方案相关推荐

  1. java代码将csv格式的文件导入数据库

    java代码将csv格式的文件导入数据库 最近接到了一个需求,将csv文件的内容通过java进行入库操作,在此记录一下整个完整的代码 主要逻辑 读取csv的每一个数据,对数据对应的对象赋值,将对象放入 ...

  2. Android之PC浏览器上传表单格式大文件到手机客户端read函数阻塞问题

    1 .问题 PC浏览器上传表单格式大文件到手机服务器端,然后read文件真实数据时候出现阻塞. 比如 User-Agent: PostmanRuntime/7.26.1Accept: */*Cache ...

  3. android 阻塞式函数,Android之PC浏览器上传表单格式大文件到手机客户端read函数阻塞问题...

    1 .问题 PC浏览器上传表单格式大文件到手机服务器端,然后read文件真实数据时候出现阻塞. 比如 User-Agent: PostmanRuntime/7.26.1 Accept: */* Cac ...

  4. java 导入excel 日期格式转换

    java 导入excel 日期格式转换 导入日期格式后 获取到的value值为 数值或小数值 直接上硬货 cell = row.getCell(4);String go_time = getCellV ...

  5. excel xml mysql数据库,数据库文本文档excel表格-excel xml格式的文件 导入到 MYSQL 数据库的语句...

    教你怎样将Word表格导入到Excel中 方法如下: 1.首先,打开媒介工具"记事本",将word文件里需要导入的数据,复制粘贴到记事本当中,然后保存成为txt文件,本例中将txt ...

  6. pd.read_excel出现xlrd.biffh.XLRDError: Excel xlsx file; not supported解决方案

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.喜 ...

  7. 大文件传输解决方案:分片上传 / 下载限速

    前言 不少项目中会遇到上传下载视频.更新包.应用程序等文件,此类文件的共同点就是十分巨大,我在项目中遇到过 4G 左右的文件同时 100 多台机器下载,此时如果用 post 上传和下载想一下都不可能, ...

  8. java读取doc、docx、ppt、pptx、xls、xlsx格式的文件

    前言: 通常我们用apache 的POI库对以上文档进行操作,apache POI官网 apache POI官网 这里推荐到官网下载导入到项目,maven下载的它会缺少几个包. 格式上后缀带x(doc ...

  9. openpyxl对excel,.xlsx格式的文件进行操作

    获取.xlsx格式文件的数据 1.加载数据表,获取excel表中一个sheet表的数据 wb=openpyxl.load_workbook(self.filename) sheet_obj=wb[se ...

  10. go读取Excel(xlsx格式)文件

    主要使用 "baliance.com/gooxml" 中的 spreadsheet 包 原理:windows下xlsx格式文件实际上是一个压缩包,打开后可以看到具体的格式 上代码: ...

最新文章

  1. Bitcoin推特遭到清洗!发生了什么?
  2. .net微软消息队列(msmq)简单案例
  3. Zookeeper 安装和配置---学习二
  4. Oracle并行事务回滚相关参数及视图
  5. python 菜单调用_python---权限管理和菜单生成
  6. 内存管理--分发您的程序存储器
  7. win10安装wsl2和图形化界面
  8. matlab prn文件,PRN文件扩展名 - 什么是.prn以及如何打开? - ReviverSoft
  9. 使用Eclipse Babel语言包汉化eclipse
  10. 服务器性能与功率,服务器电源功率并非越大越好
  11. 十八、D触发器介绍:
  12. java: 程序包com.zyt.hm.VO不存在
  13. 服务器开虚拟机总是gpu满载,vSphere 环境机器学习 GPU 加速方案选型
  14. yolov5 训练时报错踩坑(不定时更新)
  15. JavaWeb_07_Ajax
  16. Skywalking光会用可不行,必须的源码分析分析 - Skywalking Agent 插件解析
  17. Android工程师进阶之路 Android开发进阶 从小工到专家 上市啦
  18. 【Ubuntu】安装Adobe Acrobat
  19. 西方哲学史 -- 毕达哥拉斯
  20. 化学空间对接概念性验证 | Chemical Space Docking

热门文章

  1. mac实用小技巧分享之使Mac快速锁屏与睡眠
  2. EDIUS插件如何安装?
  3. k8s学习:部署 PHP + Redis 留言薄
  4. JVM运行机制理解整理
  5. HDU 4009 不定根最小树形图
  6. spring系统学习:day4--Spring工厂
  7. 你知道地球上还剩多少石油吗?
  8. 输入url后的加载过程
  9. [BI项目记]-搭建代码管理环境之创建团队项目
  10. HashTable VS Dictionary