我想爲我的yii2項目使用phpoffice/phpexcel插件來讀取excel文件。對於XLS擴展名的文件,該插件完美的作品,我能讀的內容,但是當我嘗試使用與日本的文件名和擴展名的xlsx文件,它給了我,像這樣的錯誤:Yii2:phpoffice/phpexcel標識.xlsx文件爲HTML
的DOMDocument :: loadHTML( ):實體中的CDATA 0x3中的無效字符,行:1.
我試圖調查PHPExcel_IOFactory :: identify。調查函數,我遇到了IOFactory類中的createReaderForFile,並且在檢查這裏設置的擴展類型時,它會顯示'Excel2007',但由於某種原因,在該過程的最後,該文件仍然被標識爲HTML。
爲了進一步描繪的問題,我的文件有不同的擴展名和名稱,但內容基本相同,像這樣:
col1 col2 col3
aaaa bbbb cccc
的文件如下:
- あああ的.xls(可讀取)
- あああ.XLSX(不能被讀取)
- aaaa.xls(可讀取)
- aaaa.xlsx(可讀取)
只有あああ的.xlsx無法讀取,但其餘的罰款。這是對phpoffice/phpexcel插件的某種限制嗎?如果是這樣,你能否推薦其他的yii2擴展,使我能夠正確讀取xlsx和xls文件?或者有什麼方法可以解決這個問題,以便它可以正確識別文件?
謝謝,但我不知道我關注。我使用MS Excel 2013創建了這個文件,所以我不認爲它應該有問題嗎? – user1597438
あああ.xlsx和aaaa.xlsx基本上具有相同的內容,都在MS Excel 2013中創建,所以我不知道它爲什麼只能讀取其中的一個。 – user1597438
這不是關於Excel本身,而是關於PHPExcel庫,請參閱[xlsx]的示例行(https://github.com/PHPOffice/PHPExcel/blob/1.8/Examples/01simple-download-xlsx.php#L87)和[xls](https://github.com/PHPOffice/PHPExcel/blob/1.8/Examples/01simple-download-xls.php#L87) – Bizley