Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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
文件扩展名xls但文件包含XML数据如何使用PHP读取这种类型的文件_Php - Fatal编程技术网

文件扩展名xls但文件包含XML数据如何使用PHP读取这种类型的文件

文件扩展名xls但文件包含XML数据如何使用PHP读取这种类型的文件,php,Php,我正在从事导入和导出类型项目,每天导入多种类型的数据,目前我在导入XLS文件数据时遇到一些问题。 文件扩展名XLS,但数据以XML形式包含请通知我 $path=$dir.$file\u name; $sheet\u data=simplexml\u load\u文件($path); 打印(图纸数据); 打印数据后,我可以得到如下结果 SimpleXMLElement Object ( [Worksheet] => SimpleXMLElement Object

我正在从事导入和导出类型项目,每天导入多种类型的数据,目前我在导入XLS文件数据时遇到一些问题。 文件扩展名XLS,但数据以XML形式包含请通知我 $path=$dir.$file\u name; $sheet\u data=simplexml\u load\u文件($path); 打印(图纸数据); 打印数据后,我可以得到如下结果

  SimpleXMLElement Object
  (
    [Worksheet] => SimpleXMLElement Object
        (
          [Table] => SimpleXMLElement Object
           (
              [Column] => Array
               (
                  [0] => SimpleXMLElement Object
                   (
                    )

                 [1] => SimpleXMLElement Object
                                (
                                )

                        )

           [Row] => Array
                     (
                        [0] => SimpleXMLElement Object
                         (
                         )

                        [1] => SimpleXMLElement Object
                         (
                           [Cell] => SimpleXMLElement Object
                            (
                             [Data] => Unavailable Power Generation Capacity in PDBF (MW). Date 10-02-2016
                               )
                            )

                        [2] => SimpleXMLElement Object
                         (
                         )

                        )

                )

        )

)

I got file from following URL


    enter code here

http://www.esios.ree.es/Solicitar/salidatotalindisppdbf_20160203.xls&en

如果显示实际的XML而不是转储SimpleXML对象,可能会更容易;但我猜是电子表格,但如果是xls文件,你会怎么读呢?也许您用来读取BIFF格式xls文件的库也有读取SpreadsheetML格式文件的选项$objReader=PHPExcel_IOFactory::createReader('Excel5')$objPHPExcel=$objReader->load($path)$工作表=$objPHPExcel->getSheet(0)$highestRow=$sheet->getHighestRow()$highestColumn=$sheet->getHighestColumn();对于($row=2;$row<12;$row++){$rowData[$row]=$sheet->RangeTarray('A'.$row'.:'.$highestColumn.$row,NULL,TRUE,FALSE);foreach($rowData[$row]as$data1);}我使用上面的代码读取XLS,但出现了类似OLE的错误。所以您使用的是PHPExcel。。。。。如果你一开始就这么说,那会有帮助的。。。。。步骤#1本应阅读PHPExcel文档,尤其是标题为步骤#2的文档,不再假设具有xls扩展名的文件是真正的BIFF格式Excel文件。。。。。。应该是这样,但很多人都很懒惰,给csv文件或html文件一个xls扩展名,然后假装它以某种方式自动转换成了真正的xls文件。。。。显式地告诉PHPExcel使用
Excel5
读取器正落入这个陷阱。。。。除非您知道该文件确实是BIFF格式,否则不要简单地假设这只是因为它有一个xls扩展名。如果您显示实际的XML而不是转储SimpleXML对象,可能会更容易;但我猜是电子表格,但如果是xls文件,你会怎么读呢?也许您用来读取BIFF格式xls文件的库也有读取SpreadsheetML格式文件的选项$objReader=PHPExcel_IOFactory::createReader('Excel5')$objPHPExcel=$objReader->load($path)$工作表=$objPHPExcel->getSheet(0)$highestRow=$sheet->getHighestRow()$highestColumn=$sheet->getHighestColumn();对于($row=2;$row<12;$row++){$rowData[$row]=$sheet->RangeTarray('A'.$row'.:'.$highestColumn.$row,NULL,TRUE,FALSE);foreach($rowData[$row]as$data1);}我使用上面的代码读取XLS,但出现了类似OLE的错误。所以您使用的是PHPExcel。。。。。如果你一开始就这么说,那会有帮助的。。。。。步骤#1本应阅读PHPExcel文档,尤其是标题为步骤#2的文档,不再假设具有xls扩展名的文件是真正的BIFF格式Excel文件。。。。。。应该是这样,但很多人都很懒惰,给csv文件或html文件一个xls扩展名,然后假装它以某种方式自动转换成了真正的xls文件。。。。显式地告诉PHPExcel使用
Excel5
读取器正落入这个陷阱。。。。除非您知道该文件确实是BIFF格式,否则不要简单地假设它只是因为具有xls扩展名