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#
Renderar arquivos do Excel como imagens é essencial ao incorporar folhetos em páginas da web, documentação ou relatórios. Este artigo mostra como converter um livro de trabalho inteiro do Excel em formatos de imagem de alta qualidade usando Aspose.Cells para .NET.
Por que converter livros de trabalho em imagens?
- Gerar previsões para arquivos do Excel
- Arquivos em formatos de imagem
- Incorporar conteúdo em relatórios ou fluxos de trabalho impressos
- Exibir folhetos em aplicativos que não suportam a visualização nativa do Excel
Implementação passo a passo
Passo 1: Instalar Aspose.Cells para .NET
Adicionar 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
};
Estas configurações controlam o formato de saída e a resolução. você também pode configurar:
Transparent
Para o fundoOnlyArea
Para excluir margensPrintingPageType
Para que conteúdo incluir
Passo 4: Render o livro de trabalho
WorkbookRender renderer = new WorkbookRender(workbook, options);
Passo 5: Converter cada página em imagem
Passe pelas páginas e exportem cada uma delas:
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: Salve as imagens
O código acima já salva cada arquivo de imagem para o disco usando o nome definido.
// Output:
// workbook_page_1.png
// workbook_page_2.png
// ...
Passo 7: Melhorias opcionais
Você pode fazer mais renderização de imagem fina:
// Example: show gridlines
options.ShowGridLines = true;
// Example: render the entire sheet content in one page
options.AllColumnsInOnePagePerSheet = true;
Melhores Práticas
- Use alta resolução (200+ dpi) para imagens de qualidade de impressão.
- Permite
AllColumnsInOnePagePerSheet
para folhas amplas. - Combine a saída em um PDF ou galeria de imagens para apresentações.
Problemas e Soluções Comuns
Questão | Solução |
---|---|
A imagem de saída é branca | Assegurar que o livro de trabalho está carregado e contém dados visíveis |
A imagem é cortada | Sete OnePagePerSheet = true ou ajustar a escalação da página |
Produção de baixa qualidade | Aumento HorizontalResolution e VerticalResolution |