電子表格已成為保存、組織和分析數據的重要組成部分。由於自動化解決方案如今在商業中越來越流行,創建和操作 Excel 文檔 (XLS/XLSX) 的趨勢已經出現並以巨大的速度增長。根據上述場景,本文介紹瞭如何在 PHP 中創建和修改 Excel 文件。
用於創建 Excel 文件的 PHP 庫 - 免費下載
為了在基於 PHP 的 Web 應用程序中創建和操作 Excel 文件,我們將使用 Aspose.Cells for PHP via Java。它是一個強大的高速庫,為 Excel 自動化提供了廣泛的功能。您可以從 此處 下載庫包。
用法
以下是通過 Java 使用 Aspose.Cells for PHP 需要滿足的先決條件。
完成先決條件後,請按照以下步驟執行 example.php 文件進行測試。
- 將 Java.inc 文件放在您下載的庫包的根文件夾中。
- 在命令提示符下使用以下命令運行 JavaBridge.jar:
cd aspose.細胞
%JAVAHOME%\bin\java -Djava.ext.dirs=lib -jar JavaBridge.jar SERVLETLOCAL:8080
- 使用以下命令從庫的根文件夾運行 example.php:
PHP 示例.php
在 PHP 中創建 Excel 文件的簡單步驟
以下是在 PHP 中創建 Excel 文件的一些簡單步驟。
- 創建 Workbook 類的對象。
- 使用 $workbook->getWorksheets() 方法訪問 WorksheetCollection。
- 使用 $worksheets->get(index)->getCells() 方法訪問所需工作表的 Cells 集合。
- 使用 $cells->get(“A1”)->putValue(“Hello world!”) 方法將值插入所需的單元格。
- 使用 $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX) 方法保存 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 文件並向其中插入數據。
以下是通過 Java 使用 Aspose.Cells for PHP 將數據寫入 XLSX 文件的步驟。
- 創建一個 Workbook 類的對象,並使用 Excel 文件的路徑對其進行初始化。
- 使用 $workbook->getWorksheets() 方法訪問 Excel 文件的 WorksheetCollection。
- 使用 $worksheets->get(index)->getCells() 方法訪問所需工作表的 Cells 集合。
- 使用 $cells->get(“A1”)->putValue(“Hello world!”) 方法將值插入所需的單元格。
- 使用 $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX) 方法保存 Excel 工作簿。
以下代碼示例顯示瞭如何在 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 文件中創建圖表的步驟。
- 使用 Workbook 類創建一個新的 Excel 文件或加載現有文件。
- 如果創建了新工作簿,則將數據添加到工作表。
- 使用 $worksheet->getCharts() 方法獲取工作表的圖表集合。
- 使用 $worksheet->getCharts()->add() 方法添加新圖表。
- 從集合中獲取新創建的 Chart。
- 指定單元格的範圍以設置圖表的 NSeries。
- 使用 $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX) 方法將工作簿保存為 Excel .xlsx 文件。
以下代碼示例顯示瞭如何使用 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 工作表中創建數據透視表的步驟。
- 使用 Workbook 類創建一個新的 Excel 文件或加載現有文件。
- 將數據插入工作表。
- 使用 $worksheet->getPivotTables() 方法訪問數據透視表集合。
- 使用 $worksheet->getPivotTables()->add() 方法在工作表中添加一個新的數據透視表。
- 向數據透視表提供數據。
- 使用 $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX) 方法保存工作簿。
以下代碼示例顯示瞭如何使用 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");
用於創建 Excel 文件的 Aspose PHP 庫 - 獲得免費許可證
您可以使用 免費臨時許可證 在沒有評估限制的情況下免費創建 PHP 文件。
結論
在本文中,您學習瞭如何在 PHP 中從頭開始創建 Excel XLS 或 XLSX 文件。此外,您還了解瞭如何將數據寫入現有的 Excel 文件,以及如何在 PHP 中生成帶有圖表或表格的 Excel 文件。您可以使用 文檔 探索更多關於 PHP Excel 庫的信息。如果您有任何疑問,請隨時通過我們的 論壇 告訴我們。