PHP Excel无法读取Excel 4.0工作表

时间:2017-05-08 19:35:51

标签: php excel phpexcel

此项目旨在导入Excel工作表:该文件是报表,而不是平面文件,并且无法获取此类文件。所以我使用PHP Excel来读取文件并将我们需要的数据保存到应用程序中。

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

 Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'The filename C:/xampp/htdocs/uploads/PS.xls is not recognised as an OLE file' in C:\xampp\htdocs\includes\PHPExcel-1.8\Classes\PHPExcel\Shared\OLERead.php on line 90

PHP Excel将文件标识为HTML格式,但也会引发错误:

Warning: 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文件......这种方式有效,但需要一些手动操作......

1 个答案:

答案 0 :(得分:1)

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

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