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

参考文献

相关推荐
树獭非懒33 分钟前
从N-gram到Transformer:大语言模型架构演进之路
程序员·llm·agent
阿里嘎多学长1 小时前
2026-06-13 GitHub 热点项目精选
开发语言·程序员·github·代码托管
刻意思考2 小时前
AI到底提高了多少效率
程序员
AskHarries3 小时前
模型降级、重试和错误处理策略
程序员
程序员老申6 小时前
外呼突然全挂了,追查 24 分钟后我发现了 etcd 最阴的一颗雷
后端·程序员
Cosolar7 小时前
72小时生死时速:一文读懂引爆Fable模型禁令的越狱技术风暴
人工智能·后端·程序员
刀法如飞8 小时前
《理解道德经》简单版第 3 章:不尚贤,使民不争
面试·程序员·创业
爱勇宝1 天前
如何评价 Claude Fable 5 全球暂停访问?
人工智能·程序员
原装加多宝1 天前
RTMP协议详解(二):块流协议
程序员
硬核子牙1 天前
你管这破玩意叫ChatGPT?
人工智能·chatgpt·程序员