Renderar arquivos do Excel como imagens é essencial ao incorporar folhetos em páginas da web, documentação ou relatórios. Este artigo mostra como converter um livro de trabalho inteiro do Excel em formatos de imagem de alta qualidade usando Aspose.Cells para .NET.
Introdução
Converter um livro de trabalho do Excel em um formato de imagem pode ser incrivelmente útil para várias aplicações, como gerar previsões de arquivos Excel, arquivando folhetos num formato mais acessível, incorporando conteúdo de folhas em relatórios ou fluxos de trabalhos de impressão, e exibindo folhes em aplicativos que não suportam visualização nativa de Excel. Este guia irá guiá-lo através do processo usando Aspose.Cells para .NET, uma poderosa biblioteca projetada para lidar com operações complexas do excel com facilidade.
Implementação passo a passo
Passo 1: Instalar Aspose.Cells para .NET
Antes de começar, certifique-se de que você instalou Aspose.Cells em seu projeto. Você pode fazer isso através do NuGet Package Manager:
dotnet add package Aspose.Cells
Passo 2: Carregar o arquivo do Excel
O primeiro passo é carregar o arquivo do Excel em um Workbook
Objeto, que representa um livro de trabalho do Excel na memória.
Workbook workbook = new Workbook("Book1.xlsx");
Passo 3: Configurar opções de imagem
Em seguida, configure as opções de imagem que controlam como suas imagens serão renderizadas. isto inclui a configuração do formato de saída e resolução.
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200
};
Estas configurações controlam o formato de saída e a resolução. você também pode configurar outras propriedades como: Transparent
Para o fundo, OnlyArea
para excluir margens, e PrintingPageType
para o conteúdo a incluir.
Passo 4: Render o livro de trabalho
Crie um exemplo de WorkbookRender
Classe com seu livro de trabalho e opções:
WorkbookRender renderer = new WorkbookRender(workbook, options);
Passo 5: Converter cada página em imagem
Passe por cada página no livro de trabalho e exportá-lo como uma imagem.Este exemplo salva cada arquivo de imagem para o disco usando um nome definido.
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// Step 2: Load the Excel file
Workbook workbook = new Workbook("Book1.xlsx");
// Step 3: Configure Image Options
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200
};
// Step 4: Render the Workbook
WorkbookRender renderer = new WorkbookRender(workbook, options);
// Step 5: Convert Each Page to Image and Save
for (int i = 0; i < renderer.PageCount; i++)
{
string fileName = $"workbook_page_{i + 1}.png";
renderer.ToImage(i, fileName);
Console.WriteLine($"Saved: {fileName}");
}
}
}
Isso gerará uma imagem por página lógica com base no layout de impressão atual.
Passo 6: Salve as imagens
O código acima já salva cada arquivo de imagem para o disco usando o nome definido.
// Output:
// workbook_page_1.png
// workbook_page_2.png
// ...
Passo 7: Melhorias opcionais
Você pode aperfeiçoar a sua renderização de imagem aplicando configurações adicionais, como exibir linhas de rede ou garantir que folhas largas sejam renderizadas em uma página.
options.ShowGridLines = true;
options.AllColumnsInOnePagePerSheet = true;
Melhores Práticas
- Use alta resolução (200+ dpi) para imagens de qualidade de impressão.
- Permite
AllColumnsInOnePagePerSheet
para folhas amplas. - Combine a saída em um PDF ou galeria de imagens para apresentações.
Problemas e Soluções Comuns
Questão | Solução |
---|---|
A imagem de saída é branca | Assegurar que o livro de trabalho está carregado e contém dados visíveis |
A imagem é cortada | Sete OnePagePerSheet = true ou ajustar a escalação da página |
Aumento da produção de baixo nível HorizontalResolution
e VerticalResolution