网上查了一下,对于这两个版本,有对应的api,稍不注意就会报:

org.apache.poi.poifs.filesystem.OfficeXmlFileException: 
The supplied data appears to be in the Office 2007+ XML. 
You are calling the part of POI that deals with OLE2 Office Documents. 
You need to call a different part of POI to process this data (eg XSSF instead of HSSF)


好在他们都是实现Workbook接口,因此根据网上的资料,总结及解决代码如下:

        //根据不同的版本创建不同的对象Workbook sheets = null;if (WBUtil.isExcel2003(xlsxPath)) {sheets = new HSSFWorkbook(new FileInputStream(xlsxFile));} else {sheets = new XSSFWorkbook(new FileInputStream(xlsxFile));}
public final class WBUtil {// @描述:是否是2003的excel,返回true是2003public static boolean isExcel2003(String filePath) {return filePath.matches("^.+\\.(?i)(xls)$");}//@描述:是否是2007的excel,返回true是2007public static boolean isExcel2007(String filePath) {return filePath.matches("^.+\\.(?i)(xlsx)$");}
}

依赖:

        <!--xlsx解析--><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.0</version></dependency>

Java解析Excel文档,2003和2007版本不兼容问题相关推荐

  1. Java解析word文档,将word文档题库选择题导入

    学习目标: Java解析word文档,将word文档题库导入 学会word文档的解析,以及各种题型的导入 学习内容: 解析word文档 获取正文文件内容 doc和docx两种解析 解析word文档 p ...

  2. ExceL文档2.上传解析Excel文档

    控制层方法: @RequestMapping(value = "/parseEXCEL.do", method = RequestMethod.POST) public Strin ...

  3. JAVA解析html文档,替换img图片路径成base64编码,并将文章存入数据库

    转载自  JAVA解析html文档,替换img图片路径成base64编码,并将文章存入数据库 开发环境:struts2+ spring + hibernate 数据库:oracle 需求:在HTML编 ...

  4. java读取Excel文档 + 存入数据库

    序 在做项目的时候,我们有时想要读取Excel类型的文档,把表格里面的数据进行处理,比如把成绩Excel文档存储到数据库对应的表.而这时却不知道该如何操作,接下来我将讲解这个流程.以下面的数据为例 总 ...

  5. xml教程之java解析xml文档

    1.java解析xml文件介绍 XML解析方式分为两种:DOM方式和SAX方式 DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式. SAX: ...

  6. Java web--利用java操作excel文档

    在web应用程序的开发中,如果需要将Excel文档中的信息导入数据库或将数据库的信息导出到Excel文档中,需要应用程序访问Excel文件.目前,操作Excel文档的java组件主要有Jxl和POI两 ...

  7. java解析各种文档格式_java读取各类型的文件

    用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-dev.jar/lucene ...

  8. java解析pdf文档(前面写了docx的解析所以也思考写一份pdf的解析)--PdfReader底层分析

    一.直接将前篇docx文档转成pdf文档用于测试 二.由于使用pdf文档所以需要引入一个新的依赖 <!--itextpdf是生成PDF文档的一个java类库--> <dependen ...

  9. JAVA:Excel文档转无水印PDF文档

    背景 新年初始,万物复苏,正月未过,给大家拜个晚年了! 一个小功能,分享一下. 准备 首先下载文件 链接: https://pan.baidu.com/s/1xvZYc13QVl1OtvFZ13gyD ...

最新文章

  1. Docker源码分析(十一):镜像存储
  2. 2014年第五届蓝桥杯C/C++ A组国赛 —— 第一题:海盗分金币
  3. 复制单级文件夹【应用】
  4. Android Studio 选项菜单和动画结合_Android 应用与iOS 应用之间的设计差异对比!
  5. Hadoop HIVE 条件控制函数
  6. 领英·影响力2020:职场人再定位,千里马伯乐新论
  7. yolo如何降低loss_YOLO训练中的问题与怀疑
  8. java之split用法注意
  9. 研磨设计模式-设计模式的基础-设计模式的学习【思路】
  10. 数学建模计算机部分知识,数学建模相关论文范文资料,与数学建模与计算机关系相关毕业论文题目范文...
  11. 性能测试入门指南 (慎入: 6000 字长文)
  12. zabbix——告警媒介
  13. 微博立场检测 60分Baseline
  14. (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换
  15. 定格动画android,定格动画安卓版下载-定格动画最新版下载v2.2.2-一听下载站
  16. 红皮书——红色启示录
  17. 三极管工作原理分析!精辟、透彻
  18. 【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)
  19. coda创建虚拟环境后无法切换到原环境
  20. 高效阅读嵌入式源码系列一:静态分析神器understand软件基本操作

热门文章

  1. Android开发实用小技巧九——内嵌WebView的使用(内置浏览器)
  2. ot permission denied while trying to connect to the Docker daemon socket at
  3. G++’s Family
  4. BUUCTF MD5
  5. bboss quartz定时任务使用案例介绍
  6. 二阶系统响应指标图_二阶系统的脉冲响应.ppt
  7. 第六章微型计算机,微型计算机原理及应用 第六章微型计算机的接口技术
  8. flash游戏代码html5,Flash贪吃蛇游戏AS代码翻译
  9. 技术干货 | 基于 MindSpore 实现图像分割之平均表面距离
  10. 苹果搜索广告ASA“保姆级”开户教程来袭!拿来吧你!