将 HTML 报告转换为 Excel 电子表格是基于 Java 的 Web 应用程序的常见需求,这类应用需要让用户下载分析报告或发票。
GroupDocs.Conversion Cloud SDK for Java 提供了强大的 API,能够在无需本地 Office 安装的情况下处理格式转换的繁重工作。
在本指南中,您将了解如何设置 SDK、编写转换代码,以及如何使用 cURL 通过 REST 接口调用同一服务。
完成后,您就可以将 HTML‑to‑XLSX 的转换嵌入到服务器、Servlet、Spring Boot 应用或任何多线程 Java 服务中。
在 Java 中将 HTML 报告导出为 XLSX - 要求
许多企业门户会生成动态 HTML 仪表板,用户希望将其导出为 XLSX 工作簿以进行离线分析。典型需求包括:
- 访问存储在云存储中的 HTML 源代码或即时生成的代码。
- 在转换过程中保留表格结构、cell 样式和数字格式。
- 能够在后端服务器、Servlet 容器或微服务中运行转换,而无需安装 Microsoft Office。
手动复制粘贴或客户端库无法保证一致的格式,尤其是在处理大型报告或高并发场景时,例如 Java 中的 HTML 转 XLSX 转换服务器。
利用 GroupDocs.Conversion Cloud SDK for Java 满足导出需求
SDK 提供基于云的转换引擎,支持将 HTML 作为输入并将 XLSX 作为输出,消除了对本地 Office 组件的需求。符合要求的关键功能包括:
- Cloud processing - 重量级转换在 GroupDocs 服务器上运行,适用于 Java 中的 HTML 到 XLSX 转换 servlet 或 Spring Boot Web 应用程序。
- Configurable options - 您可以通过
XlsxConvertOptions保留原始格式、设置工作表名称并控制单元格数据类型。 - Thread‑safe client - 适用于 Java 中的 HTML 到 XLSX 转换多线程,支持高吞吐量批处理作业。
Java 中的 HTML 转 XLSX 转换:实现
安装 GroupDocs.Conversion Cloud SDK
将 SDK 添加到您的 Maven 项目中:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion-cloud</artifactId>
<version>23.12</version>
</dependency>
或运行安装命令:
mvn install com.groupdocs:groupdocs-conversion-cloud
初始化 API 客户端
使用您的凭据创建一个 ApiClient,并实例化 ConversionApi。
import com.groupdocs.conversion.cloud.ApiClient;
import com.groupdocs.conversion.cloud.api.ConversionApi;
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ConversionApi conversionApi = new ConversionApi(apiClient);
设置源文件信息
指定位于默认云存储中的 HTML 文件。
import com.groupdocs.conversion.cloud.model.FileInfo;
FileInfo sourceFile = new FileInfo();
sourceFile.setFilePath("input.html"); // path in the cloud storage
sourceFile.setStorageName("DefaultStorage"); // optional
配置 XLSX 转换选项
调整选项,例如保留原始格式。
import com.groupdocs.conversion.cloud.model.XlsxConvertOptions;
XlsxConvertOptions xlsxOptions = new XlsxConvertOptions();
xlsxOptions.setPreserveOriginalFormatting(true);
执行转换并检索结果
构建请求,执行它,并获取输出路径。
import com.groupdocs.conversion.cloud.model.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertDocumentResponse;
ConvertDocumentRequest request = new ConvertDocumentRequest();
request.setFileInfo(sourceFile);
request.setFormat("xlsx"); // target format
request.setConvertOptions(xlsxOptions);
request.setOutputPath("output.xlsx"); // desired output path
try {
ConvertDocumentResponse response = conversionApi.convertDocument(request);
System.out.println("Conversion successful. Output file: " + response.getPath());
} catch (Exception e) {
System.err.println("Error during conversion: " + e.getMessage());
e.printStackTrace();
}
使用 Java 将 HTML 文档转换为 XLSX - 完整代码示例
下面的示例将所有部分组合在一个可运行的类中。
import com.groupdocs.conversion.cloud.ApiClient;
import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.model.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertDocumentResponse;
import com.groupdocs.conversion.cloud.model.FileInfo;
import com.groupdocs.conversion.cloud.model.XlsxConvertOptions;
public class HtmlToXlsxConversionExample {
public static void main(String[] args) {
// Initialize API client (replace with your actual credentials)
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ConversionApi conversionApi = new ConversionApi(apiClient);
// Define source HTML file information
FileInfo sourceFile = new FileInfo();
sourceFile.setFilePath("input.html"); // path in the cloud storage
sourceFile.setStorageName("DefaultStorage"); // optional, use default if omitted
// Set conversion options specific to XLSX output
XlsxConvertOptions xlsxOptions = new XlsxConvertOptions();
// Example option: preserve original formatting (if needed)
xlsxOptions.setPreserveOriginalFormatting(true);
// Build conversion request
ConvertDocumentRequest request = new ConvertDocumentRequest();
request.setFileInfo(sourceFile);
request.setFormat("xlsx"); // target format
request.setConvertOptions(xlsxOptions);
request.setOutputPath("output.xlsx"); // desired output path in cloud storage
try {
// Perform conversion
ConvertDocumentResponse response = conversionApi.convertDocument(request);
System.out.println("Conversion successful. Output file: " + response.getPath());
} catch (Exception e) {
System.err.println("Error during conversion: " + e.getMessage());
e.printStackTrace();
}
}
}
注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新文件路径(
input.html、output.xlsx)以匹配实际文件位置,确认已正确安装所有必需的依赖项,并在开发环境中进行彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。
使用 REST 和 cURL 从 HTML 执行 XLSX 导出
您可以通过直接调用 REST API 来实现相同的转换,而无需编写 Java 代码。流程与 SDK 步骤相同:获取令牌、上传 HTML 文件、请求转换并下载 XLSX 结果。
获取访问令牌
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
上传源 HTML
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: text/html" \
--data-binary @input.html
请求转换
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": {
"filePath": "input.html",
"storageName": "DefaultStorage"
},
"outputPath": "output.xlsx",
"format": "xlsx",
"convertOptions": {
"preserveOriginalFormatting": true
}
}'
下载 XLSX 结果
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
有关完整的参数列表和其他示例,请参阅官方 API 文档。
结论
HTML 转 XLSX 的 Java 转换在利用基于云的 GroupDocs.Conversion Cloud SDK for Java 处理时变得非常简便。该 SDK 抽象了解析 HTML 表格、处理样式以及生成符合标准的 XLSX 文件的复杂性,使其非常适合服务器端、Servlet 基础或 Spring Boot Web 应用程序。无论您是构建专用的转换服务器、微服务,还是多线程批处理器,同一套 API 都能扩展以满足负载。请记得从 临时许可证页面 获取临时许可证用于评估,并查看生产使用的定价详情。通过本指南中的代码和 cURL 示例,您现在可以将 HTML 转 XLSX 导出集成到任何 Java 解决方案中。
常见问题
如何在 Java servlet 中执行 HTML 到 XLSX 的转换?
创建一个 servlet,接收上传的 HTML 文件,使用 GroupDocs.Conversion Cloud SDK for Java 调用 convertDocument,并将生成的 XLSX 流写回 HTTP 响应。SDK 的线程安全客户端在 servlet 容器中运行良好。
是否可以在 Java 中将 HTML 转换为 XLSX 作为微服务运行?
是的。将转换逻辑打包到轻量级的 Spring Boot 应用程序中,公开一个 REST 端点,并让 SDK 处理实际的格式转换。这种方法符合在 Java 中的 HTML 到 XLSX 转换微服务模式。
我可以在多线程的 Java 应用程序中将 HTML 转换为 XLSX 吗?
SDK 设计为线程安全,因此您可以并行启动多个转换任务,这对于在 Java 场景下的高容量 HTML 到 XLSX 转换服务器非常有用。
在哪里可以找到有关 GroupDocs.Conversion Cloud SDK for Java 许可的更多详细信息?
访问临时许可页面以获取试用密钥,并查看定价页面了解完整许可证选项。这两个链接都在产品主页上提供。
