gpt4 book ai didi

php - Yii2:phpoffice/phpexcel 将 .xlsx 文件识别为 HTML

转载 作者:行者123 更新时间:2023-12-02 08:20:25 26 4
gpt4 key购买 nike

我正在尝试为我的 yii2 项目使用 phpoffice/phpexcel 插件来读取 excel 文件。对于带有 xls 扩展名的文件,该插件工作正常,我能够读取内容,但是当我尝试使用带有日语文件名和 xlsx 扩展名的文件时,它会给我一个错误,如下所示:

DOMDocument::loadHTML(): Invalid char in CDATA 0x3 in Entity, line: 1.

我尝试调查 PHPExcel_IOFactory::identify。在研究该函数时,我在 IOFactory 类中遇到了 createReaderForFile,当检查此处设置的扩展类型时,它显示为“Excel2007”,但由于某种原因,在该过程的最后,该文件仍然被标识为 HTML。

为了进一步描述该问题,我的文件具有不同的扩展名和名称,但内容基本相同,如下所示:

col1               col2           col3
aaaa bbbb cccc

文件如下:

  1. あああ.xls(可阅读)
  2. あああ.xlsx(无法读取)
  3. aaaa.xls(可读)
  4. aaaa.xlsx(可读)

只有あああ.xlsx看不懂,其他都好。这是对 phpoffice/phpexcel 插件的某种限制吗?如果是,您能否建议其他 yii2 扩展,使我能够正确读取 xlsx 和 xls 文件?或者有什么方法可以解决这个问题,以便它可以正确识别文件?

最佳答案

我现在已经解决了这个问题。该问题似乎与 zip 文件上的文件编码有关,在 PHPExcel_IOFactory::identify 修复之前添加 \PHPExcel_Settings::setZipClass(\PHPExcel_Settings::PCLZIP);

关于php - Yii2:phpoffice/phpexcel 将 .xlsx 文件识别为 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40797346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com