Chuyển đổi các báo cáo HTML sang bảng tính Excel là một yêu cầu thường gặp cho các ứng dụng doanh nghiệp dựa trên PHP‑cần xuất dữ liệu để phân tích hoặc xem xét ngoại tuyến. GroupDocs.Conversion Cloud SDK for PHP cung cấp một API đáng tin cậy, thực hiện công việc nặng trong việc render HTML và tạo các tệp XLSX. Trong hướng dẫn này, bạn sẽ học cách thực hiện chuyển đổi HTML sang XLSX trong PHP, bảo mật quy trình và tối ưu hiệu năng cho các tài liệu lớn.

Các bước chuyển đổi HTML sang XLSX trong PHP

  1. Tạo client API chuyển đổi - Khởi tạo lớp ConversionApi với thông tin xác thực client của bạn.
    • Ví dụ: new \GroupDocs\Conversion\ConversionApi($config);
    • Xem API Reference để biết chi tiết lớp.
  2. Tải lên tệp nguồn HTML - Sử dụng endpoint UploadFile để gửi tài liệu HTML lên bộ lưu trữ của GroupDocs.
  3. Cấu hình tùy chọn chuyển đổi - Đặt định dạng đầu ra là XLSX và tùy chọn điều chỉnh kích thước trang, tên worksheet hoặc cài đặt trích xuất dữ liệu.
  4. Thực hiện chuyển đổi - Gọi ConvertDocument với ID tệp nguồn và các tùy chọn đã cấu hình.
  5. Tải xuống kết quả XLSX - Lấy tệp đã tạo từ URL phản hồi hoặc vị trí lưu trữ.

Chuyển đổi HTML sang XLSX bằng GroupDocs - Ví dụ mã hoàn chỉnh

Ví dụ sau đây trình bày một quy trình chuyển đổi toàn diện từ đầu đến cuối, bao gồm xác thực và tải xuống tệp.

Ví dụ này minh họa cách chuyển đổi tệp HTML sang XLSX bằng GroupDocs.Conversion Cloud SDK for PHP.

<?php
require 'vendor/autoload.php';

use GroupDocs\Conversion\Configuration;
use GroupDocs\Conversion\Api\ConversionApi;
use GroupDocs\Conversion\Model\Requests\ConvertDocumentRequest;

// Replace with your actual credentials
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';

// Configure the SDK
$config = new Configuration();
$config->setAppSid($clientId);
$config->setAppKey($clientSecret);

// Create API instance
$apiInstance = new ConversionApi($config);

// Paths to local files (can be absolute or relative)
$sourcePath = 'sample.html';
$targetPath = 'output.xlsx';

// Prepare conversion request
$request = new ConvertDocumentRequest(
    $sourcePath,          // Path to the source HTML file
    'XLSX',               // Desired output format
    null,                 // Optional conversion options (null for defaults)
    $targetPath           // Path where the XLSX will be saved
);

try {
    // Perform conversion
    $apiInstance->convertDocument($request);
    echo "Conversion successful. XLSX saved to {$targetPath}\n";
} catch (Exception $e) {
    echo 'Conversion failed: ', $e->getMessage(), "\n";
}
?>

Lưu ý: Ví dụ mã này trình bày chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật các đường dẫn tệp (sample.html, output.xlsx), xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển của bạn. Nếu gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Chuyển đổi HTML sang XLSX dựa trên đám mây qua REST API bằng cURL

Bạn cũng có thể thực hiện việc chuyển đổi trực tiếp qua các cuộc gọi REST. Dưới đây là các lệnh cURL cần thiết.

Đầu tiên, hãy lấy token truy cập bằng thông tin xác thực client của bạn.

curl -X POST "https://api.groupdocs.cloud/v1.0/oauth/token" \
     -H "Content-Type: application/json" \
     -d '{"grant_type":"client_credentials","client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

Tải tệp HTML lên endpoint lưu trữ.

curl -X POST "https://api.groupdocs.cloud/v1.0/storage/upload" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@sample.html"

Yêu cầu chuyển đổi sang XLSX.

curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "inputPath": "sample.html",
           "outputPath": "output.xlsx",
           "outputFormat": "XLSX"
         }'

Tải xuống tệp đã chuyển đổi.

curl -X GET "https://api.groupdocs.cloud/v1.0/storage/download?path=output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

Để biết thêm chi tiết về các tham số yêu cầu, xem tài liệu API chính thức.

Cài đặt và Thiết lập trong PHP

  1. Cài đặt SDK qua Composer:
    composer require groupdocs-conversion-cloud
    
  2. Xác minh việc cài đặt bằng cách kiểm tra thư mục vendor.
  3. Lấy Client IDClient Secret của bạn từ cổng GroupDocs.
  4. (Tùy chọn) Tải gói mới nhất thủ công từ Download URL.
  5. Đảm bảo phiên bản PHP của bạn đáp ứng yêu cầu của SDK (PHP 7.4+).

Hướng dẫn chuyển đổi HTML sang XLSX trong PHP với GroupDocs.Conversion

