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 fundo
  • OnlyArea Para excluir margens
  • PrintingPageType 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ãoSolução
A imagem de saída é brancaAssegurar que o livro de trabalho está carregado e contém dados visíveis
A imagem é cortadaSete OnePagePerSheet = true ou ajustar a escalação da página
Produção de baixa qualidadeAumento HorizontalResolution e VerticalResolution
 Português