yii2プロジェクトでphpoffice/phpexcelプラグインを使用してExcelファイルを読み込もうとしています。 XLS拡張子を持つファイルの場合、プラグインは完璧に動作し、私は内容を読み取ることができていますが、私は日本のファイル名とのxlsx拡張子を持つファイルを使用しようとすると、それは私にそうようなエラー与える:Yii2:phpoffice/phpexcelはHTMLとして.xlsxファイルを指定します
の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プラグインにある種の制限ですか?そうであれば、xlsxとxlsの両方のファイルを正しく読み取ることができる他のyii2拡張を提案できますか?または、ファイルを正しく識別できるようにこれを修正する方法がいくつかありますか?
ありがとうございます。私はMS Excel 2013を使用してファイルを作成したので、問題はないと思いますか? – user1597438
あああ.xlsxとaaaa.xlsxは基本的に同じ内容ですが、どちらもMS Excel 2013で作成されているので、なぜその1つしか読み込めないのか分かりません。 – 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