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ção | Propósito |
---|---|
Usar OnePagePerSheet = true | Prevenir a divisão de várias páginas na imagem |
Resolução mais baixa | Otimiza para geração mais rápida de miniaturas |
Redimensionar imagem após renderização | Mais controle sobre escalonamento e qualidade |