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

参考文献

相关推荐
后端小肥肠1 小时前
从失业到出书:我一个人靠 AI 搭起了一家小公司
程序员·创业
程序员cxuan1 小时前
Claude Code :如何最大化你的 Session 价值
人工智能·后端·程序员
intQ73 小时前
个人博客搭建过程
程序员·ai编程
前端fighter4 小时前
线上崩溃?使用 TRAE Work 5分钟把混淆日志翻译成人话并输出复盘报告
前端·vue.js·程序员
两万五千个小时5 小时前
DeepSeek Harness 从 0 开始:08 Compaction 模块(上下文压缩)
人工智能·程序员·架构
得物技术5 小时前
EP-Harness:从个人 AI Coding 到团队级 Agent 工作流|得物技术
后端·程序员·架构
江华森9 小时前
从 fork 到协程:一次完整的操作系统并发编程实操
前端·程序员
AskHarries1 天前
一个页面如何布局关键词
程序员
面包龙1 天前
什么是 AI?从人工智能、机器学习到大语言模型和 Agent
人工智能·程序员·全栈
明月沟渠照不进1 天前
我让 TRAE Work 给自己造了个"填表技能",工时日报从此只说一句人话
程序员