poi解析Excel文件版本问题

poi解析Excel文件时有两种格式: 
HSSFWorkbook格式用来解析Excel2003(xls)的文件 
XSSFWorkbook格式用来解析Excel2007(xlsx)的文件 
如果用HSSFWorkbook解析Excel2007(xlsx)时就会报异常:“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)”

因为HSSFWorkbook和XSSFWorkbook都实现了Workbook接口,所以我们可以用Workbook来解析两个版本的Excel。 
代码如下:

复制代码
 1 try{
 2     //将文件的输入流转换成Workbook
 3     Workbook wb = WorkbookFactory.create(numFile.getInputStream());
 4     //获得第一个工作表
 5     Sheet sheet = wb.getSheetAt(0);
 6     //获得第一行
 7     Row row = sheet.getRow(0);
 8     //获得第一行的第一列
 9     Cell cell = row.getCell(0);
10 }catch (Exception e){
11     e.printStackTrace();
12 }
复制代码

 

posted @   YangJavaer  阅读(1850)  评论(0编辑  收藏  举报
编辑推荐:
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
阅读排行:
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!
点击右上角即可分享
微信分享提示