![](https://products-qa.fileformat.com/zh/spreadsheet/php/spout/header-image.png)
Spout
用于 ODS、XLSX 和 CSV 文件的 PHP 库
开源 PHP 库,用于从 Excel®(XLSX、CSV)和 OpenOffice™(ODS)创建、读取和操作电子表格。
如何安装 Spout PHP 库
Spout 需要 PHP 7.1 或更高版本。满足先决条件后,从 Composer 安装 Spout。
从 Composer 安装 Spout
$ composer require box/spout
用于读写 ODS、XLSX 和 CSV 的 PHP 库
Spout 使软件开发人员能够以 3 种流行格式从头开始创建电子表格文件。在阅读时,Spout 根据文件扩展名猜测电子表格阅读器的类型。如果扩展不标准,可以直接创建特定的阅读器。
通过 PHP 读取 ODS
- 为 ODS 文件格式创建阅读器
- 将 ODS 文件路径传递给 load 方法来读取它
- 通过 getSheetIterator() 迭代 ODS 工作表
- 通过 getRowIterator() 遍历工作表行
- 获取 ODS 行的单元格以读取或写入
通过 Spout 读取 ODS - PHP Excel 库
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createODSReader('/path/to/file.ods');
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
// do stuff with the row
$cells = $row->getCells();
...
}
}
$reader->close();
通过 PHP 将数据添加到现有电子表格
Spout 使开发人员能够通过向其添加数据来更新现有电子表格。向现有电子表格添加新数据是一种非常常见的做法。 Spout API 不会在内存中保留完整的电子表格表示,以避免在处理大型电子表格时出现内存问题。要修改电子表格,请创建一个与现有实例类似的新实例,并将所需数据添加到新电子表格中。
从特定工作表中读取数据
Spout API 使 PHP 开发人员能够访问和读取电子表格中特定工作表中的数据。通常,一个电子表格包含多个工作表。如果用户有兴趣仅从一张表中读取数据并跳过其他表。用户只需要知道电子表格的名称和位置。