如何通过maven修复损坏的xls文件?

问题描述:

我有JETT由生成报告的方法:如何通过maven修复损坏的xls文件?

try { 

     InputStream inPath = ProdutoManagedBean.class.getResourceAsStream("/template.xls"); 

     ExcelTransformer transformer = new ExcelTransformer(); 
     transformer.transform(inPath, beans); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (InvalidFormatException e) { 
     e.printStackTrace(); 
    } 

我具有transformer.transfom一个InvalidFormatException(...):

22:44:37,803 ERROR [stderr] (default task-28) org.apache.poi.openxml4j.exceptions.InvalidFormatException: Your InputStream was neither an OLE2 stream, nor an OOXML stream 

我调查了行家导致此数据腐败,但我把过滤器工件放在pom.xml中,它仍然继续损坏:

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>${compiler-plugin.version}</version> 
       <configuration> 
        <encoding>UTF-8</encoding> 
        <nonFilteredFileExtensions> 
         <nonFilteredFileExtension>xls</nonFilteredFileExtension> 
        </nonFilteredFileExtensions> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>2.5</version> 
       <inherited>true</inherited> 
       <configuration> 
        <encoding>UTF-8</encoding> 
        <nonFilteredFileExtensions> 
         <nonFilteredFileExtension>xls</nonFilteredFileExtension> 
        </nonFilteredFileExtensions> 
       </configuration> 
      </plugin> 
      <plugin> 
+1

maven-jar-plugin的配置是无用的,因为这些配置元素在[maven-jar-plugin]中不存在(https://maven.apache.org/plugins/maven-jar-plugin/jar- mojo.html)。你是否检查过原始文件是否正确? – khmarbaise

+0

好像这个maven用户让你陷入困境。所以一些明确的maven仇敌的提示:-):你应该阅读关于在maven中提供资源的最佳实践方法。不,这不会把它们放在课堂旁边的罐子里。你的“nonFilteredFileExtension”只能在maven-resources-plugin中使用,推荐使用。 maven-compiler-plugin仅提供“排除”。 –

我能解决;我把这个神器在具有网络基础设施组件项目的pom.xml:

<build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>3.1.0</version> 
        <inherited>true</inherited> 
        <configuration> 
         <encoding>UTF-8</encoding> 
         <nonFilteredFileExtensions> 
          <nonFilteredFileExtension>xls</nonFilteredFileExtension> 
         </nonFilteredFileExtensions> 
       </plugin> 
      </plugins> 
     </build> 

这可能造成项目的技术架构的特异性的问题。