0

有这个旨在导入 Excel 工作表的项目:该文件是一份报告,而不是一个平面文件,并且没有办法获得这样的文件。所以我使用 PHP Excel 来读取文件并将我们需要的数据保存到应用程序中。

问题是该文件是 Excel 4.0 格式,我无法编辑(显然),它可以在 MS Excel 应用程序中打开和查看,但 PHP Excel 在尝试使用 Excel5 读取它时抛出异常:

致命错误:在 C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel 中出现消息“文件名 C:/xampp/htdocs/uploads/PS.xls 未被识别为 OLE 文件”的未捕获异常“PHPExcel_Reader_Exception” \Shared\OLERead.php 第 90 行

PHP Excel 将文件识别为 HTML 格式,但也会向我抛出错误:

警告:DOMDocument::loadHTML(): Invalid char in CDATA 0x4 in Entity, line: 1 in C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel\Reader\HTML.php on line 495

我想这是因为数据包含特殊字符(UTF-8),但在 PHPExcel 中没有发现任何可以改变编码的东西......也找不到关于这个问题的任何东西,我开始认为没有解决方案,除了通过要求用户将数据复制并粘贴到“体面”的 Excel 文件中......这种方式有效,但需要一些手动操作。

4

1 回答 1

1

不,它无法读取它。PHPExcel 可以读取的最低 BIFF 格式版本是 BIFF 5(从 1993 年开始)。

祝你好运找到任何能够阅读 BIFF 4(从 1992 年开始)的东西。BIFF 4 使用 OLE1,而 PHPExcel 只能使用 OLE2 读取 .xls 文件(从 BIFF 5 开始)。我不知道任何可以处理这种早期格式的纯 PHP 扩展;您可能需要使用商业 LibXl 扩展。

于 2017-05-08T19:45:05.377 回答