Precisa carregar uma faixa HTML ou uma página web no Excel para processamento, visualização ou armazenamento? Este guia explica como converter conteúdo HTML diretamente para um livro de trabalho do Excel usando Aspose.Cells para .NET.
Introdução
Converter dados HTML para Excel pode ser uma tarefa desafiadora devido à complexidade das estruturas HTML e à necessidade de formatação precisa no Excel. No entanto, com Aspose.Cells para .NET, este processo torna-se simples e eficiente.
Este artigo irá acompanhá-lo através dos passos necessários para converter uma faixa HTML ou arquivo em um livro de trabalho do Excel usando C#. Nós vamos cobrir tudo desde a instalação do pacote necessário para salvar a saída final como um .xlsx
arquivo .
Use Casos para conversão de HTML para Excel
- Converter e-mail ou dados CMS em Excel
- Processar relatórios HTML ou exportações de plataformas de terceiros
- Importar tabelas da web para folhas estruturadas
Guia passo a passo
Passo 1: Instalar Aspose.Cells para .NET
$ dotnet add package Aspose.Cells
Passo 2: Prepare o HTML como uma faixa
Prepare seu conteúdo HTML de uma fonte externa ou diretamente dentro do código.
string htmlString = "<html><body><table><tr><td>Item</td><td>Price</td></tr><tr><td>Book</td><td>20</td></tr></table></body></html>";
Passo 3: Converter a corrente para a corrente
Converter a linha HTML em um MemoryStream
Objeto, que é necessário para carregar conteúdo HTML.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
// Proceed with loading the stream into an Excel workbook
}
Passo 4: Carregar o fluxo HTML com opções HTMLLoad
Utilização HtmlLoadOptions
para carregar o conteúdo HTML do MemoryStream
Criando um novo Workbook
O Objeto.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
}
Passo 5: Trabalhar com o livro de trabalho (opcional)
Quando o conteúdo HTML é carregado em um Workbook
Por exemplo, você pode querer adicionar fórmulas ou estilos.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
Worksheet sheet = workbook.Worksheets[0];
// Add formulas, styles, or modify data
}
Passo 6: Salve o arquivo resultante do Excel
Por fim, salve a modificação Workbook
para um arquivo no disco.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
// Optional: Modify the data or format
Worksheet sheet = workbook.Worksheets[0];
sheet.AutoFitColumns();
workbook.Save("converted.xlsx", SaveFormat.Xlsx);
}
Exemplo de código completo
Aqui está um exemplo completo que mostra como converter uma faixa HTML em um arquivo do Excel usando Aspose.Cells para .NET.
using System;
using System.IO;
using System.Text;
using Aspose.Cells;
public class HtmlToExcelConverter
{
public static void Main()
{
string html = "<html><body><table><tr><td>Name</td><td>Score</td></tr><tr><td>Alice</td><td>92</td></tr></table></body></html>";
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(html)))
{
Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
Worksheet sheet = workbook.Worksheets[0];
sheet.AutoFitColumns();
workbook.Save("html_to_excel.xlsx", SaveFormat.Xlsx);
}
Console.WriteLine("HTML converted to Excel.");
}
}
Melhores Práticas
Prática | Benefícios |
---|---|
Utilização de fluxos para a integração web | Mais fácil de lidar com APIs |
Utilização HtmlLoadOptions | Personalizar o parsing ou gerenciar conteúdo HTML avançado |
Colunas Auto-Fit | Melhorar a leitura da produção |
Subsezione: Gestão de estruturas HTML complexas
Quando se trata de estruturas HTML complexas, é importante usar o HtmlLoadOptions
A classe para personalizar como Aspose.Cells parsa o HTML. Isso pode incluir opções de configuração, como ignorar determinados elementos ou lidar com tags específicos de forma diferente.
using System;
using System.IO;
using System.Text;
using Aspose.Cells;
public class ComplexHtmlToExcelConverter
{
public static void Main()
{
string complexHtml = @"
<html>
<body>
<table border='1'>
<tr>
<th>Product</th>
<th>Price</th>
<th>Quantity</th>
</tr>
<tr>
<td>Laptop</td>
<td>$999.99</td>
<td>5</td>
</tr>
<tr>
<td>Smartphone</td>
<td>$699.99</td>
<td>10</td>
</tr>
</table>
</body>
</html>";
// Create a MemoryStream from the HTML string
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(complexHtml)))
{
// Use HtmlLoadOptions to customize parsing if needed
HtmlLoadOptions loadOptions = new HtmlLoadOptions();
loadOptions.AutoFilterColumns = true; // Enable auto-filter for columns
// Load the HTML content into a Workbook
Workbook workbook = new Workbook(htmlStream, loadOptions);
// Access the first worksheet
Worksheet sheet = workbook.Worksheets[0];
// Auto-fit all columns to improve readability
sheet.AutoFitColumns();
// Save the resulting Excel file
workbook.Save("complex_html_to_excel.xlsx", SaveFormat.Xlsx);
}
Console.WriteLine("Complex HTML converted to Excel.");
}
}
Conclusão
Converter conteúdo HTML para o Excel usando Aspose.Cells para .NET é uma maneira poderosa de integrar dados da web em seus fluxos de trabalho do Excel. Seguindo este guia, você será capaz de lidar com estruturas HTML simples e complexas com facilidade.