Как конвертировать рабочий лист в изображение на C#

Как конвертировать рабочий лист в изображение на C#

Экспортирование отдельного листа Excel в формат изображения (например, PNG, JPEG) полезно при создании предварительных просмотров, экспорте диаграмм или обмене визуальными представлениями содержимого таблицы в режиме только для чтения. Этот гид показывает, как преобразовать один лист из книги Excel в изображение с использованием Aspose.Cells для .NET.

Сценарии использования

  • Создание предварительного просмотра конкретного листа
  • Экспорт форматированных отчетов для электронной почты или документации
  • Встраивание одного листа на веб-страницу или в PDF

Пошаговое руководство

Шаг 1: Установите Aspose.Cells для .NET

dotnet add package Aspose.Cells

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

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Доступ к конкретному листу

Шаг 3: Определите параметры рендеринга изображения

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

Шаг 4: Создайте объект SheetRender

SheetRender renderer = new SheetRender(sheet, options);

Шаг 5: Рендеринг каждой страницы в изображение

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

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

Этот код автоматически сохраняет одно изображение для каждой печатной страницы на листе.

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

Вы можете применить дополнительные настройки макета:

// Показать линии сетки в выходном изображении
options.ShowGridLines = true;

// Уместить все содержимое на одной странице
options.AllColumnsInOnePagePerSheet = true;

Полный пример кода

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Загрузите книгу Excel
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Получите доступ к конкретному листу
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Определите параметры рендеринга изображения
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Включите линии сетки, если это необходимо
        options.ShowGridLines = true;

        // Рендеринг листа в изображение(я)
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Сохранено: {imageName}");
        }

        Console.WriteLine("Лист успешно отрендерен в изображение(я).");
    }
}

Общие сценарии и устранение неполадок

ПроблемаРешение
Обрезанное содержимоеИспользуйте AllColumnsInOnePagePerSheet = true
Низкое качество выводаУвеличьте разрешение изображения
Отсутствуют линии сеткиУстановите ShowGridLines = true
 Русский