Como Converter Excel em Imagem Miniatura em C#

Como Converter Excel em Imagem Miniatura em C#

Ao trabalhar com recursos de visualização de documentos ou bibliotecas de conteúdo, imagens em miniatura fornecem uma referência visual rápida sem carregar o arquivo inteiro. Este tutorial demonstra como criar imagens em miniatura a partir de arquivos do Excel usando Aspose.Cells for .NET.

Por que usar miniaturas?

  • Criar cartões de visualização para galerias de documentos
  • Construir painéis visuais de relatórios de planilhas
  • Adicionar visuais leves a ferramentas de pesquisa ou gerenciamento de arquivos

Guia Passo a Passo

Passo 1: Instalar Aspose.Cells

dotnet add package Aspose.Cells

Passo 2: Carregar a Pasta de Trabalho

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

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

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    HorizontalResolution = 96,
    VerticalResolution = 96,
    OnePagePerSheet = true
};

Passo 4: Renderizar a Primeira Planilha para uma Imagem

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

Passo 5: Redimensionar Imagem para Dimensões de Miniatura (Opcional)

Você pode usar uma biblioteca gráfica (por exemplo, System.Drawing) para redimensionar a imagem:

using System.Drawing;

Bitmap original = new Bitmap("preview_temp.png");
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");

Passo 6: Usar a Imagem em Miniatura

Agora você tem uma miniatura leve adequada para visualizações.


Código de Exemplo Completo

using System;
using System.Drawing;
using Aspose.Cells;
using Aspose.Cells.Rendering;

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

        // Configurar opções de baixa resolução
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 96,
            VerticalResolution = 96,
            OnePagePerSheet = true
        };

        // Renderizar a planilha completa como uma imagem temporária
        SheetRender renderer = new SheetRender(sheet, options);
        renderer.ToImage(0, "preview_temp.png");

        // Redimensionar para miniatura
        using (Bitmap original = new Bitmap("preview_temp.png"))
        {
            Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
            thumbnail.Save("thumbnail.png");
        }

        Console.WriteLine("Imagem em miniatura criada a partir da planilha do Excel.");
    }
}

Melhores Práticas

RecomendaçãoPropósito
Usar OnePagePerSheet = truePrevenir a divisão de várias páginas na imagem
Resolução mais baixaOtimiza para geração mais rápida de miniaturas
Redimensionar imagem após renderizaçãoMais controle sobre escalonamento e qualidade
 Português