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文件");
}

参考文献

相关推荐
kyriewen1 小时前
AI 改祖传模块后,代码评审总绕不开两个问题
前端·程序员·ai编程
逻辑克7 小时前
iPhone Duo 适配 Drag and Drop 实现方案
ios·程序员
也不知秋7 小时前
从“能回答”到“能干活”:AI Agent真正落地,需要哪些工程能力?
人工智能·程序员
得物技术10 小时前
企业级 MultiAgent 落地:Plan 模式与主子 Agent 协作|得物技术
java·程序员·架构
杨晓龙43611 小时前
OpenMAIC 运行踩坑与经验
程序员
程序员cxuan12 小时前
为啥 Blender 突然火了?
人工智能·后端·程序员
酷酷的逗逗乐1 天前
前端转 Agent 开发 · 第五节:Memory 会话记忆
前端·程序员
2601_962077531 天前
程序员会消失吗?
ai·程序员·职业发展·未来趋势·技术变革
摆烂工程师1 天前
别只拿 GPT-6 Astra 聊天,它真正恐怖的是开始会“干活”了
人工智能·程序员·vibecoding
程序员cxuan1 天前
GPT images 2.5 一手实测,这也太颠了。。。
后端·程序员