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