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

参考文献

相关推荐
牛奶5 小时前
系统的弃子与倦怠的灵魂:在液态社会中审视“修正主义”与职场异化
程序员·团队管理·午夜话题
舒一笑10 小时前
如何获取最新的技术趋势和热门技术
人工智能·程序员
文心快码BaiduComate17 小时前
Comate 4.0新年全面焕新!底层重构、七大升级、复杂任务驾驭力跃升
前端·程序员·架构
程序员鱼皮17 小时前
微软竟然出了免费的 AI 应用开发课?!我已经学上了
人工智能·程序员·ai编程
炫饭第一名17 小时前
速通Canvas指北🦮——路径与形状篇
前端·javascript·程序员
aristotle17 小时前
Openclow安装保姆级教程
人工智能·程序员
Lee川18 小时前
从零构建AI对话应用:Vite脚手架搭建与API密钥安全实践
前端·程序员
SimonKing18 小时前
OpenCode AI编程助手如何添加Skills,优化项目!
java·后端·程序员
炫饭第一名1 天前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员