“Can‘t open workbook - unsupported file type: XML“

java开发,增删改查,涉及到导入excel时,有的excel导入失败提示"Can't open workbook - unsupported file type: XML"。着急赶工期,告诉客户先把excel另存为xls格式,再重新导入。现在有点空余时间,好好研究了下,解决了这个问题。直接上操作啊.

复制代码
import com.spire.xls.FileFormat;
import org.apache.poi.EmptyFileException;
import org.apache.poi.poifs.filesystem.FileMagic;
复制代码
//获取文件输入流
InputStream checkis = FileMagic.prepareToCheckMagic(file.getInputStream());
byte[] emptyFileCheck = new byte[1];
checkis.mark(emptyFileCheck.length);
if (checkis.read(emptyFileCheck) < emptyFileCheck.length) {
    throw new EmptyFileException();
} else {
    checkis.reset();
    FileMagic fm = FileMagic.valueOf(checkis);
   //开始判断文件是不是xml格式
    if (FileMagic.XML == fm) {
        com.spire.xls.Workbook workbook=new com.spire.xls.Workbook();
        workbook.loadFromXml(file.getInputStream());
        workbook.saveToFile(fileName, FileFormat.Version2013);
       //接下来开始处理导入excel文件
        ****
    }
}

参考了 poi读取excel报错Your InputStream was neither an OLE2 stream, nor an OOXML stream-CSDN博客

相关推荐
indexsunny1 小时前
互联网大厂Java求职面试实战:Spring Boot微服务与Redis缓存场景解析
java·spring boot·redis·缓存·微服务·消息队列·电商
无心水1 小时前
【分布式利器:腾讯TSF】7、TSF高级部署策略全解析:蓝绿/灰度发布落地+Jenkins CI/CD集成(Java微服务实战)
java·人工智能·分布式·ci/cd·微服务·jenkins·腾讯tsf
28岁青春痘老男孩6 小时前
JDK8+SpringBoot2.x 升级 JDK 17 + Spring Boot 3.x
java·spring boot
方璧7 小时前
限流的算法
java·开发语言
元Y亨H7 小时前
Nacos - 服务注册
java·微服务
曲莫终7 小时前
Java VarHandle全面详解:从入门到精通
java·开发语言
一心赚狗粮的宇叔7 小时前
中级软件开发工程师2025年度总结
java·大数据·oracle·c#
奋进的芋圆7 小时前
DataSyncManager 详解与 Spring Boot 迁移指南
java·spring boot·后端
计算机程序设计小李同学8 小时前
个人数据管理系统
java·vue.js·spring boot·后端·web安全
小途软件8 小时前
用于机器人电池电量预测的Sarsa强化学习混合集成方法
java·人工智能·pytorch·python·深度学习·语言模型