使用php读取xlsx文件[关闭]

Posted

技术标签:

【中文标题】使用php读取xlsx文件[关闭]【英文标题】:read xlsx file using php [closed] 【发布时间】:2010-07-15 03:09:20 【问题描述】:

谁能推荐一个使用 php 读取 xlsx 文件的好库?

我看过phpexcel,但是从例子看来它只支持写?

【问题讨论】:

【参考方案1】:

我会再次查看 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");

【讨论】:

想向我发送文档中实际部分的链接吗?因为我发现他们的文档很难找到任何东西......干杯。 查看开发者文档的第 6 节,标题为“读取和写入文件”,特别是标题为“使用 PHPExcel_IOFactory 创建 PHPExcel_Reader_IReader”的第 6.1.1 小节有读取 xlsx 文件的示例。【参考方案2】:

这取决于你所说的“阅读”是什么意思。

Office XML 文件只是包含一个或多个 XML 文档的 zip 文件。任何旧的 XML 解析器都应该能够读取它们。

另一方面,利用数据做一些有用、有趣和富有成效的事情可能需要一些努力。

【讨论】:

if(xls == xml) echo 'ohh...';否则回声'嗯...';

以上是关于使用php读取xlsx文件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Python如何读取xlsx文件并转换为csv而不写入目录[关闭]

PHP读取xlsx Excel 文件

使用 PHP 将 .xlsx 文件转换为 .csv 文件

php上传excel文件,如何读取文件中的信息?

XLSX.js读取excel日期格式时 将数字转换为正常日期格式

phpexcel 读取csv大文件只读取显示A列