Как преобразовать диапазон ячеек в изображение в 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 |
Блюри текст | Увеличение распределения |