Como Converter uma Planilha em Imagem em C#

Como Converter uma Planilha em Imagem em C#

Exportar uma única planilha do Excel para um formato de imagem (por exemplo, PNG, JPEG) é útil ao gerar pré-visualizações, exportar gráficos ou compartilhar representações visuais somente leitura do conteúdo da planilha. Este guia mostra como converter uma planilha de um arquivo do Excel em uma imagem usando Aspose.Cells para .NET.

Casos de Uso

  • Gerar uma pré-visualização de uma planilha específica
  • Exportar relatórios formatados para e-mail ou documentação
  • Incorporar uma única planilha em uma página da web ou PDF

Guia Passo a Passo

Passo 1: Instalar Aspose.Cells para .NET

dotnet add package Aspose.Cells

Passo 2: Carregar o Arquivo Excel

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Acessar planilha específica

Passo 3: Definir Opções de Renderização de Imagem

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200,
    PrintingPageType = PrintingPageType.Default
};

Passo 4: Criar Objeto SheetRender

SheetRender renderer = new SheetRender(sheet, options);

Passo 5: Renderizar Cada Página em uma Imagem

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

Passo 6: Salvar as Imagens

Este código salva automaticamente uma imagem por página imprimível na planilha.

Passo 7: Melhorias Opcionais

Você pode aplicar configurações de layout adicionais:

// Mostrar linhas de grade na imagem de saída
options.ShowGridLines = true;

// Ajustar todo o conteúdo em uma única página
options.AllColumnsInOnePagePerSheet = true;

Código de Exemplo Completo

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Carregar o arquivo de trabalho do Excel
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Acessar uma planilha específica
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Definir opções de renderização de imagem
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Habilitar linhas de grade se desejado
        options.ShowGridLines = true;

        // Renderizar a planilha em imagem(ns)
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Salvo: {imageName}");
        }

        Console.WriteLine("Planilha renderizada com sucesso em imagem(ns).");
    }
}

Cenários Comuns & Solução de Problemas

ProblemaSolução
Conteúdo cortadoUse AllColumnsInOnePagePerSheet = true
Saída de baixa qualidadeAumente a resolução da imagem
Linhas de grade ausentesDefina ShowGridLines = true
 Português