Java解析Excel文档,2003和2007版本不兼容问题
网上查了一下,对于这两个版本,有对应的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版本不兼容问题相关推荐
- Java解析word文档,将word文档题库选择题导入
学习目标: Java解析word文档,将word文档题库导入 学会word文档的解析,以及各种题型的导入 学习内容: 解析word文档 获取正文文件内容 doc和docx两种解析 解析word文档 p ...
- ExceL文档2.上传解析Excel文档
控制层方法: @RequestMapping(value = "/parseEXCEL.do", method = RequestMethod.POST) public Strin ...
- JAVA解析html文档,替换img图片路径成base64编码,并将文章存入数据库
转载自 JAVA解析html文档,替换img图片路径成base64编码,并将文章存入数据库 开发环境:struts2+ spring + hibernate 数据库:oracle 需求:在HTML编 ...
- java读取Excel文档 + 存入数据库
序 在做项目的时候,我们有时想要读取Excel类型的文档,把表格里面的数据进行处理,比如把成绩Excel文档存储到数据库对应的表.而这时却不知道该如何操作,接下来我将讲解这个流程.以下面的数据为例 总 ...
- xml教程之java解析xml文档
1.java解析xml文件介绍 XML解析方式分为两种:DOM方式和SAX方式 DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式. SAX: ...
- Java web--利用java操作excel文档
在web应用程序的开发中,如果需要将Excel文档中的信息导入数据库或将数据库的信息导出到Excel文档中,需要应用程序访问Excel文件.目前,操作Excel文档的java组件主要有Jxl和POI两 ...
- java解析各种文档格式_java读取各类型的文件
用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-dev.jar/lucene ...
- java解析pdf文档(前面写了docx的解析所以也思考写一份pdf的解析)--PdfReader底层分析
一.直接将前篇docx文档转成pdf文档用于测试 二.由于使用pdf文档所以需要引入一个新的依赖 <!--itextpdf是生成PDF文档的一个java类库--> <dependen ...
- JAVA:Excel文档转无水印PDF文档
背景 新年初始,万物复苏,正月未过,给大家拜个晚年了! 一个小功能,分享一下. 准备 首先下载文件 链接: https://pan.baidu.com/s/1xvZYc13QVl1OtvFZ13gyD ...
最新文章
- Docker源码分析(十一):镜像存储
- 2014年第五届蓝桥杯C/C++ A组国赛 —— 第一题:海盗分金币
- 复制单级文件夹【应用】
- Android Studio 选项菜单和动画结合_Android 应用与iOS 应用之间的设计差异对比!
- Hadoop HIVE 条件控制函数
- 领英·影响力2020:职场人再定位,千里马伯乐新论
- yolo如何降低loss_YOLO训练中的问题与怀疑
- java之split用法注意
- 研磨设计模式-设计模式的基础-设计模式的学习【思路】
- 数学建模计算机部分知识,数学建模相关论文范文资料,与数学建模与计算机关系相关毕业论文题目范文...
- 性能测试入门指南 (慎入: 6000 字长文)
- zabbix——告警媒介
- 微博立场检测 60分Baseline
- (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换
- 定格动画android,定格动画安卓版下载-定格动画最新版下载v2.2.2-一听下载站
- 红皮书——红色启示录
- 三极管工作原理分析!精辟、透彻
- 【数据库】python连接数据库(保姆式服务,一口一口喂啊歪)
- coda创建虚拟环境后无法切换到原环境
- 高效阅读嵌入式源码系列一:静态分析神器understand软件基本操作
热门文章
- Android开发实用小技巧九——内嵌WebView的使用(内置浏览器)
- ot permission denied while trying to connect to the Docker daemon socket at
- G++’s Family
- BUUCTF MD5
- bboss quartz定时任务使用案例介绍
- 二阶系统响应指标图_二阶系统的脉冲响应.ppt
- 第六章微型计算机,微型计算机原理及应用 第六章微型计算机的接口技术
- flash游戏代码html5,Flash贪吃蛇游戏AS代码翻译
- 技术干货 | 基于 MindSpore 实现图像分割之平均表面距离
- 苹果搜索广告ASA“保姆级”开户教程来袭!拿来吧你!