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

2023-10-27

问题描述:

导出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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

No valid entries or contents found, this is not a valid OOXML (Office Open XML) file 的相关文章

  • XSLT - 追加同级

    我正在尝试使用 XSLT 来附加context param作为最后一个兄弟姐妹 没有共同的父元素 因此任务有点困难 我想附加以下元素
  • 复制一张工作表上的静态范围,然后根据单元格中的单个值粘贴到另一张工作表中的动态范围

    我对这个问题分为三个部分 我在 Sheet1 A1 中有一个带有周数的单元格 我在 Sheet1 B1 F1 中有一个需要复制的静态范围 然后 我需要将该值粘贴到 Sheet2 中的动态范围中 偏移量为行的周数 这是我正在为我经常使用的工作
  • 使用 Apache POI Excel 写入特定单元格位置

    如果我有一个未排序的参数 x y z 列表 是否有一种简单的方法将它们写入使用 POI 创建的 Excel 文档中的特定单元格 就好像前两个参数是 X 和Y 坐标 例如 我有如下行 10 4 100 是否可以在第 10 行第 4 列的单元格
  • 在Google电子表格中划分整列

    我是 Google 电子表格的一个相对较新的用户 我希望 B 列中的每个单元格都是 A 列 同一行 中内容除以 5 的结果 B1 B2 B3 等 商 应为 A1 A2 A3 等 被除数 除以 5 除数 在示例中 B1 A1 5 我知道一项一
  • 将 transaction.commit_manually() 升级到 Django > 1.6

    我继承了为 Django 1 4 编写的应用程序的一些代码 我们需要更新代码库以使用 Django 1 7 并最终更新到 1 8 作为下一个长期支持版本 在一些地方它使用旧风格 transaction commit manually and
  • 读取R中打开的Excel文件

    有没有办法将打开的Excel文件读入R 当Excel中打开一个excel文件时 Excel会对文件加锁 比如R中的read方法无法访问该文件 你能绕过这个锁吗 Thanks 编辑 这发生在带有原始 Excel 的 Windows 下 发生错
  • 使用 MID、LEN 和 FIND 函数提取单元格文本的某些部分?

    我有一份 Excel 作业 但我陷入了最后部分 我被要求使用 MID LEN 和 FIND 来提取单元格内的特定字符串 我非常了解每个人的工作方式 将这三者结合起来并让它们发挥作用是我遇到的问题 我需要将城市与地址的其余部分分开 然后将其显
  • 将html表格保存到excel中[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须编写一个程序 定期读取网页并将
  • 使用 Jackson 使用不带注释的属性来序列化 xml

    我目前正在使用 Jackson 编写一些代码 将遗留 POJO 序列化为 XML 但我需要使用属性而不是子元素来序列化它们 有没有办法使用 Jackson 来做到这一点 而不需要向遗留类添加注释 有没有办法使用 Jackson 来做到这一点
  • 使用 XML 和 C# 创建 Word 文档

    我已经为报告创建了一个 xml 模板 用户应该能够通过我用 C 创建的程序添加信息以根据自己的需要个性化此报告 如何根据用户输入文本框的内容编辑实体的内容 然后将其显示在 Word 上 网上有大量有关使用 XML 和 C 创建 Word 文
  • xsd 类型的 JAXB(取消)编组:xsd:base64Binary 和 xsd:hexBinary

    JAXB 映射两者xsd base64Binary and xsd hexBinary类型为byte 鉴于我有一个模式 一个 DOM 元素来表示这些类型 例如
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • 如何使用C#在asp.net中下载xml文件

    我正在使用网络应用程序ASP NET 与 MVC3 我是 mvc3 的新手 我的网页上有一个下载按钮 当我要单击下载按钮时 我希望能够打开该 XML 文件 我尝试过一些代码更改动作结果但我没有打开文件 通过使用下面提到的代码 我收到一个下载
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 自定义 XML 文件比较

    我看过很多关于 XML 比较的帖子 但我看过的没有一个能解决我的问题 我们有一些 XML 格式的文本文档 产品描述 带有标题和段落 正在更新 即版本化 我的任务是制作变更摘要 也就是说 我们想要获取两个连续的文件并生成第三个 标题结构 大纲
  • 如果总和为 0,则查找并删除带标题的最后一列

    我想创建一个宏 查找带有标题的最后一列 并仅当该列的总和等于零时才将其删除 到目前为止 这是我尝试过的 Dim LastCol As Long Dim i As Long With ThisWorkbook Sheets Sheet1 Fo
  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • 计算 XML 中特定 XML 节点的数量

    请参阅此 XML
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn

随机推荐

  • 网络安全高级工具软件100套(上)

    1 Nessus 最好的UNIX漏洞扫描工具 Nessus 是最好的免费网络漏洞扫描器 它可以运行于几乎所有的UNIX平台之上 它不止永久升级 还免费提供多达11000种插件 但需要注册并接受EULA acceptance 终端用户授权协议
  • TCP连接全过程

    三次握手 状态的含义 CLOSED 没有任何连接状态 LISTEN 侦听来自远方的TCP端口的连接请求 SYN SENT 再发送连接请求后等待匹配的连接请求 客户端 SYN RCVD 再收到和发送一个连接请求后等待对方对连接请求的确认 服务
  • 若依前后端分离版-服务端过滤器对POST请求参数解密(针对指定接口)+添加请求头

    一 过滤器中对指定接口进行加密 去除指定接口验证的话 将会是对所有接口请求参数进行解密 1 找到项目中的过滤器 RepeatableFilter 过滤器中的RepeatedlyRequestWrapper对POST请求参数数据允许可重复读取
  • spring-retry实现方法请求重试

    目录 1 spring retry是什么 2 使用步骤 2 1 引入maven库 2 2 在spring启动类上开启重试功能 2 2 公共业务代码 2 3 传统的重试做法 2 4 使用spring retry的命令式编码 2 4 1 定义重
  • 人工智能如何发展传统软件开发

    对于任何熟悉我的人来说 你很可能会意识到我对成年人的乐高有一种不健康的痴迷 无论您是遵循预设说明还是花时间计划和创建真正独特的东西 使用小构建块创建更大的东西都会让人非常满意 虽然我个人不喜欢 Play Doh 但我确实认识到它可以用来创造
  • Redis 深度历险:核心原理与应用实践

    小册介绍 Redis 是互联网技术架构在存储系统中使用最为广泛的中间件 它也是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一 特别是那些优秀的 竞争激烈的大型互联网公司 比如 Twitter 新浪微博 阿里云 腾讯云 淘宝 知乎等
  • xmind各版本区别_思维导图工具 XMind 出了一个高颜值版:XMind ZEN

    XMind 对于思维导图的使用者来说不会陌生 作为一款优质的国产思维导图软件 它不仅有强大的功能 而且还可以同时在 macOS Windows 和 Linux 上使用 不过 跨平台的特性也为软件带来了一些问题 由于使用 Java 实现跨平台
  • 电影9 10大经典电影

    10大经典电影 人生篇 1 肖申克的救赎 2 百万金婴 3 悲惨世界 1958年版 4 辛德勒的名单 5 阿甘正传 6 勇敢的心 7 活着 8 天堂影院 9 杀手里昂 10 完美的世界 10大经典电影 警匪篇 1 盗火线 2 喋血双雄 3
  • C#调用Java类的方法

    一 将已经编译后的java中Class文件进行打包 打包命令JAR 如 将某目录下的所有class文件夹全部进行打包处理 使用的命令 jar cvf test jar C com 其中test jar为要生成的jar包 com 为指定的当前
  • python-selenium(webdriver)中的自动截屏并获取验证码的位置

    因为最近在搞一个购票的一个爬虫需要获取当前验证码的位置信息进行打码 因为是用的selenium测试工具所以在网上找了多个资料搞出来的 记录下一成果 encoding utf 8 from PIL import Image from sele
  • Python爬虫实战(二):爬取天涯帖子(只看楼主)

    先上代码 coding utf 8 import requests from bs4 import Tag from bs4 import BeautifulSoup def getHtml url page requests get ur
  • postmapping注解参数说明_通过验证框架实现统一参数校验

    在我们实际项目开发过程中 避免不了的就是参数的校验 一般参数的校验 分为如下几种情况 1 前端直接验证 2 在Controller层单独验证 3 通过集成验证框架验证 显然3种里面 我们一般建议1 3结合的方式进行参数的校验比较合理和安全
  • Java 编程技术中汉字问题的分析及解决,文件操作

    在基于 Java 语言的编程中 我们经常碰到汉字的处理及显示的问题 一大堆看不懂的 乱码肯定不是我们愿意看到的显示效果 怎样才能够让那些汉字正确显示呢 在基于 Java 语言的编程中 我们经常碰到汉字的处理及显示的问题 一大堆看不懂的 乱码
  • 特征描述子与匹配

    图像特征描述子 即图像中每个像素位置的描述 通过此描述去匹配另一张图像是否含有相同特征 一般用来 大图找小图 具有旋转不变性和尺度不变性 代码示例 include
  • How to set the I/O Queue depth on VMware ESX servers?

    有些客户会碰到如何设置主机HBA队列深度的问题 其实这个队列深度是要根据不同情况来设置的 而并非是一个固定数值 可以看到下面的文章 有一个方法可以告诉我们如何去设置这个数值 很显然 不同厂商的存储 FA口的缓存大小也是不同的 所以不可以用这
  • Java高级工程师系列学习路线介绍,成功拿到offer

    正文 下文中截图来源于朋友一个pdf版本的面经 把所以知识点的答案整理了下来 耗费他至少1个月时间 在本文最后部分把这个pdf分享给大家 觉得有用的麻烦点赞关注走一波 谢谢 面经中有他的知识点的答案 如下图示例 非常详细 文末有领取方式 1
  • thinkPHP6.0入门笔记(一)——环境配置

    thinkPHP6 0环境配置 选择thinkPHP的原因 thinkPHP6 0引入bootstrap 选择thinkPHP的原因 虽然php的热度已经大不如从前了 在实用上存在较多的高并发问题 但是相对于java和go php的语法更加
  • mac node 操作

    安装nvm命令 Mac 安装 nvm 知乎 2 安装node Mac安装node 简书
  • Elasticsearch学习(十六)Elasticsearch8 http方式使用用户名密码访问集群

    目录 前言 步骤 1 环境 2 解压 3 生成证书 elastic stack ca p12 4 生成证书 elastic certificates p12 5 将证书拷贝到其他节点 6 配置密码 7 配置 elasticsearch ym
  • No valid entries or contents found, this is not a valid OOXML (Office Open XML) file

    问题描述 导出Excel的时候出现的异常 我这个导出是为导入Excel做准备的 也就是用户先下载模板 然后根据模板填写数据再导入Excel 模板当中Excel也是可以正常打开的 解决过程 Maven编译过后的target文件夹当中的Exce