Как преобразовать 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Предотвращает разбиение на несколько страниц в изображении
Низкое разрешениеОптимизирует для более быстрого создания миниатюр
Измените размер изображения после рендерингаБольше контроля над масштабированием и качеством
 Русский