简单的parsingexcel到对象或variables,与XML或CSV相同

对于CSV是:

<?php $row = 1; if (($handle = fopen("test.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); echo "<p> $num fields in line $row: <br /></p>\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "<br />\n"; } } fclose($handle); } ?> 

对于XML:

 <?php // The file test.xml contains an XML document with a root element // and at least an element /[root]/title. if (file_exists('test.xml')) { $xml = simplexml_load_file('test.xml'); print_r($xml); } else { exit('Failed to open test.xml.'); } ?> 

这是非常简单的parsing方法。 EXCEL也可以吗? 我不想用Excel的读者等我想要简单的parsing器,相同的XML或CSV。 这个最好的方法是怎样的? 也许parsingExcel到CSV或XML,但如何?

没有一种Excel格式…有两种常见格式:BIFF .xls文件(用于Excel 2003)和OfficeOpenXML .xlsx文件(用于Excel 2007和Excel 2010),更不用说SpreadsheetML,很less使用Excel 2003的替代格式。这些格式也不像CSV或甚至是“vanilla”XML那样简单:即使OfficeOpenXML格式包含压缩目录层次结构中的一系列相互关联的XML文件。

然后,您还可以考虑电子表格文件(多个工作表,隐藏/合并的列/行,样式,图像,图表等)中的格式和其他function。这也意味着parsing它不是一件容易的任务文件并以简单的方式呈现。

有许多PHP库(和其他替代方法)可用于访问电子表格数据和/或从PHP内部创build/编辑电子表格文件。 我负责开发其中一个库( PHPExcel ),并在StackOverflow中编译了一个备选scheme列表,以回答以前的问题。

如果您只想读取电子表格数据,则从列表中select一个读取器:如果您想创build新的电子表格,请select一个作者。 如果您想编辑现有的工作簿,那么您确实需要支持读取和写入的less数几个库/选项之一。 并注意支持的文件格式…并非所有库都支持BIFF .xls和.xlsx。

Excel文件不只是简单的文本文件.. CSV和XML文件纯粹是文本文件..因此,您将需要一个库,它可以真正parsingExcel文件