Como Converter um Livro de Trabalho Inteiro do Excel em Imagem em C#
Como Converter um Livro de Trabalho Inteiro do Excel em Imagem em C#
Renderizar arquivos do Excel como imagens é essencial ao incorporar planilhas em páginas da web, documentação ou relatórios. Este artigo demonstra como converter um livro de trabalho do Excel inteiro em formatos de imagem de alta qualidade usando Aspose.Cells for .NET.
Por que Converter Livros de Trabalho em Imagens?
- Gerar prévias para arquivos do Excel
- Arquivar planilhas em formatos de imagem
- Incorporar conteúdo de planilhas em relatórios ou fluxos de impressão
- Exibir planilhas em aplicativos que não suportam visualização nativa do Excel
Implementação Passo a Passo
Passo 1: Instalar Aspose.Cells for .NET
Adicione Aspose.Cells ao seu projeto usando NuGet:
dotnet add package Aspose.Cells
Passo 2: Carregar o Arquivo do Excel
Workbook workbook = new Workbook("Book1.xlsx");
Passo 3: Configurar Opções de Imagem
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200
};
Essas configurações controlam o formato e a resolução da saída. Você também pode configurar:
Transparent
para fundoOnlyArea
para excluir margensPrintingPageType
para que conteúdo incluir
Passo 4: Renderizar o Livro de Trabalho
WorkbookRender renderer = new WorkbookRender(workbook, options);
Passo 5: Converter Cada Página em Imagem
Percorra as páginas e exporte cada uma:
for (int i = 0; i < renderer.PageCount; i++)
{
string fileName = $"workbook_page_{i + 1}.png";
renderer.ToImage(i, fileName);
}
Isso gerará uma imagem por página lógica com base no layout de impressão atual.
Passo 6: Salvar as Imagens
O código acima já salva cada arquivo de imagem no disco usando o nome definido.
// Saída:
// workbook_page_1.png
// workbook_page_2.png
// ...
Passo 7: Melhorias Opcionais
Você pode ajustar ainda mais a renderização de imagens:
// Exemplo: mostrar linhas de grade
options.ShowGridLines = true;
// Exemplo: renderizar todo o conteúdo da planilha em uma página
options.AllColumnsInOnePagePerSheet = true;
Melhores Práticas
- Use alta resolução (200+ dpi) para imagens de qualidade para impressão.
- Ative
AllColumnsInOnePagePerSheet
para planilhas largas. - Combine a saída em um PDF ou galeria de imagens para apresentações.
Problemas Comuns & Soluções
Problema | Solução |
---|---|
A imagem de saída está em branco | Certifique-se de que o livro de trabalho está carregado e contém dados visíveis |
A imagem está cortada | Defina OnePagePerSheet = true ou ajuste a escala da página |
Saída de baixa qualidade | Aumente HorizontalResolution e VerticalResolution |