Как преобразовать Excel в миниатюру изображения на C#
Как преобразовать Excel в миниатюру изображения на C#
Когда вы работаете с функциями предварительного просмотра документов или библиотеками контента, миниатюры предоставляют быстрый визуальный справочник без загрузки всего файла. Этот учебник демонстрирует, как создавать миниатюры из файлов Excel с использованием Aspose.Cells для .NET.
Зачем использовать миниатюры?
- Создавайте карточки предварительного просмотра для галерей документов
- Создавайте визуальные панели управления отчетами по электронным таблицам
- Добавляйте легковесные визуальные элементы в инструменты поиска или управления файлами
Пошаговое руководство
Шаг 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()
{
// Загрузите файл Excel
Workbook workbook = new Workbook("FinanceReport.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Настройте параметры низкого разрешения
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 96,
VerticalResolution = 96,
OnePagePerSheet = true
};
// Отрендерите полный лист как временное изображение
SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "preview_temp.png");
// Измените размер до миниатюры
using (Bitmap original = new Bitmap("preview_temp.png"))
{
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");
}
Console.WriteLine("Миниатюра изображения создана из листа Excel.");
}
}
Рекомендации по лучшим практикам
Рекомендация | Цель |
---|---|
Используйте OnePagePerSheet = true | Предотвращает разбиение на несколько страниц в изображении |
Низкое разрешение | Оптимизирует для более быстрого создания миниатюр |
Измените размер изображения после рендеринга | Больше контроля над масштабированием и качеством |