Как да конвертирате работния лист в изображение в C#
Как да конвертирате работния лист в изображение в C#
Експортирането на един работен лист на Excel в формат на изображение (напр. PNG, JPEG) е полезно при генериране на предварителни прегледи, експорт на графики или споделяне на прочетени само визуални изображения на съдържанието на разширения лист.
Използване на случаите
- Създаване на преглед на конкретен работен лист
- Износ форматирани доклади за имейл или документация
- Вградете един лист в уеб страница или PDF
Стъпка по стъпка ръководство
Стъпка 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: Определете опциите за rendering на изображение
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).");
}
}
Съвместни сценарии и решаване на проблеми
Въпросът | Решение |
---|---|
Премахване на съдържанието | Use AllColumnsInOnePagePerSheet = true |
Произходът е ниско качество | Увеличаване на резолюцията на изображението |
Липсва линията | Set ShowGridLines = true |