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 fundo
  • OnlyArea para excluir margens
  • PrintingPageType 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

ProblemaSolução
A imagem de saída está em brancoCertifique-se de que o livro de trabalho está carregado e contém dados visíveis
A imagem está cortadaDefina OnePagePerSheet = true ou ajuste a escala da página
Saída de baixa qualidadeAumente HorizontalResolution e VerticalResolution
 Português