Как конвертировать рабочий лист в изображение на C#
Как конвертировать рабочий лист в изображение на C#
Экспортировать единый рабочий лист Excel в формат изображения (например, PNG, JPEG) полезно при генерировании предварительных просмотров, экспортировании графиков или обмене только визуальными представлениями контента распространённого листа.
Сценарии использования
- Создание предварительного просмотра конкретного рабочего листа
- Экспорт форматированных отчетов для электронной почты или документации
- Включите один лист в веб-страницу или PDF
Step-by-Step Руководство
Шаг 1: Инсталляция Aspose.Cells для .NET
dotnet add package Aspose.Cells
Шаг 2: Загрузите файл Excel
Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Access specific worksheet
Шаг 3: Определите варианты рендера изображения
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
Шаг 4: Создание SheetRender Object
SheetRender renderer = new SheetRender(sheet, options);
Шаг 5: Перевести каждую страницу к изображению
for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
renderer.ToImage(pageIndex, imageName);
}
Шаг 6: Сохраните изображения
Этот код автоматически сохраняет одну картину на печатную страницу в рабочей панели.
Шаг 7: Опциональные улучшения
Вы можете применить дополнительные настройки расположения:
// Show gridlines in the output image
options.ShowGridLines = true;
// Fit all content on a single page
options.AllColumnsInOnePagePerSheet = true;
Полный примерный код
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// Load the Excel workbook
Workbook workbook = new Workbook("SalesData.xlsx");
// Access a specific worksheet
Worksheet sheet = workbook.Worksheets["Q1 Report"];
// Define image rendering options
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
// Enable gridlines if desired
options.ShowGridLines = true;
// Render the sheet to image(s)
SheetRender renderer = new SheetRender(sheet, options);
for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
renderer.ToImage(pageIndex, imageName);
Console.WriteLine($"Saved: {imageName}");
}
Console.WriteLine("Worksheet successfully rendered to image(s).");
}
}
Общие сценарии и решения проблем
Проблема | Решение |
---|---|
Cut-off контент | Использование AllColumnsInOnePagePerSheet = true |
Продукция низкого качества | Увеличение резолюции изображения |
Затерянные линии | Сет ShowGridLines = true |