Как преобразовать Excel в миниатюру изображения на C#
Как преобразовать Excel в миниатюру изображения на C#
При работе с функциями пересмотра документа или библиотеками контента, миниатюрные изображения обеспечивают быструю визуальную ссылку без загрузки всего файла. Этот урок показывает, как создать миниатюрные изображения из файлов Excel с помощью Aspose.Cells для .NET.
Зачем использовать тоннели?
- Создание карточек предварительного просмотра для галерей документов
- Создание визуальных панелей отчетов о расширении
- Добавить легкие изображения в поисковые или файловые инструменты управления
Step-by-Step Руководство
Шаг 1: Установка Aspose.Cells
dotnet add package Aspose.Cells
Шаг 2: Загрузите рабочую книгу
Workbook workbook = new Workbook("FinanceReport.xlsx");
Worksheet sheet = workbook.Worksheets[0];
Шаг 3: Настройка вариантов рендерирования тоннелей
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 96,
VerticalResolution = 96,
OnePagePerSheet = true
};
Шаг 4: Перевести первый рабочий лист на изображение
SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "preview_temp.png");
Шаг 5: Рециркулировать изображение в тоннельные размеры (опционально)
Вы можете использовать графическую библиотеку (например, System.Drawing) для восстановления изображения:
using System.Drawing;
Bitmap original = new Bitmap("preview_temp.png");
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");
Шаг 6: Используйте изображение тоннеля
Теперь у вас есть легкий тоннель, подходящий для предварительных просмотров.
Полный примерный код
using System;
using System.Drawing;
using Aspose.Cells;
using Aspose.Cells.Rendering;
class Program
{
static void Main()
{
// Load Excel file
Workbook workbook = new Workbook("FinanceReport.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Configure low-resolution options
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 96,
VerticalResolution = 96,
OnePagePerSheet = true
};
// Render full sheet as a temporary image
SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "preview_temp.png");
// Resize to thumbnail
using (Bitmap original = new Bitmap("preview_temp.png"))
{
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");
}
Console.WriteLine("Thumbnail image created from Excel worksheet.");
}
}
Лучшие практики
Рекомендации | Цель |
---|---|
Use OnePagePerSheet = true | Предотвращение многостраничного разделения в изображении |
Низкая резолюция | Оптимизация для более быстрой генерации миниатюров |
Изображение после рендерации | Больше контроля над скалированием и качеством |