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

参考文献

相关推荐
野生的码农4 小时前
如何知道同事的工资?
程序员
你的人类朋友7 小时前
🔒什么是HMAC
后端·安全·程序员
AI大模型8 小时前
RAG 真的不聪明?其实它只是缺了这一步……
程序员·llm·agent
大模型教程8 小时前
普通人如何借助 Agentic RAG 打造全智能化电商客服与客户沟通体系
程序员·llm·agent
垚垚领先11 小时前
Linux中断子系统(一)-中断控制器及驱动分析
程序员
垚垚领先11 小时前
Linux中断子系统(三)-softirq和tasklet
程序员
Alan5215911 小时前
🚀 阿里云 ECS + MySQL 环境搭建全流程(用于个人博客系统开发)
数据库·程序员
垚垚领先11 小时前
Linux中断子系统(四)-Workqueue
程序员
京东云开发者11 小时前
【前沿技术探索与应用赛道】借助京东AI言犀提升Kubernetes集群巡检的效率和准确性
程序员
文心快码BaiduComate11 小时前
“一人即团队”——一句话驱动智能体团队
前端·后端·程序员