Como Converter Excel em Imagem com Fundo Transparente em C#

Como Converter Excel em Imagem com Fundo Transparente em C#

Quando se cria visuais a partir de planilhas do Excel para uso em apresentações, sites ou composições de design, muitas vezes é útil remover fundos sólidos e preservar apenas o conteúdo. Este artigo explica como converter uma planilha do Excel em uma imagem com fundo transparente usando Aspose.Cells for .NET.

Por Que Usar Fundos Transparentes?

  • Sobrepor o conteúdo da planilha a outros elementos de UI ou fundos
  • Reduzir a desordem visual em painéis e exportações gráficas
  • Melhorar a integração com ferramentas gráficas e apresentações

Guia Passo a Passo

Passo 1: Instalar Aspose.Cells for .NET

dotnet add package Aspose.Cells

Passo 2: Carregar a Pasta de Trabalho e a Planilha Alvo

Workbook workbook = new Workbook("DataGrid.xlsx");
Worksheet sheet = workbook.Worksheets[0];

Passo 3: Configurar Renderização com Fundo Transparente

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    Transparent = true
};

Passo 4: Desativar Fundo e Linhas de Grade

sheet.PageSetup.PrintGridlines = false;
sheet.PageSetup.PrintHeadings = false;
sheet.DisplayGridlines = false;

Passo 5: Renderizar Imagem Usando SheetRender

SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "transparent_output.png");

Passo 6: Usar o PNG Transparente

O resultado será uma imagem PNG limpa com apenas o conteúdo das células renderizado — sem fundo branco ou bordas.


Código de Exemplo Completo

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Carregar o arquivo Excel
        Workbook workbook = new Workbook("DataGrid.xlsx");
        Worksheet sheet = workbook.Worksheets[0];

        // Ocultar linhas de grade e cabeçalhos
        sheet.PageSetup.PrintGridlines = false;
        sheet.PageSetup.PrintHeadings = false;
        sheet.DisplayGridlines = false;

        // Configurar opções de renderização de imagem com transparência
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            Transparent = true,
            OnePagePerSheet = true
        };

        // Renderizar a planilha como uma imagem
        SheetRender renderer = new SheetRender(sheet, options);
        renderer.ToImage(0, "transparent_output.png");

        Console.WriteLine("Planilha renderizada com fundo transparente.");
    }
}

Dicas para Melhores Resultados

DicaDescrição
Use PNG para transparênciaOutros formatos como JPEG não suportam transparência
Desative linhas de grade explicitamenteEvite linhas fantasmas na exportação da imagem
Alinhe o conteúdo das célulasAjuste a aparência com ajustes de estilo das células
 Português