“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博客

相关推荐
m0_635647482 分钟前
Qt开发与MySQL数据库教程(二)——MySQL常用命令以及示例
java·开发语言·数据库·mysql
⑩-12 分钟前
@Vaild
java·javaee
Han.miracle16 分钟前
Spring Boot 后端分层开发实战:从 MVC 到三层架构详解
java
invicinble23 分钟前
it系统全链路思考
java
steel808824 分钟前
SSM与Springboot是什么关系? -----区别与联系
java·spring boot·后端
白云如幻26 分钟前
【JDBC】集合、反射和泛型复习
java·开发语言
数据中穿行27 分钟前
Java编译与类加载错误全指南
java
未秃头的程序猿34 分钟前
深入浅出MySQL事务:从ACID到Spring失效场景,2026最新实战指南
java·后端
程序员Terry37 分钟前
还在用 if-else 做兼容?三分钟学会适配器模式,让你的代码更优雅
java·设计模式
佩奇大王41 分钟前
P2118 排列字母
java·开发语言·算法