Як перетворити діапазон комірок на зображення в C#
Як перетворити діапазон комірок на зображення в C#
Використання діапазону клітин на зображення допомагає генерувати тлумачення, перегляди або часткові звіти.Цей посібник показує, як перетворити визначений діапазон клітин в Excel на зображення високої якості за допомогою Aspose.Cells для .NET.
Використання випадків
- Експортні цінові таблиці або каталоги продукції
- Поділитися частиною робочого листа без виявлення повного файлу
- Знайдіть динамічні смуги для dashboards або widgets
Крок за кроком інструкція
Крок 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, але ви все ще можете знімати зображення, зосереджуючи рендеринг тільки на вибраному діапазоні:
// 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 |
Блюрі текст | Підвищення рівня резолюції |