在 PHP 中创建 Excel 文件

电子表格已成为保存、组织和分析数据的重要组成部分。由于自动化解决方案如今在业务中越来越流行,因此创建和操作 Excel 文档 (XLS/XLSX) 的趋势已经出现并以巨大的速度增长。根据上述场景,本文介绍了如何在 PHP 中创建和修改 Excel 文件。

用于创建 Excel 文件的 PHP 库 - 免费下载

为了在基于 PHP 的 Web 应用程序中创建和操作 Excel 文件,我们将使用 Aspose.Cells for PHP via Java。它是一个强大的高速库,为 Excel 自动化提供了广泛的功能。您可以从 这里 下载库包。

用法

以下是通过 Java 使用 Aspose.Cells for PHP 需要满足的先决条件。

完成先决条件后,请按照以下步骤执行 example.php 文件进行测试。

  1. 将 Java.inc 文件放在已下载的库包的根文件夹中。
  2. 在命令提示符下使用以下命令运行 JavaBridge.jar:
    • cd aspose.cells

    • %JAVAHOME%\bin\java -Djava.ext.dirs=lib -jar JavaBridge.jar SERVLETLOCAL:8080

  3. 使用以下命令从库的根文件夹运行 example.php:
    • php 示例.php

在 PHP 中创建 Excel 文件的简单步骤

以下是在 PHP 中创建 Excel 文件的一些简单步骤。

以下代码示例显示了如何在 PHP 中创建 Excel XLSX 文件。

require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once("aspose.cells.php");

use aspose\cells;

// 创建工作簿类的对象
$workbook = new cells\Workbook();

// 访问工作表
$sheets = $workbook->getWorksheets();

// 访问所需工作表的单元格
$cells = $sheets->get(0)->getCells();

// 将值插入单元格
$cells->get("A1")->putValue("Hello world!");

// 保存 Excel 文件
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);

在 PHP 中修改 Excel 文件

在上一节中,我们从头开始创建了一个 Excel 文件。现在,让我们编辑现有的 Excel 文件并将数据插入其中。

以下是使用 Aspose.Cells for PHP 通过 Java 将数据写入 XLSX 文件的步骤。

以下代码示例显示了如何在 PHP 中修改 Excel 文件。

// 创建工作簿类的对象以加载 Excel 文件
$workbook = new cells\Workbook("workbook.xlsx");

// 访问工作表
$sheets = $workbook->getWorksheets();

// 访问所需工作表的单元格
$cells = $sheets->get(0)->getCells();

// 将值插入单元格
$cells->get("A1")->putValue("Hello world!");

// 保存 Excel 文件
$workbook->save("updated.xlsx");

PHP:创建带有图表的 Excel 文件

以下是使用 PHP 在 Excel 文件中创建图表的步骤。

以下代码示例展示了如何在 PHP 中的 Excel 文件中创建图表。

// 加载 Excel 文件
$workbook = new Workbook("Book2.xlsx");

// 获取第一个工作表的引用
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// 向单元格添加一些样本值
$cells = $sheet->getCells();
$cell = $cells->get("A1");
$cell->setValue(50);
$cell = $cells->get("A2");
$cell->setValue(100);
$cell = $cells->get("A3");
$cell->setValue(150);
$cell = $cells->get("B1");
$cell->setValue(4);
$cell = $cells->get("B2");
$cell->setValue(20);
$cell = $cells->get("B3");
$cell->setValue(50);

// 在工作表中获取图表
$charts = $sheet->getCharts();

// 将图表添加到工作表
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);

// 将 NSeries(图表数据源)添加到图表中,范围从“A1”
// 单元格到“B3”
$serieses = $chart->getNSeries();
$serieses->add("A1:B3", true);

// 编写 Excel 文件 
$workbook.save("Excel_with_Chart.xlsx");

在 PHP 中的 Excel 文件中添加数据透视表

Excel 工作表中的数据透视表用于向数据添加过滤器、计算总计、汇总数据等。可以使用工作表中的单元格范围创建数据透视表。以下是使用 PHP 在 Excel 工作表中创建数据透视表的步骤。

以下代码示例展示了如何使用 PHP 在 Excel 中创建数据透视表。

// 加载要转换的文档
$workbook = new Workbook("Book2.xlsx");

// 获取第一个工作表的引用
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// 向单元格添加一些样本值
$cells = $sheet->getCells();
$cell->setValue("Sport");
$cell = $cells->get("B1");
$cell->setValue("Quarter");
$cell = $cells->get("C1");
$cell->setValue("Sales");

$cell = $cells->get("A2");
$cell->setValue("Golf");
$cell = $cells->get("A3");
$cell->setValue("Golf");
$cell = $cells->get("A4");
$cell->setValue("Tennis");
$cell = $cells->get("A5");
$cell->setValue("Tennis");
$cell = $cells->get("A6");
$cell->setValue("Tennis");
$cell = $cells->get("A7");
$cell->setValue("Tennis");
$cell = $cells->get("A8");
$cell->setValue("Golf");

$cell = $cells->get("B2");
$cell->setValue("Qtr3");
$cell = $cells->get("B3");
$cell->setValue("Qtr4");
$cell = $cells->get("B4");
$cell->setValue("Qtr3");
$cell = $cells->get("B5");
$cell->setValue("Qtr4");
$cell = $cells->get("B6");
$cell->setValue("Qtr3");
$cell = $cells->get("B7");
$cell->setValue("Qtr4");
$cell = $cells->get("B8");
$cell->setValue("Qtr3");

$cell = $cells->get("C2");
$cell->setValue(1500);
$cell = $cells->get("C3");
$cell->setValue(2000);
$cell = $cells->get("C4");
$cell->setValue(600);
$cell = $cells->get("C5");
$cell->setValue(1500);
$cell = $cells->get("C6");
$cell->setValue(4070);
$cell = $cells->get("C7");
$cell->setValue(5000);
$cell = $cells->get("C8");
$cell->setValue(6430);

// 获取数据透视表
$pivotTables = $sheet->getPivotTables();

// 将数据透视表添加到工作表
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");

// 访问新添加的数据透视表的实例
$pivotTable = $pivotTables->get($index);

// 取消显示行的总计
$pivotTable->setRowGrand(false);

// 将第一个字段拖到行区域
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);

// 将第二个字段拖到列区域
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);

// 将第三个字段拖到数据区
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);

// 编写 Excel 文件
$workbook.save("Excel_with_Table.xlsx");

Aspose 用于创建 Excel 文件的 PHP 库 - 获得免费许可证

您可以使用 免费临时许可证 在 PHP 中免费创建 Excel 文件,而不受评估限制。

结论

在本文中,您学习了如何在 PHP 中从头开始创建 Excel XLS 或 XLSX 文件。此外,您还了解了如何将数据写入现有 Excel 文件并使用 PHP 生成带有图表或表格的 Excel 文件。您可以使用 文档 探索有关 PHP Excel 库的更多信息。如果您有任何问题,请随时通过我们的 论坛 告诉我们。

也可以看看