xlsx/数组

xlsx/数组 - PHP 中读取、创建和写入电子表格文档 - 电子表格引擎

v3.0 2023-07-11 03:30 UTC

This package is auto-updated.

Last update: 2024-09-11 05:55:58 UTC


README

Build Status Code Quality Code Coverage Total Downloads Latest Stable Version License Join the chat at https://gitter.im/PHPOffice/PhpSpreadsheet

PhpSpreadsheet 是一个用纯 PHP 编写的库,提供了一组类,允许您读取和写入各种电子表格文件格式,例如 Excel 和 LibreOffice Calc。

PHP 版本支持

LTS:对于 PHP 版本的维护期将仅在该 PHP 版本的生命周期结束后延长六个月。

目前所需的最小 PHP 版本是 PHP 7.4,我们将 支持该版本 直到 2023 年 6 月 28 日。

查看 composer.json 了解其他要求。

安装

使用 composer 将 PhpSpreadsheet 安装到您的项目中

composer require phpoffice/phpspreadsheet

如果您正在开发机器上构建安装程序,该机器的 PHP 版本与将要部署的服务器不同,或者您的 PHP CLI 版本与运行时(例如 php-fpm 或 Apache 的 mod_php)不同,那么在安装之前您可能需要将以下内容添加到您的 composer.json

{
    "require": {
        "phpoffice/phpspreadsheet": "^1.23"
    },
    "config": {
        "platform": {
            "php": "7.4"
        }
    }
}

然后运行

composer install

以确保获取到与您的部署环境匹配的正确依赖项。

有关更多详细信息,请参阅 CLI 与应用程序运行时

其他安装选项

如果您想写入 PDF,或者在将数据写入 HTML 或 PDF 时包含图表,那么您需要安装额外的库

PDF

对于 PDF 生成,您可以安装以下任何一个,然后配置 PhpSpreadsheet 以指示您将使用哪个库

  • mpdf/mpdf
  • dompdf/dompdf
  • tecnickcom/tcpdf

然后使用以下方式配置 PhpSpreadsheet

// Dompdf, Mpdf or Tcpdf (as appropriate)
$className = \PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf::class;
IOFactory::registerWriter('Pdf', $className);

或您选择的库的适当 PDF 写入包装器。

图表导出

对于图表导出,我们支持以下包,您也需要使用 composer require 命令自行安装

然后使用以下方式配置 PhpSpreadsheet

Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\JpGraph::class); // to use jpgraph/jpgraph
//or
Settings::setChartRenderer(\PhpOffice\PhpSpreadsheet\Chart\Renderer\MtJpGraphRenderer::class); // to use mitoteam/jpgraph

如果您想生成包含图表的 HTML 或 PDF 文件,这些库是必需的。

文档

官方文档中了解更多信息,包括安装说明。或者查看API 文档

请在StackOverflow上提出您的支持问题,或在Gitter上快速聊天。

Patreon

我现在正在运行一个 Patreon 来支持我在 PhpSpreadsheet 上的工作。

支持者将能够访问关于使用 PhpSpreadsheet 的文章,以及如何使用其一些更高级特性的信息。

已向Patreon支持者提供的帖子

  • 约会游戏
    • 探讨MS Excel(以及PhpSpreadsheet)如何处理日期和时间值。
  • 循环的循环
    • 关于如何在工作表中迭代行和单元格的建议。

下一篇文章(目前正在撰写)将是

  • 面具背后
    • 探讨数字格式掩码。

我的目标是每月至少发布一篇文章,详细探讨MS Excel的一些功能,以及如何在PhpSpreadsheet中使用该功能,或者如何执行PhpSpreadsheet中的不同活动。

未来计划发布的文章包括以下主题

  • 表格
  • 结构化引用
  • 自动筛选
  • 数组公式
  • 条件格式
  • 数据验证
  • 公式调试
  • 值绑定

在为期六个月的独家Patreon支持者专享期后,文章将被纳入库的公共文档中。

PHPExcel与PhpSpreadsheet有什么不同?

PhpSpreadsheet是PHPExcel的下一个版本。它打破了兼容性,以显著提高代码库质量(命名空间、PSR合规性、使用最新的PHP语言功能等)。

因为所有努力都转向了PhpSpreadsheet,PHPExcel将不再维护。所有针对PHPExcel的贡献、补丁和新增功能,应针对PhpSpreadsheet的master分支。

你需要迁移吗?有一个自动化工具

许可证

PhpSpreadsheet遵循MIT许可证。