Como converter HTML para JSON

Sheetize HtmlConverter para .NET facilita a análise de um arquivo HTML e a geração de uma representação JSON estruturada dos dados de planilha que ele contém. O conversor lida com estilos inline, imagens incorporadas e tabelas complexas, produzindo JSON limpo que pode ser consumido por APIs web, pipelines de dados ou aplicações front‑end.

Por que converter HTML → JSON?

  • JSON é independente de linguagem e perfeito para transmitir dados tabulares via HTTP.
  • Permite reutilizar relatórios baseados em HTML como fontes de dados para dashboards, modelos de machine‑learning ou apps móveis.
  • Mantém o layout visual original no HTML enquanto expõe os valores das células, fórmulas e metadados de forma programática.

Conjunto principal de recursos

  • Extração completa de tabelas – linhas, colunas, células mescladas e estilos são capturados.
  • Manipulação de ativos – imagens e mídias podem ser codificadas em base64 ou armazenadas como arquivos externos referenciados no JSON.
  • Saída personalizável – escolha entre uma estrutura compacta e plana ou um modelo hierárquico de pasta de trabalho.

Fluxo de conversão (HTML → JSON)

  1. Criar o conversor – instancie HtmlConverter.
  2. Definir opções de carregamento – indique o arquivo HTML de origem e, opcionalmente, a URI base para recursos vinculados.
  3. Configurar opções de salvamento – use HtmlSaveOptions para selecionar o esquema JSON, incorporar recursos e definir o caminho de saída.
  4. Executar o processo – chame HtmlConverter.Process(loadOptions, saveOptions).

Exemplo de código – HTML para JSON com imagens embutidas

using Sheetize;

var loadOptions = new LoadOptions
{
    InputFile = @"C:\Docs\Report.html"
};

var saveOptions = new HtmlSaveOptions
{
    OutputFile = @"C:\Output\Report.json"
};

HtmlConverter.Process(loadOptions, saveOptions);

Como o JSON fica (simplificado)

{
  "sheets": [{
    "name": "Sheet1",
    "rows": [{
      "cells": [{
        "address": "A1",
        "value": "Title",
        "style": { "fontWeight": "bold" }
      }, {
        "address": "B1",
        "value": "Image",
        "image": "data:image/png;base64,iVBORw0KG..."
      }]
    }]
  }]
}

Dicas avançadas

  • Extração seletiva – defina HtmlLoadOptions.IncludeElements = new[] { "table", "img" } para ignorar marcações não relacionadas.
  • Desempenho – para arquivos HTML grandes, habilite ParallelProcessing = true em JsonSaveOptions.
  • Serialização personalizada – implemente IJsonConverter para transformar valores de célula (por exemplo, datas para ISO‑8601).

Suporte expandido a formatos

Além de JSON, o mesmo HtmlConverter pode gerar MHTML, CSV, EPUB, AZW3 e até voltar para XLSX. Isso o torna uma ponte universal para troca de dados entre ecossistemas web, e‑book e planilha.

Com esses passos você pode transformar de forma confiável qualquer relatório HTML em JSON limpo e consumível usando o HtmlConverter da Sheetize.

 Português