Как преобразовать диапазон ячеек в изображение в C#

Как преобразовать диапазон ячеек в изображение в C#

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

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

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

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

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

dotnet add package Aspose.Cells

Шаг 2: Загрузите книгу и рабочий лист

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

Шаг 3: Определите диапазон для экспорта

// Укажите диапазон, например, A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Шаг 4: Настройте параметры рендеринга изображения

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

Шаг 5: Создайте SheetRender и отрендерите диапазон

// Вы можете использовать SheetRender с границами печати, если это необходимо
SheetRender renderer = new SheetRender(worksheet, options);

Шаг 6: Экспортируйте диапазон как изображение

Aspose.Cells не имеет прямого класса RangeRender, но вы все равно можете обрезать изображение, сосредоточив рендеринг только на выбранном диапазоне:

// Установите область печати вручную для рабочего листа
worksheet.PageSetup.PrintArea = "A1:D10";

// Воссоздайте SheetRender с примененными настройками печати
renderer = new SheetRender(worksheet, options);

// Отрендерите и экспортируйте
renderer.ToImage(0, "range_output.png");

Шаг 7: Сохраните и проверьте вывод

Теперь у вас будет чистое обрезанное изображение выбранного диапазона Excel.


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

using System;
using Aspose.Cells;

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

        // Получите доступ к первому рабочему листу
        Worksheet worksheet = workbook.Worksheets[0];

        // Определите диапазон для экспорта (A1 до D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Установите область печати на этот диапазон
        worksheet.PageSetup.PrintArea = range.RefersTo;

        // Установите параметры экспорта изображения
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            OnePagePerSheet = true
        };

        // Отрендерите только указанный диапазон
        SheetRender renderer = new SheetRender(worksheet, options);

        // Экспортируйте в изображение
        renderer.ToImage(0, "range_output.png");

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

Советы по устранению неполадок

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