No valid entries or contents found, this is not a valid OOXML (Office Open XML) file

问题描述:

导出Excel的时候出现的异常,我这个导出是为导入Excel做准备的,也就是用户先下载模板,然后根据模板填写数据再导入Excel。

在这里插入图片描述

在这里插入图片描述

模板当中Excel也是可以正常打开的

在这里插入图片描述

解决过程:

Maven编译过后的target文件夹当中的Excel是否可以正常打开,显然是乱码的。Mave压缩打包,,直接导致 excel 模板文件损坏,所以解决方法就是让 Maven 压缩打包的时候过滤掉 excel 模板文件,保留原始的文件格式。

在这里插入图片描述

首先要想将非Java文件打包到Jar或者war当中就需要在includes当中指定对应的文件位置。

关于Maven的Resource标签的用法:https://blog.csdn.net/weixin_43888891/article/details/122406081

在这里插入图片描述

告诉Maven的编译插件,以xlsx这个结尾的文件不要进行压缩!也就是打包必须打包进去,但是你要将文件保留原样。

在这里插入图片描述
一切都正常了紧接着又报了一个这个异常:You need to call a different part of POI to process this data (eg HSSF instead of XSSF),他让我使用HSSFWorkbook来解析,按正常来说我的模板就是xlsx呀,然后就应该用XSSFWorkbook呀。

  • HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls;
  • XSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx;

在这里插入图片描述
最后找着原因了,新建模板的时候就是用的xls,然后强制给他改为了xlsx。

关于Excel文件名是中文的话可能会乱码的解决方案:

// 服务器告诉浏览器它发送的数据属于什么文件类型,也就是响应数据的MIME类型
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
String newFileName = URLEncoder.encode("各分任务负责人导入模板", "UTF-8").replaceAll("\\+", "%20");
// 当客户端请求的资源是一个可下载的资源(这里的“可下载”是指浏览器会弹出下载框或者下载界面)时,对这个可下载资源的描述(例如下载框中的文件名称)就是来源于该头域。
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + newFileName + ".xlsx");
// 关闭缓存(HTTP/1.1)
response.setHeader("Cache-Control", "no-store");
// 关闭缓存(HTTP/1.0)
response.setHeader("Pragma", "no-cache");
// 缓存有效时间
response.setDateHeader("Expires", 0);
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
"No valid entries or contents found, this is not a valid OOXML (Office Open XML) file" 这个错误是由于文档加密导致的。解决方法有两种。第一种是和领导要密码,以解密文档。第二种是通过在百度搜索word在线解密工具来解决。选择其中一种方法进行操作,就可以解决这个问题。 关于poi-tl,当把Excel文件放到resources目录下时,需要配置打包资源时不过滤。否则,在打包时会将Excel中配置的${变量名}进行转义。具体的pom配置如下: ``` <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <includes> <include>**/*.xlsx</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <excludes> <exclude>**/*.xlsx</exclude> </excludes> </resource> </resources> </build> ``` 通过以上的配置,可以确保在打包时不对Excel文件进行过滤,避免了${变量名}的转义问题。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [No valid entries or contents found, this is not a valid OOXML (Office Open XML) file](https://blog.csdn.net/weixin_45818332/article/details/128410847)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [easypoi 模板导出错误:No valid entries or contents found, this is not a valid OOXML (Office Open XML) ...](https://blog.csdn.net/dubhe_zhao/article/details/122410134)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪 咖@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值