Tạo tệp Excel bằng PHP

Bảng tính đã trở thành một phần thiết yếu của việc lưu giữ, sắp xếp và phân tích dữ liệu. Kể từ khi các giải pháp tự động ngày càng được sử dụng nhiều hơn, xu hướng tạo và thao tác các tài liệu Excel (XLS / XLSX) đã xuất hiện và phát triển với tốc độ rất lớn. Theo tình huống nêu trên, bài viết này trình bày cách tạo và sửa đổi tệp Excel trong PHP.

Thư viện PHP để tạo tệp Excel - Tải xuống miễn phí

Để tạo và thao tác các tệp Excel trong các ứng dụng web dựa trên PHP, chúng tôi sẽ sử dụng Aspose.Cells cho PHP qua Java. Đây là một thư viện mạnh mẽ và tốc độ cao cung cấp một loạt các tính năng để tự động hóa Excel. Bạn có thể tải xuống gói thư viện từ tại đây.

Cách sử dụng

Sau đây là các điều kiện tiên quyết mà bạn cần đáp ứng để sử dụng Aspose.Cells cho PHP thông qua Java.

Khi bạn đã hoàn thành các điều kiện tiên quyết, hãy làm theo các bước dưới đây để thực thi tệp example.php để kiểm tra.

  1. Đặt tệp Java.inc vào thư mục gốc của gói thư viện mà bạn đã tải xuống.
  2. Chạy JavaBridge.jar bằng các lệnh dưới đây trong dấu nhắc lệnh:
    • cd aspose.cells

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

  3. Chạy example.php từ thư mục gốc của thư viện bằng lệnh dưới đây:
    • php example.php

Các bước dễ dàng để tạo tệp Excel trong PHP

Sau đây là một số bước đơn giản để tạo tệp Excel trong PHP.

Mẫu mã sau đây cho thấy cách tạo tệp Excel XLSX trong PHP.

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

use aspose\cells;

// Tạo một đối tượng của lớp sổ làm việc
$workbook = new cells\Workbook();

// Truy cập trang tính
$sheets = $workbook->getWorksheets();

// Truy cập các ô của trang tính mong muốn
$cells = $sheets->get(0)->getCells();

// Chèn giá trị vào ô
$cells->get("A1")->putValue("Hello world!");

// Lưu tệp Excel
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);

Sửa đổi tệp Excel trong PHP

Trong phần trước, chúng ta đã tạo một tệp Excel từ đầu. Bây giờ, hãy chỉnh sửa tệp Excel hiện có và chèn dữ liệu vào đó.

Sau đây là các bước để ghi dữ liệu vào tệp XLSX bằng Aspose.Cells for PHP qua Java.

Mẫu mã sau đây cho thấy cách sửa đổi tệp Excel trong PHP.

// Tạo một đối tượng của lớp sổ làm việc để tải tệp Excel
$workbook = new cells\Workbook("workbook.xlsx");

// Truy cập trang tính
$sheets = $workbook->getWorksheets();

// Truy cập các ô của trang tính mong muốn
$cells = $sheets->get(0)->getCells();

// Chèn giá trị vào ô
$cells->get("A1")->putValue("Hello world!");

// Lưu tệp Excel
$workbook->save("updated.xlsx");

PHP: Tạo tệp Excel với biểu đồ

Sau đây là các bước để tạo biểu đồ trong tệp Excel bằng PHP.

Mẫu mã sau đây cho thấy cách tạo biểu đồ trong tệp Excel bằng PHP.

// Tải tệp Excel
$workbook = new Workbook("Book2.xlsx");

// Lấy tham chiếu của trang tính đầu tiên
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Thêm một số giá trị mẫu vào ô
$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);

// Nhận biểu đồ trong trang tính
$charts = $sheet->getCharts();

// Thêm biểu đồ vào trang tính
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);

// Thêm NSeries (nguồn dữ liệu biểu đồ) vào biểu đồ từ "A1"
// ô đến "B3"
$serieses = $chart->getNSeries();
$serieses->add("A1:B3", true);

// Viết tệp Excel 
$workbook.save("Excel_with_Chart.xlsx");

Thêm bảng tổng hợp trong tệp Excel bằng PHP

Bảng tổng hợp trong trang tính Excel được sử dụng để thêm bộ lọc vào dữ liệu, tính tổng, tóm tắt dữ liệu, v.v. Có thể tạo bảng tổng hợp bằng cách sử dụng phạm vi ô trong trang tính. Sau đây là các bước để tạo bảng tổng hợp trong trang tính Excel bằng PHP.

Mẫu mã sau đây cho thấy cách tạo bảng tổng hợp trong Excel bằng PHP.

// Tải tài liệu cần chuyển đổi
$workbook = new Workbook("Book2.xlsx");

// Lấy tham chiếu của trang tính đầu tiên
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Thêm một số giá trị mẫu vào ô
$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);

// Nhận bảng tổng hợp
$pivotTables = $sheet->getPivotTables();

// Thêm PivotTable vào trang tính
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");

// Truy cập phiên bản của PivotTable mới được thêm vào
$pivotTable = $pivotTables->get($index);

// Hiển thị tổng số lớn cho các hàng
$pivotTable->setRowGrand(false);

// Kéo trường đầu tiên vào vùng hàng
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);

// Kéo trường thứ hai vào vùng cột
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);

// Kéo trường thứ ba vào vùng dữ liệu
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);

// Viết tệp Excel
$workbook.save("Excel_with_Table.xlsx");

Thư viện PHP của Aspose để tạo tệp Excel - Nhận giấy phép miễn phí

Bạn có thể tạo tệp Excel bằng PHP miễn phí mà không bị giới hạn đánh giá bằng cách sử dụng giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách tạo tệp Excel XLS hoặc XLSX từ đầu trong PHP. Hơn nữa, bạn đã thấy cách ghi dữ liệu vào tệp Excel hiện có và tạo tệp Excel với biểu đồ hoặc bảng trong PHP. Bạn có thể khám phá thêm về thư viện PHP Excel bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ câu hỏi nào, vui lòng cho chúng tôi biết qua diễn đàn của chúng tôi.

Xem thêm