我正在尝试为我的 yii2 项目使用 phpoffice/phpexcel 插件来读取 excel 文件。对于具有 xls 扩展名的文件,该插件可以完美运行,并且我可以读取内容,但是当我尝试使用具有日语文件名和 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 插件的某种限制吗?如果是,您能否推荐其他 yii2 扩展,使我能够正确读取 xlsx 和 xls 文件?或者有什么方法可以解决这个问题,以便它可以正确识别文件?