任何人都可以推荐一个使用 php 读取 xlsx 文件的好库吗?
我看了phpexcel,但从例子看来它只支持写作?
我会再次查看 PHPExcel。PHPExcel 有 Excel5 (xls)、Excel2007 (xlsx)、CSV、HTML 和 PDF 的编写器;和 Excel5 (xls)、Excel2007 (xlsx)、Excel 2003 XML、CSV、SYLK 和 Open Office Calc 的阅读器
在文档中都非常清楚
编辑(引自手册)
将文件读入 PHPExcel 有两种方法:使用自动文件类型解析或显式。
自动文件类型解析检查随 PHPExcel 分发的不同 PHPExcel_Reader_IReader。如果其中一个可以加载指定的文件名,则使用该 PHPExcel_Reader_IReader 加载文件。显式模式要求您指定应该使用哪个 PHPExcel_Reader_IReader。
您可以使用以下代码示例在自动文件类型解析模式下使用 PHPExcel_IOFactory 创建 PHPExcel_Reader_IReader 实例:
$objPHPExcel = PHPExcel_IOFactory::load("05featuredemo.xlsx");
此功能的一个典型用途是当您需要读取用户上传的文件时,您不知道他们是在上传 xls 还是 xlsx 文件。
如果您需要在阅读器上设置一些属性(例如,仅读取数据,请稍后查看更多信息),那么您可能希望使用此变体:
$objReader = PHPExcel_IOFactory::createReaderForFile("05featuredemo.xlsx");
$objReader->setReadDataOnly(true);
$objReader->load("05featuredemo.xlsx");
您可以使用以下代码示例在显式模式下使用 PHPExcel_IOFactory 创建 PHPExcel_Reader_IReader 实例:
$objReader = PHPExcel_IOFactory::createReader("Excel2007");
$objPHPExcel = $objReader->load("05featuredemo.xlsx");
编辑(个人喜好)
将加载程序包装在 try/catch 中也是值得的
$fileName = '01simple.xlsx';
try {
$objPHPExcel = PHPExcel_IOFactory::load($fileName);
} catch (Exception $e) {
die("Error loading file: ".$e->getMessage()."<br />\n");
}
这取决于您所说的“阅读”是什么意思。
Office XML 文件只是包含一个或多个 XML 文档的 zip 文件。任何旧的 XML 解析器都应该能够读取它们。
另一方面,利用数据做一些有用、有趣和富有成效的事情可能需要一些努力。