Cómo convertir un libro de Excel completo a imagen en C#
Cómo convertir un libro de Excel completo a imagen en C#
El rendimiento de los archivos de Excel como imágenes es esencial cuando se incorporan las placas en páginas web, documentación o informes.Este artículo demuestra cómo convertir un libro de trabajo completo de Excel en formatos de imagen de alta calidad utilizando Aspose.Cells para .NET.
Por qué convertir libros de trabajo en imágenes?
- Generar previstas para los archivos de Excel
- Archivos en formatos de imagen
- Incorporar el contenido de la hoja de referencia en informes o flujos de trabajo impresos
- Mostrar tarjetas en aplicaciones que no soportan la visualización nativa de Excel
Implementación paso a paso
Paso 1: Instalar Aspose.Cells para .NET
Añadir Aspose.Cells a su proyecto utilizando NuGet:
dotnet add package Aspose.Cells
Paso 2: Cargar el archivo de Excel
Workbook workbook = new Workbook("Book1.xlsx");
Paso 3: Configure opciones de imagen
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200
};
Estas configuraciones controlan el formato de salida y la resolución. También puede configurar:
Transparent
Para el fondoOnlyArea
Exclusión de margenPrintingPageType
Para qué contenido incluir
Paso 4: Render el libro de trabajo
WorkbookRender renderer = new WorkbookRender(workbook, options);
Paso 5: Convertir cada página en imagen
Pasar por las páginas y exportar cada una de ellas:
for (int i = 0; i < renderer.PageCount; i++)
{
string fileName = $"workbook_page_{i + 1}.png";
renderer.ToImage(i, fileName);
}
Esto generará una imagen por página lógica basada en el diseño de impresión actual.
Paso 6: Salva las imágenes
El código anteriormente ya salva cada archivo de imagen al disco utilizando el nombre definido.
// Output:
// workbook_page_1.png
// workbook_page_2.png
// ...
Paso 7: Mejoras opcionales
Usted puede hacer más renderización de imágenes finas:
// Example: show gridlines
options.ShowGridLines = true;
// Example: render the entire sheet content in one page
options.AllColumnsInOnePagePerSheet = true;
Mejores Prácticas
- Uso de alta resolución (200+ dpi) para imágenes de calidad de impresión.
- Permite
AllColumnsInOnePagePerSheet
para las hojas amplias. - Combina la salida en un PDF o galería de imágenes para presentaciones.
Problemas y soluciones comunes
Problemas | Solución |
---|---|
La imagen de salida es blanca | Asegurar que el libro de trabajo está cargado y contiene datos visibles |
La imagen se cortó | Sitio OnePagePerSheet = true o ajustar la escalera de página |
Producción de baja calidad | Aumentar HorizontalResolution y VerticalResolution |