HTML 报告转换为 Excel 电子表格是基于 PHP 的业务应用程序的常见需求,这些应用程序需要导出数据以进行分析或离线查看。GroupDocs.Conversion Cloud SDK for PHP 提供了可靠的 API,负责渲染 HTML 并生成 XLSX 文件的繁重工作。在本教程中,您将学习如何在 PHP 中执行 HTML 到 XLSX 的转换,确保过程安全,并针对大型文档优化性能。

将 HTML 转换为 XLSX 的步骤(PHP)

  1. 创建 Conversion API 客户端 - 使用您的客户端凭据初始化 ConversionApi 类。
    • 示例:new \GroupDocs\Conversion\ConversionApi($config);
    • 请参阅 API Reference 获取类的详细信息。
  2. 上传 HTML 源文件 - 使用 UploadFile 端点将 HTML 文档发送到 GroupDocs 存储。
  3. 配置转换选项 - 将输出格式设置为 XLSX,并可选地调整页面大小、工作表名称或数据提取设置。
  4. 执行转换 - 调用 ConvertDocument,传入源文件 ID 和已配置的选项。
  5. 下载 XLSX 结果 - 从响应 URL 或存储位置获取生成的文件。

使用 GroupDocs 将 HTML 转换为 XLSX - 完整代码示例

以下示例演示了完整的端到端转换流程,从身份验证到文件下载。

本示例演示如何使用 GroupDocs.Conversion Cloud SDK for PHP 将 HTML 文件转换为 XLSX。

<?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";
}
?>

注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新文件路径(sample.htmloutput.xlsx),验证所有必需的依赖项已正确安装,并在开发环境中彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。

基于云的 HTML 到 XLSX 转换 via REST API 使用 cURL

您也可以直接通过 REST 调用执行转换。以下是所需的 cURL 命令。

首先,使用您的客户端凭据获取访问令牌。

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"}'

将 HTML 文件上传到存储端点。

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

请求转换为 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"
         }'

下载已转换的文件。

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

有关请求参数的更多详细信息,请参阅官方 API 文档

在 PHP 中的安装和设置

  1. 通过 Composer 安装 SDK:
    composer require groupdocs-conversion-cloud
    
  2. 通过检查 vendor 目录来验证安装。
  3. 从 GroupDocs 门户获取您的 Client IDClient Secret
  4. (可选)从 Download URL 手动下载最新的包。
  5. 确保您的 PHP 版本满足 SDK 要求(PHP 7.4+)。

HTML to XLSX Conversion Tutorial in PHP with GroupDocs.Conversion

GroupDocs.Conversion Cloud 提供统一的 API,抽象了特定格式的逻辑。当您发送 HTML 文档时,服务会解析标记,渲染表格、样式和嵌入的图像,然后将它们映射到 Excel 工作表中。这种方法消除了对第三方解析器或手动 CSV 生成的需求,能够忠实地呈现原始 HTML 布局的电子表格表示。

GroupDocs.Conversion 功能

  • 多种输入格式 - HTML、DOCXPDF 等。
  • 高保真渲染 - 保持 CSS 样式、合并单元格和图像。
  • 可扩展的云处理 - 处理大文件而不受本地资源限制。
  • 安全的数据处理 - 所有流量均已加密,文件仅临时存储。
  • 可扩展选项 - 控制工作表名称、列宽以及数据提取模式。

PHP 中 HTML 转 XLSX 转换的性能优化

在转换大型 HTML 报告时,请考虑以下提示:

HTML 大小平均转换时间峰值内存使用
100 KB0.8 s45 MB
500 KB2.4 s120 MB
1 MB4.9 s210 MB

建议

  • 将大型 HTML 分块 为多个部分并顺序转换。
  • 启用流式传输 通过在请求选项中设置 useStreaming=true
  • 重复使用 API 客户端 在多个转换之间,以避免重复的身份验证开销。

这些做法可以提升 HTML 转 XLSX 转换在 PHP 中的性能,并降低服务器的内存压力。

将 HTML 转换为 XLSX 的安全最佳实践

  • 安全存储凭证 - 使用环境变量或密钥管理器,而不是硬编码它们。
  • 验证 HTML 输入 - 在上传前剥离可能危险的脚本或外部资源。
  • 使用 HTTPS - 所有 API 端点都要求 TLS 1.2 或更高版本。
  • 采用最小权限原则 - 仅授予 SDK 所需的存储范围权限。
  • 监控使用情况 - 在 GroupDocs 门户中启用审计日志,以跟踪转换活动。

结论

在 PHP 中使用 GroupDocs.Conversion Cloud SDK for PHP 进行 HTML 转 XLSX 转换变得简单直观。按照本文提供的步骤、代码示例和安全指南,您可以可靠地从丰富的 HTML 内容生成 Excel 文件,无论是在本地还是在云端运行此过程。对于生产部署,请通过 临时许可证页面 获取正式许可证,或在产品站点上查看完整的定价选项。

常见问题

在 PHP 中进行 HTML 转 XLSX 转换时,如何处理大型 HTML 文件?
将文档拆分为更小的片段,使用流式选项,并顺序处理每个片段。SDK 的 useStreaming 标志可降低内存使用并加快转换速度。

推荐的方式是什么,以在 PHP 中进行 HTML 转 XLSX 转换时保护我的 API 凭据?
YOUR_CLIENT_IDYOUR_CLIENT_SECRET 存储在环境变量或机密库中,且绝不要将它们提交到源代码控制。SDK 在运行时读取这些值。

我可以在 Azure Functions 或 AWS Lambda 上运行 HTML 到 XLSX 转换吗?
是的。云 API 可在任何能够发出 HTTPS 请求的环境中工作,包括 Azure 和 AWS 无服务器平台。只需通过 Composer 包含 SDK,并在需要时配置端点 URL。

有没有办法在不编写自定义解析代码的情况下将 HTML 转换为 XLSX?
当然。SDK 的 ConvertDocument 方法抽象了所有解析和映射逻辑,允许您只用一次 API 调用即可完成转换。

阅读更多