Como Converter uma Planilha em Imagem em C#
Como Converter uma Planilha em Imagem em C#
Exportar uma única planilha do Excel para um formato de imagem (por exemplo, PNG, JPEG) é útil ao gerar pré-visualizações, exportar gráficos ou compartilhar representações visuais somente leitura do conteúdo da planilha. Este guia mostra como converter uma planilha de um arquivo do Excel em uma imagem usando Aspose.Cells para .NET.
Casos de Uso
- Gerar uma pré-visualização de uma planilha específica
- Exportar relatórios formatados para e-mail ou documentação
- Incorporar uma única planilha em uma página da web ou PDF
Guia Passo a Passo
Passo 1: Instalar Aspose.Cells para .NET
dotnet add package Aspose.Cells
Passo 2: Carregar o Arquivo Excel
Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Acessar planilha específica
Passo 3: Definir Opções de Renderização de Imagem
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
Passo 4: Criar Objeto SheetRender
SheetRender renderer = new SheetRender(sheet, options);
Passo 5: Renderizar Cada Página em uma Imagem
for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
renderer.ToImage(pageIndex, imageName);
}
Passo 6: Salvar as Imagens
Este código salva automaticamente uma imagem por página imprimível na planilha.
Passo 7: Melhorias Opcionais
Você pode aplicar configurações de layout adicionais:
// Mostrar linhas de grade na imagem de saída
options.ShowGridLines = true;
// Ajustar todo o conteúdo em uma única página
options.AllColumnsInOnePagePerSheet = true;
Código de Exemplo Completo
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// Carregar o arquivo de trabalho do Excel
Workbook workbook = new Workbook("SalesData.xlsx");
// Acessar uma planilha específica
Worksheet sheet = workbook.Worksheets["Q1 Report"];
// Definir opções de renderização de imagem
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
// Habilitar linhas de grade se desejado
options.ShowGridLines = true;
// Renderizar a planilha em imagem(ns)
SheetRender renderer = new SheetRender(sheet, options);
for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
renderer.ToImage(pageIndex, imageName);
Console.WriteLine($"Salvo: {imageName}");
}
Console.WriteLine("Planilha renderizada com sucesso em imagem(ns).");
}
}
Cenários Comuns & Solução de Problemas
Problema | Solução |
---|---|
Conteúdo cortado | Use AllColumnsInOnePagePerSheet = true |
Saída de baixa qualidade | Aumente a resolução da imagem |
Linhas de grade ausentes | Defina ShowGridLines = true |