1.2K Star 5.7K Fork 2.5K

闲.大赋 / springboot-plus

 / 详情

DictConsoleController 里面 importExcel 导入 报错

Backlog
Opened this issue  
2021-07-13 17:35

原springboot系统中DictController,导出字典Excel报错:

通过上传(MultipartFile file) 文件获取流,然后通过jxsl解析excel文件
相应代码:

InputStream ins = file.getInputStream();
InputStream inputXLS = ins;
XLSReadStatus readStatus = mainReader.read( inputXLS, beans);

报错如下:
org.apache.poi.openxml4j.exceptions.InvalidFormatException: Your InputStream was neither an OLE2 stream, nor an OOXML stream。

如果换成写死路径的文件,用以下的方式获取流则不会出现以上问题
String path = "";
InputStream inputXLS = new BufferedInputStream(new FileInputStream(new File(path)));
XLSReadStatus readStatus = mainReader.read( inputXLS, beans);

查看源码:
Workbook#create 中 FileMagic.valueOf(is)对流进行过处理,解析出来不是OLE2 或者OOXML就会报以上error。

后端获取文件的inputStream流 之前,即文件上传的时候是有对该文件流做过什么处理吗,为啥写死的路径的文件可以导入,通过上传的文件则不能导入。

Comments (2)

tuegum created任务
tuegum set related repository to 闲.大赋/springboot-plus
Expand operation logs

对了,没有对原系统中DictConsoleController.java文件做其他改动

你导入的excel应该采用下载的excel模板,你试试这个

Sign in to comment

Status
Assignees
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
参与者(2)
29 xiandafu 1578913709
Java
1
https://git.oschina.net/xiandafu/springboot-plus.git
git@git.oschina.net:xiandafu/springboot-plus.git
xiandafu
springboot-plus
springboot-plus

Search