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.

Introdução

Converter um livro de trabalho do Excel em um formato de imagem pode ser incrivelmente útil para várias aplicações, como gerar previsões de arquivos Excel, arquivando folhetos num formato mais acessível, incorporando conteúdo de folhas em relatórios ou fluxos de trabalhos de impressão, e exibindo folhes em aplicativos que não suportam visualização nativa de Excel. Este guia irá guiá-lo através do processo usando Aspose.Cells para .NET, uma poderosa biblioteca projetada para lidar com operações complexas do excel com facilidade.

Implementação passo a passo

Passo 1: Instalar Aspose.Cells para .NET

Antes de começar, certifique-se de que você instalou Aspose.Cells em seu projeto. Você pode fazer isso através do NuGet Package Manager:

dotnet add package Aspose.Cells

Passo 2: Carregar o arquivo do Excel

O primeiro passo é carregar o arquivo do Excel em um Workbook Objeto, que representa um livro de trabalho do Excel na memória.

Workbook workbook = new Workbook("Book1.xlsx");

Passo 3: Configurar opções de imagem

Em seguida, configure as opções de imagem que controlam como suas imagens serão renderizadas. isto inclui a configuração do formato de saída e resolução.

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 outras propriedades como: Transparent Para o fundo, OnlyArea para excluir margens, e PrintingPageType para o conteúdo a incluir.

Passo 4: Render o livro de trabalho

Crie um exemplo de WorkbookRender Classe com seu livro de trabalho e opções:

WorkbookRender renderer = new WorkbookRender(workbook, options);

Passo 5: Converter cada página em imagem

Passe por cada página no livro de trabalho e exportá-lo como uma imagem.Este exemplo salva cada arquivo de imagem para o disco usando um nome definido.

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Step 2: Load the Excel file
        Workbook workbook = new Workbook("Book1.xlsx");

        // Step 3: Configure Image Options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200
        };

        // Step 4: Render the Workbook
        WorkbookRender renderer = new WorkbookRender(workbook, options);

        // Step 5: Convert Each Page to Image and Save
        for (int i = 0; i < renderer.PageCount; i++)
        {
            string fileName = $"workbook_page_{i + 1}.png";
            renderer.ToImage(i, fileName);
            Console.WriteLine($"Saved: {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 aperfeiçoar a sua renderização de imagem aplicando configurações adicionais, como exibir linhas de rede ou garantir que folhas largas sejam renderizadas em uma página.

options.ShowGridLines = true;
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

Aumento da produção de baixo nível HorizontalResolution e VerticalResolution

More in this category