GroupDocs.Conversion Cloud cung cấp một API thống nhất, trừu tượng hoá logic riêng biệt cho từng định dạng. Khi bạn gửi một tài liệu HTML, dịch vụ sẽ phân tích cú pháp markup, render các bảng, kiểu dáng và hình ảnh nhúng, sau đó ánh xạ chúng vào các bảng tính Excel. Cách tiếp cận này loại bỏ nhu cầu sử dụng các trình phân tích của bên thứ ba hoặc việc tạo CSV thủ công, mang lại một biểu diễn bảng tính trung thực của bố cục HTML gốc.

GroupDocs.Conversion Features

  • Định dạng đầu vào đa dạng - HTML, DOCX, PDF, và hơn nữa.
  • Kết xuất độ trung thực cao - Giữ nguyên kiểu dáng CSS, các ô đã hợp nhất và hình ảnh.
  • Xử lý đám mây mở rộng - Xử lý các tệp lớn mà không bị giới hạn tài nguyên cục bộ.
  • Xử lý dữ liệu an toàn - Tất cả lưu lượng được mã hoá và tệp được lưu tạm thời.
  • Tùy chọn mở rộng - Kiểm soát tên bảng tính, độ rộng cột và các chế độ trích xuất dữ liệu.

Tối ưu hiệu suất cho việc chuyển đổi HTML sang XLSX trong PHP

Khi chuyển đổi các báo cáo HTML lớn, hãy xem xét các mẹo sau:

Kích thước HTMLThời gian chuyển đổi trung bìnhBộ nhớ sử dụng tối đa
100 KB0.8 s45 MB
500 KB2.4 s120 MB
1 MB4.9 s210 MB

Khuyến nghị

  • Chia nhỏ HTML lớn thành các phần và chuyển đổi chúng một cách tuần tự.
  • Bật streaming bằng cách đặt useStreaming=true trong các tùy chọn yêu cầu.
  • Tái sử dụng client API trên nhiều lần chuyển đổi để tránh chi phí xác thực lặp lại.

Những thực hành này cải thiện Hiệu suất chuyển đổi HTML sang XLSX trong PHP và giảm áp lực bộ nhớ trên máy chủ của bạn.

Thực hành bảo mật tốt nhất cho việc chuyển đổi HTML sang XLSX

  • Lưu trữ thông tin xác thực một cách an toàn - Sử dụng biến môi trường hoặc trình quản lý bí mật thay vì mã hoá cứng.
  • Xác thực đầu vào HTML - Loại bỏ các script hoặc tài nguyên bên ngoài có thể gây nguy hiểm trước khi tải lên.
  • Sử dụng HTTPS - Tất cả các endpoint API yêu cầu TLS 1.2 trở lên.
  • Áp dụng quyền hạn tối thiểu - Cấp SDK chỉ các phạm vi lưu trữ mà nó cần.
  • Giám sát việc sử dụng - Kích hoạt nhật ký kiểm toán trong cổng GroupDocs để theo dõi hoạt động chuyển đổi.

Kết luận

Việc chuyển đổi HTML sang XLSX trong PHP trở nên đơn giản với GroupDocs.Conversion Cloud SDK for PHP. Bằng cách làm theo các bước, ví dụ mã và hướng dẫn bảo mật được trình bày ở đây, bạn có thể tạo ra các tệp Excel một cách đáng tin cậy từ nội dung HTML phong phú, bất kể bạn chạy quy trình trên‑premises hay trong đám mây. Đối với triển khai sản xuất, hãy lấy giấy phép phù hợp qua trang giấy phép tạm thời hoặc khám phá các tùy chọn định giá đầy đủ trên trang sản phẩm.

Câu hỏi thường gặp

Làm thế nào để tôi xử lý các tệp HTML lớn trong quá trình chuyển đổi HTML sang XLSX bằng PHP?
Chia tài liệu thành các đoạn nhỏ hơn, sử dụng tùy chọn streaming, và xử lý từng đoạn một cách tuần tự. Cờ useStreaming của SDK giảm việc sử dụng bộ nhớ và tăng tốc quá trình chuyển đổi.

Cách được khuyến nghị để bảo mật thông tin xác thực API của tôi cho việc chuyển đổi HTML sang XLSX trong PHP là gì?
Lưu YOUR_CLIENT_IDYOUR_CLIENT_SECRET trong các biến môi trường hoặc trong một kho bí mật, và không bao giờ commit chúng vào hệ thống kiểm soát phiên bản. SDK sẽ đọc các giá trị này khi chạy.

Tôi có thể chạy chuyển đổi HTML sang XLSX trên Azure Functions hoặc AWS Lambda không?
Có. API đám mây hoạt động từ bất kỳ môi trường nào có thể thực hiện các yêu cầu HTTPS, bao gồm các nền tảng không máy chủ của Azure và AWS. Chỉ cần bao gồm SDK qua Composer và cấu hình URL endpoint nếu cần.

Có cách nào chuyển đổi HTML sang XLSX mà không cần viết mã phân tích tùy chỉnh không?
Chắc chắn rồi. Phương thức ConvertDocument của SDK trừu tượng hóa toàn bộ logic phân tích và ánh xạ, cho phép bạn chuyển đổi chỉ bằng một cuộc gọi API duy nhất.

Đọc thêm