Рендерирование файлов Excel в качестве изображений является жизненно важным при включении разделных таблиц в веб-страницы, документацию или отчеты. Эта статья показывает, как конвертировать целую рабочую книгу Excel в высококачественные форматы изображения с использованием Aspose.Cells для .NET.

Введение

Конвертировать рабочую книгу Excel в формат изображения может быть невероятно полезным для различных приложений, таких как генерирование предварительных просмотров файлов Excel, архивирование слайдов в более доступном формате, включение контента рассылки в отчеты или печатные рабочие потоки, и отображение разсылок в приложениях, которые не поддерживают коренное просмотр Excel.

Step-by-Step реализация

Шаг 1: Инсталляция Aspose.Cells для .NET

Перед тем, как начать, убедитесь, что вы установили Aspose.Cells в вашем проекте. Вы можете сделать это через NuGet Package Manager:

dotnet add package Aspose.Cells

Шаг 2: Загрузите файл Excel

Первым шагом является загрузка файла Excel в Workbook Объект, который представляет собой рабочую книгу Excel в памяти.

Workbook workbook = new Workbook("Book1.xlsx");

Шаг 3: Настройка опций изображения

Далее настройте варианты изображения, которые контролируют, как будут воспроизведены ваши образы. Это включает в себя настройку формата выхода и разрешения.

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200
};

Эти настройки контролируют формат выхода и разрешение. Вы также можете конфигурировать другие свойства, такие как: Transparent и на фоне, OnlyArea исключить маргины, и PrintingPageType Какой контент включать.

Шаг 4: Оставьте рабочую книгу

Создайте пример для WorkbookRender класс с рабочей книгой и опциями:

WorkbookRender renderer = new WorkbookRender(workbook, options);

Шаг 5: Конвертировать каждую страницу в изображение

Пройдите через каждую страницу в рабочей книге и экспортируйте ее как изображение.Этот пример сохраняет каждый файл изображения на диск с использованием определенного названия.

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}");
        }
    }
}

Это будет генерировать одну картинку на логическую страницу, основанную на текущем оформлении печати.

Шаг 6: Сохраните изображения

Вышеуказанный код уже сохраняет каждый файл изображения на диск с использованием определенного названия.

// Output:
// workbook_page_1.png
// workbook_page_2.png
// ...

Шаг 7: Опциональные улучшения

Вы можете усовершенствовать рендерирование изображения, используя дополнительные настройки, такие как отображение сетчатки или обеспечение того, чтобы широкие листы были представлены на одной странице.

options.ShowGridLines = true;
options.AllColumnsInOnePagePerSheet = true;

Лучшие практики

  • Используйте высокое разрешение (200+ dpi) для печатных изображений.
  • Возможность AllColumnsInOnePagePerSheet Для широких листов.
  • Комбинировать вывод в PDF или галерею изображений для презентаций.

Общие проблемы и решения

ПроблемаРешение
Источник изображения белыйУбедитесь, что рабочая книга загружена и содержит видимые данные
Изображение отрезаноСет OnePagePerSheet = true или корректировать скалирование страницы

Невысокое качество продукции, повышается HorizontalResolution и VerticalResolution

More in this category