چگونه یک Worksheet را به تصویر تبدیل کنیم در C#
چگونه یک Worksheet را به تصویر تبدیل کنیم در C#
صادرات یک برگه کاری تکتک Excel به یک فرمت تصویر (مثلاً PNG، JPEG) زمانی مفید است که پیشنمایشها تولید میشود، نمودارها صادر میشوند، یا نمایههای بصری فقط‑خواندنی از محتوای صفحهگسترده به اشتراک گذاشته میشود. این راهنما نشان میدهد چگونه یک برگه کاری را از یک کتابکار Excel به یک تصویر تبدیل کنید با استفاده از Aspose.Cells for .NET.
موارد استفاده
- پیشنمایشی از یک برگه کاری خاص تولید کنید
- گزارشهای قالببندیشده را برای ایمیل یا مستندات صادر کنید
- یک برگه واحد را در یک صفحه وب یا PDF جاسازی کنید
راهنمای گام به گام
مرحله 1: نصب Aspose.Cells برای .NET
dotnet add package Aspose.CellsStep 2: Load the Excel File
Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Access specific worksheetمرحله ۳: تعریف گزینههای رندر تصویر
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};مرحله ۴: ایجاد شیء SheetRender
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);
}مرحله ۶: ذخیرهٔ تصاویر
این کد بهصورت خودکار یک تصویر برای هر صفحه قابل چاپ در برگه ذخیره میکند.
مرحله ۷: بهبودهای اختیاری
میتوانید تنظیمات چیدمان اضافی را اعمال کنید:
// Show gridlines in the output image
options.ShowGridLines = true;
// Fit all content on a single page
options.AllColumnsInOnePagePerSheet = true;کد مثال کامل
using System;
using Aspose.Cells;
using Aspose.Cells.Rendering;
using Aspose.Cells.Drawing;
class Program
{
static void Main()
{
// Load the Excel workbook
Workbook workbook = new Workbook("sample.xlsx");
// Access the first worksheet
Worksheet sheet = workbook.Worksheets[0];
// Define image rendering options
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200
};
// 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).");
}
}سناریوهای رایج و عیبیابی
| مشکل | راهحل |
|---|---|
| محتوای قطعشده | استفاده AllColumnsInOnePagePerSheet = true |
| خروجی کیفیت پایین است | افزایش وضوح تصویر |
| خطوط شبکه موجود نیستند | تنظیم ShowGridLines = true |