根據網上的解釋,這個表示poi讀取excel(97-2003)的時候頭文件被損壞了,正常的方式:能打開的話,另存一下即可,實在不行直接新建一個內容一樣的
本人環境:eclipse部署到tomcat,eclipse下的源碼是正確的,只要發布到tomcat就是文件損壞,以前是好的
原因:使用了maven,而且為了配置profile,使用了resource,resource他會把它配置的路徑下的文件過一遍,然后用pom定義的變量的值給替換掉,
excel不存在替換變量的問題,但應該會檢查,估計會打開的過程中出問題了,具體沒有深究,網上也是這么說的。
方案:把excel所在的目錄或者excel文件設置為不讓他檢查,pom的配置,如下:
這樣把excel的路徑給排除了,或者后面一種注釋的也可以
今天做jenkins的一鍵部署(svn,jenkins,maven)
發現上面的這段配置在一鍵部署的服務器上excel下載還是報標題上的錯誤,很納悶呀!理論本地通過了服務器也應該是通過的,可能原因:
1、環境不一致,本地windows,一鍵部署是linux(centos6.4)
2、軟件版本不一致,本地maven是3.25,服務器是3.3.9的
目前測試情況來看:去掉上面的exclude,加入nonFilteredFileExtensions,如下:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<finalName>cotton</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
。。。
目前還發現再生產環境中部署(多台機器),第一次一鍵部署不起作用,第二次才起,不曉得為什么,以后追一下!暫時記錄