Як перетворити діапазон комірок на зображення в 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
Розмитий текстЗбільште налаштування роздільної здатності
 Українська