Tienes que cargar una string HTML o una página web en Excel para procesar, visualizar o almacenar?Este guía explica cómo convertir el contenido HTML directamente en un libro de trabajo de Excel utilizando Aspose.Cells para .NET.
Introducción
Convertir datos HTML a Excel puede ser una tarea desafiante debido a la complejidad de las estructuras HTML y la necesidad de formatar con precisión en Excel. Sin embargo, con Aspose.Cells para .NET, este proceso se vuelve sencillo y eficiente.
Este artículo le guiará a través de los pasos necesarios para convertir una string HTML o un archivo en un libro de trabajo de Excel utilizando C#. .xlsx
El archivo.
Use Casas para HTML a Excel Conversion
- Convertir datos de correo electrónico o CMS en Excel
- Procesar informes HTML o exportaciones de plataformas de terceros
- Importación de tablas web en placas estructuradas
Guía paso a paso
Paso 1: Instalar Aspose.Cells para .NET
$ dotnet add package Aspose.Cells
Paso 2: Preparar HTML como una cinta
Prepara tu contenido HTML ya sea de una fuente externa o directamente dentro del 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>";
Paso 3: Convertir la corriente a la corriente
Convertir el HTML en una MemoryStream
Objeto, que es necesario para cargar contenido HTML.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
// Proceed with loading the stream into an Excel workbook
}
Paso 4: Cargar HTML Stream con HtmlLoadOptions
Uso HtmlLoadOptions
para descargar el contenido HTML de la MemoryStream
Crear una nueva Workbook
El objeto.
using (MemoryStream htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlString)))
{
Workbook workbook = new Workbook(htmlStream, new HtmlLoadOptions());
}
Paso 5: Trabajar con el libro de trabajo (opcional)
Una vez que el contenido HTML se carga en un Workbook
, Por ejemplo, puede querer agregar fórmulas o 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
}
Paso 6: Salva el archivo resultante de Excel
Por último, salvo la modificación Workbook
Un archivo en el 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);
}
Exemplos de código completo
Aquí hay un ejemplo completo que demuestra cómo convertir una string HTML en un archivo de Excel utilizando 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.");
}
}
Mejores Prácticas
La práctica | Beneficios |
---|---|
Uso de flujos para la integración web | Más fácil de manejar en APIs |
Uso HtmlLoadOptions | Personalizar parsing o gestionar contenido HTML avanzado |
Columnas Auto-Fit | Mejora la lectura de la producción |
Subsección: Tratamiento de estructuras HTML complejas
Cuando se trata de estructuras HTML complejas, es importante utilizar la HtmlLoadOptions
clase para personalizar cómo Aspose.Cells parsa el HTML. Esto puede incluir opciones de configuración como ignorar ciertos elementos o tratar etiquetas específicas de manera 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.");
}
}
Conclusión
Convertir contenido HTML a Excel utilizando Aspose.Cells para .NET es una manera poderosa de integrar los datos web en sus flujos de trabajo de Excel.