Excel 后缀竟成 “拦路虎”?POI 读取报错原因大揭秘

POI读取excel报错

由于有时候上传的是xls文件有时候上传的是xlsx文件,使用POIFSFileSystem来读取文件

java 复制代码
POIFSFileSystem poifsFileSystem;
try {
    poifsFileSystem = new POIFSFileSystem(new FileInputStream(file));
} catch (IOException e) {
    LOGGER.error("open xls file failure", e);
    throw new BusinessException(1, "打不开xls文件");
}

经常会遇到

vbnet 复制代码
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)

解决方法:

使用WorkbookFactory来读取excel文件

java 复制代码
Workbook workbook;
try {
    workbook = WorkbookFactory.create(new FileInputStream(file));
} catch (IOException e) {
    LOGGER.error("open xls file failure", e);
    throw new BusinessException(1, "打不开xls文件");
}

参考文献

相关推荐
河北小田10 小时前
AI 写公众号的坑有多少
程序员
京东云开发者13 小时前
深入理解分布式锁:原理、应用与挑战
程序员
京东云开发者13 小时前
前端调试实践
程序员
河北小田14 小时前
微信公众号如何快速进入流量池
程序员
货拉拉技术17 小时前
货拉拉基于“声明式”的埋点方案实践
ios·程序员
Goboy19 小时前
女朋友问我大模型参数究竟是个什么东西?
后端·程序员·架构
古柳_Deserts_X1 天前
Manus官方发布视频的1小时后就开始陆续有人注册了相关网站域名!原因就在于「新词新站」这4个字
前端·程序员·创业
NineData1 天前
NineData 社区版正式上线,支持一键本地化部署!
数据库·程序员
blasit1 天前
keil 5 MDK 安装失败提示Cannot create destination file."文件名、目录名或卷标语法不正确"
运维·程序员·如何当个好爸爸