首页 > 编程语言 >Java读取word文件 No valid entries or contents found, this is not a valid OOXML (Office Open XML) file

Java读取word文件 No valid entries or contents found, this is not a valid OOXML (Office Open XML) file

时间:2024-05-25 17:12:28浏览次数:13  
标签:XML 文件 word 读取 valid 文档 entries

有个项目涉及到了操作word文档,当我把一份未加密word文档放在项目resources目录下进行临时开发,读取这个word时报错:

Caused by: org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException: No valid entries or contents found, this is not a valid OOXML (Office Open XML) file

从字面意思可以知道:读取的不是一份有效的文件。先查看测试用的word文档原件:

编译后的word文档打开有损坏提示,打开以后文件乱码:

 这是异常提示读取的不是一个有效文件的原因

解决方法:

在项目的pom.xml文件里新增一个编译规则:

<build>
    <plugins>
        ...
        <!-- 过滤掉不需要编译的文件, 还可以是doc、xlsx、txt 等等-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <encoding>UTF-8</encoding>
                <nonFilteredFileExtensions>
                    <nonFilteredFileExtension>docx</nonFilteredFileExtension>
       <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                </nonFilteredFileExtensions>
            </configuration>
        </plugin>
        ...
    </plugins>
</build>

再执行代码word文档就读取正常了。

当然,如果是word模板填充,还可以考虑将word模板换成html,使用Freemarker语法填充Html,还节省了读取文件的IO消耗
Freemarker语法填充Html:https://www.cnblogs.com/anyuan/p/15421548.html

 

标签:XML,文件,word,读取,valid,文档,entries
From: https://www.cnblogs.com/anyuan/p/18212398

相关文章

  • 如何恢复未保存或已删除/丢失的 Word 文件?
    关闭Word应用程序而不保存文档?误删除了Word文档?许​​多用户在不同情况下会丢失Word文档。如果您不幸遇到此类问题,如何恢复已删除或未保存的Word文档?有一些方法可以恢复未保存/删除的文档。此外,您还可以使用Word文件恢复软件来恢复已删除/丢失的Word文档。恢复未......
  • 【go】【gin】【validator】
    @目录写在前面validatorinstallFields:Network:Strings:Format:Comparisons:Other:Aliases:validateregularexample参考资料基础/标准库/第三方库golang导航编程规范算法|面试项目写在前面相关博文个人博客首页免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将......
  • XML Schema 字符串数据类型及约束详解
    字符串数据类型用于包含字符字符串的值。字符串数据类型可以包含字符、换行符、回车符和制表符。以下是模式中字符串声明的示例:<xs:elementname="customer"type="xs:string"/>您文档中的一个元素可能如下所示:<customer>JohnSmith</customer>或者可能是这样的:<custome......
  • XML Schema 字符串数据类型及约束详解
    字符串数据类型用于包含字符字符串的值。字符串数据类型可以包含字符、换行符、回车符和制表符。以下是模式中字符串声明的示例:<xs:elementname="customer"type="xs:string"/>您文档中的一个元素可能如下所示:<customer>JohnSmith</customer>或者可能是这样的:<c......
  • office系列软件(word、ppt、excel)打不开的解决方案
    前言​ 这里我遇到的情况是点击都没反应,而不像很多人那样有报错弹窗,费劲千辛万苦才最终解决,中间一度自暴自弃想着干脆用WPS得了(大可不必),中间我尝试了三种方法,不一定哪种有效,权当分享;一、使用WindowsPowerShell(管理员)方式使用快捷键WIN+X打开菜单,并点击终端管理员选项......
  • 【教程】WordPress资源下载主题 Modown 书面使用教程
    这篇文章介绍了WordPress资源下载主题Modown的书面使用教程。文章包括安装主题、设置主题选项、自定义分类法、菜单、登录页面、小工具等。使用Modown主题可以通过设置首页模板一和使用mocat短代码来显示分类模块。同时还介绍了如何设置标题模块和显示广告。安装将从模板兔......
  • PageOffice国产版用强制留痕模式在线编辑word文件
    #PageOffice国产版强制留痕模式编辑查看本示例演示效果本示例关键代码的编写位置Vue+Springboot注意PageOffice国产版支持统信UOS、银河麒麟等操作系统本文中展示的代码均为关键代码,复制粘贴到您的项目中,按照实际的情况,例如文档路径,用户名等做适当修改即可使用。Word中的“......
  • Java基于saas模式云MES制造执行系统源码Spring Boot + Hibernate Validation什么是MES
    Java基于saas模式云MES制造执行系统源码SpringBoot+HibernateValidation什么是MES系统?MES制造执行系统,通过互联网技术实现从订单下达到产品完成的整个生产过程进行优化管理。能有效地对生产现场的流程进行智能控制,防错防呆防漏,自动化集成各种制造信息,使管理者准确掌控工......
  • 139-Word Break
    问题描述GivenastringsandadictionaryofstringswordDict,returntrueifscanbesegmentedintoaspace-separatedsequenceofoneormoredictionarywords.Notethatthesamewordinthedictionarymaybereusedmultipletimesinthesegmentation.解释......
  • Viso的对象图形复制到word,发现图形画布底部有大量空白,如何解决
    1viso对象插入到wordVIso的图可以作为对象插入到word中,直接复制即可,复制后,可以在word中双击,关联到viso中,进行更改,很方便。正常情况下,在viso中做好图形后,直接复制到word中即可,在word中双击,关联到viso中。如下图:偶尔会存在一些格式比例大小的问题,导致对象下面很多空白,如下图:2......