Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用';convertXLStoCSV';结果为'';未能作为DOM文档加载';_Php_Excel_Csv - Fatal编程技术网

Php 使用';convertXLStoCSV';结果为'';未能作为DOM文档加载';

Php 使用';convertXLStoCSV';结果为'';未能作为DOM文档加载';,php,excel,csv,Php,Excel,Csv,我在许多文件中广泛使用了convertXLStoCSV,将Excel文件转换为.csv通常效果很好 由于某种原因,在一个特定的文件上,我不断地得到未能作为DOM文档加载,它引用了/PHPExcel/Reader/HTML.php:435 现在,如果我手动打开该文件,请将其保存到本地计算机,然后再试一次,效果良好。我无法控制该文件,但很明显,该文件存在一些独特或损坏的地方 有人能推荐一个可以在本地打开并重新保存文件的编程选项吗 我的代码很简单: if(file_exists('data/file.

我在许多文件中广泛使用了
convertXLStoCSV
,将Excel文件转换为.csv通常效果很好

由于某种原因,在一个特定的文件上,我不断地得到
未能作为DOM文档加载
,它引用了
/PHPExcel/Reader/HTML.php:435

现在,如果我手动打开该文件,请将其保存到本地计算机,然后再试一次,效果良好。我无法控制该文件,但很明显,该文件存在一些独特或损坏的地方

有人能推荐一个可以在本地打开并重新保存文件的编程选项吗

我的代码很简单:

if(file_exists('data/file.xls')) {
        convertXLStoCSV('data/file.xls', 'data/file.csv');
}

在文本编辑器中打开该文件,看看它是否真的是一个xls文件(一个二进制文件,这使得理智的人基本上无法读取)或记事本中的一块HTML标记(任何参与web开发的普通人都很容易识别),它显示的大部分是杂乱无章的文件内容。绝对不是HTML。那么PHPExcel应该将其标识为HTML,这是非常奇怪的。。。。但是如果不知道它实际上是什么,几乎不可能提出任何真实的东西。这就是为什么我想知道是否有某种方法可以打开然后重新保存为xls。这样我就可以避免试图找出问题所在。如果不可能确定它到底是什么类型的文件,那么就很难将其解析为可以保存为xls的文件。。。。PHPExcel不是靠魔法工作的,它有一套规则来尝试和识别文件格式,一旦识别了格式,它就可以尝试根据为该格式定义的结构来解析它。。。。如果这些规则不起作用,或者文件没有遵循定义的结构,那么它就不能做很多事情。但是PHPExcel不能简单地为不符合要求的文件制定新的格式规则