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

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

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

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

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

Step-by-Step Руководство

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

dotnet add package Aspose.Cells

Шаг 2: Загрузите рабочую книжку и рабочую книжку

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

Шаг 3: Определите объем экспорта

// Specify a range like 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 и Render Range

// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);

Шаг 6: Объем экспорта в виде изображения

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

// Set print area manually for the worksheet
worksheet.PageSetup.PrintArea = "A1:D10";

// Recreate SheetRender with print settings now applied
renderer = new SheetRender(worksheet, options);

// Render and export
renderer.ToImage(0, "range_output.png");

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

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

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

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Load the workbook
        Workbook workbook = new Workbook("DataSet.xlsx");

        // Access the first worksheet
        Worksheet worksheet = workbook.Worksheets[0];

        // Define range to export (A1 to D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Set the print area to this range
        worksheet.PageSetup.PrintArea = range.RefersTo;

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

        // Render only the specified range
        SheetRender renderer = new SheetRender(worksheet, options);

        // Export to image
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Cell range exported successfully as image.");
    }
}

Проблемные советы

ПроблемаРешение
Фото включает в себя дополнительные строки/колонныУбедитесь, что область печати строго определена
Ранги не насыщены правильноСет OnePagePerSheet = true
Блюри текстУвеличение распределения
 Русский