如何将 HTML 转换为 JSON
Sheetize HtmlConverter for .NET 让解析 HTML 文件并输出结构化的 JSON 表格数据变得轻而易举。转换器能够处理内联样式、嵌入的图片以及复杂表格,生成的 JSON 干净整洁,可供 Web API、数据管道或前端应用直接使用。
为什么要进行 HTML → JSON 转换?
- JSON 与语言无关,是在 HTTP 上传输表格数据的理想选择。
- 可以将基于 HTML 的报表复用为仪表盘、机器学习模型或移动应用的数据源。
- 保留 HTML 中的可视化布局,同时以编程方式暴露单元格的数值、公式和元数据。
核心功能
- 完整表格抽取 – 行、列、合并单元格以及样式全部捕获。
- 资源处理 – 图片和多媒体可以以 Base64 编码方式嵌入,或作为 JSON 中的外部文件引用。
- 可定制输出 – 可在紧凑的扁平结构和层次化的工作簿模型之间自由切换。
转换工作流(HTML → JSON)
- 创建转换器 – 实例化
HtmlConverter。 - 设置加载选项 – 指定源 HTML 文件,必要时定义资源的基准 URI。
- 配置保存选项 – 使用
HtmlSaveOptions选择 JSON 架构、是否嵌入资源以及输出路径。 - 执行转换 – 调用
HtmlConverter.Process(loadOptions, saveOptions)。
代码示例 – 将 HTML 转为带嵌入图片的 JSON
using Sheetize;
var loadOptions = new LoadOptions
{
InputFile = @"C:\Docs\Report.html"
};
var saveOptions = new HtmlSaveOptions
{
OutputFile = @"C:\Output\Report.json"
};
HtmlConverter.Process(loadOptions, saveOptions);JSON 示例(简化版)
{
"sheets": [
{
"name": "Sheet1",
"rows": [
{
"cells": [
{
"address": "A1",
"value": "Title",
"style": { "fontWeight": "bold" }
},
{
"address": "B1",
"value": "Image",
"image": "data:image/png;base64,iVBORw0KG..."
}
]
}
]
}
]
}高级技巧
- 选择性抽取 – 设置
HtmlLoadOptions.IncludeElements = new[] { "table", "img" },即可忽略与表格无关的标记。 - 性能优化 – 对大型 HTML 文件,可在
JsonSaveOptions中开启ParallelProcessing = true。 - 自定义序列化 – 实现
IJsonConverter,例如将日期转换为 ISO‑8601 格式。
扩展格式支持
除了 JSON,HtmlConverter 还支持 MHTML、CSV、EPUB、AZW3,甚至可以重新生成 XLSX。这使它成为在 Web、电子书和电子表格生态之间进行数据交换的通用桥梁。
按照上述步骤,你就可以使用 Sheetize 的 HtmlConverter 将任意 HTML 报表可靠地转换为干净、可消费的 JSON。