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

参考文献

相关推荐
AskHarries19 分钟前
用 OpenClaw 做网页调研:搜索、打开网页、提取信息和生成报告
程序员
达达尼昂1 小时前
编码智能体中的模型选择与执行深度
人工智能·后端·程序员
程序员cxuan2 小时前
Cursor 掀桌子了,Grok 4.5 这次要上天了?
人工智能·后端·程序员
碎_浪15 小时前
给键盘党的英语记忆工具:我做了一款「打字背单词」桌面应用
前端·程序员·ai编程
烬羽17 小时前
还在手动拼路径、写回调地狱?一文吃透 Node.js 的 path 和 fs
javascript·程序员·node.js
天赐印记18 小时前
从 Hexo 到前后端,再到现在这个「不用伺候服务器」的个人站
人工智能·程序员
她的男孩19 小时前
当 Spring Boot 遇上 Flowable 7:Forge 框架企业级工作流引擎架构全解析
人工智能·后端·程序员
AskHarries1 天前
用 OpenClaw 做播客 / 访谈稿:提纲、问题、转写和摘要
程序员
程序员cxuan1 天前
GPT-5.6 官宣解禁,明天全量发布!
人工智能·后端·程序员
爱勇宝1 天前
第 3 章:别把团队设计成一场内卷竞赛
前端·后端·程序员