Como Personalizar o Renderização de Imagem do Excel em C#

Como Personalizar o Renderização de Imagem do Excel em C#

Quando você exporta planilhas ou intervalos do Excel para imagens, muitas vezes precisa de controle preciso sobre como o conteúdo aparece. Seja para impressão, apresentação ou incorporação, este artigo demonstra como personalizar a renderização de imagens usando Aspose.Cells for .NET.

Por que Personalizar a Renderização?

  • Melhorar a clareza e a resolução da imagem
  • Mostrar ou ocultar linhas de grade, fórmulas ou cabeçalhos
  • Ajustar layout e dimensionamento às exigências da documentação
  • Ajustar a transparência do fundo ou bordas

Guia Passo a Passo

Passo 1: Instalar Aspose.Cells for .NET

dotnet add package Aspose.Cells

Passo 2: Carregar o Workbook e a Worksheet

Workbook workbook = new Workbook("Template.xlsx");
Worksheet worksheet = workbook.Worksheets["Sheet1"];

Passo 3: Configurar Opções Avançadas de Renderização

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    HorizontalResolution = 300,
    VerticalResolution = 300,
    PrintWithStatusDialog = false,
    Transparent = false,
    OnePagePerSheet = true
};

Passo 4: Ativar Linhas de Grade e Cabeçalhos (Opcional)

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

// Renderizar cabeçalhos de linha/coluna
options.ShowRowColumnHeaders = true;

Passo 5: Personalizar Configurações da Página

// Definir para renderizar toda a planilha como uma única página
options.AllColumnsInOnePagePerSheet = true;
options.AllRowsInOnePagePerSheet = true;

Passo 6: Renderizar para Imagem com SheetRender

SheetRender renderer = new SheetRender(worksheet, options);
renderer.ToImage(0, "custom_output.png");

Passo 7: Salvar e Verificar a Saída

Certifique-se de que a imagem resultante reflita seu layout e escolhas visuais personalizados.


Código de Exemplo Completo

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Carregar arquivo Excel
        Workbook workbook = new Workbook("Template.xlsx");
        Worksheet worksheet = workbook.Worksheets["Sheet1"];

        // Configurar opções avançadas de renderização
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 300,
            VerticalResolution = 300,
            PrintWithStatusDialog = false,
            Transparent = false,
            OnePagePerSheet = true,
            ShowGridLines = true,
            ShowRowColumnHeaders = true,
            AllColumnsInOnePagePerSheet = true,
            AllRowsInOnePagePerSheet = true
        };

        // Renderizar para imagem
        SheetRender renderer = new SheetRender(worksheet, options);
        renderer.ToImage(0, "custom_output.png");

        Console.WriteLine("Planilha personalizada salva como imagem.");
    }
}

Dicas para Melhor Controle

ConfiguraçãoDescrição
ImageTypeEscolha PNG, JPEG, BMP ou TIFF
TransparentDefina como verdadeiro para fundo transparente
SmoothingModeMelhore visuais usando suavização
ShowFormulasMostrar fórmulas em vez de valores calculados
ChartImageWidth / ChartImageHeightDefina o tamanho de saída para gráficos
 Português