php - 使用php读取xlsx文件

标签 php import-from-excel

<分区>

谁能推荐一个使用 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");
}

关于php - 使用php读取xlsx文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3252211/

相关文章:

php - 如何将从 MySQL 获取的数据以 JSON 形式返回到 php 文件中?

php - 同一页面上的 Wordpress 多个短代码不会保持元素顺序

php - Imagick PHP 5.4 扩展不适用于相对路径。 ( Windows )

python - Pandas导入CSV和Excel文件报错

python - 使用 Pandas 解析时避免 Excel 的科学记数法舍入

PHP上传CSV以更新数据库记录但排除重复

php - 如何对 MySql 排名查询进行分页

php插入mysql问题

sql-server-2012 - 缺少 Microsoft Excel 作为 SQL Server 数据导入工具中的选项

python - 在 Linux 上使用 Python 中受密码保护的 Excel 工作表