چگونه یک Worksheet را به تصویر در C# تبدیل کنیم
چگونه یک Worksheet را به تصویر در C# تبدیل کنیم
تبدیل یک ورق اکسل به فرمت تصویر (مانند PNG، JPEG) زمانی مفید است که بخواهید پیشنمایشها را تولید کنید، نمودارها را صادر کنید یا نمایشهای بصری فقط خواندنی از محتوای صفحهگسترده را به اشتراک بگذارید. این راهنما به شما نشان میدهد که چگونه یک ورق را از یک کتاب کار اکسل به تصویر تبدیل کنید با استفاده از Aspose.Cells for .NET.
موارد استفاده
- تولید پیشنمایش از یک ورق خاص
- صادرات گزارشهای فرمتدار برای ایمیل یا مستندات
- گنجاندن یک ورق در یک صفحه وب یا PDF
راهنمای گام به گام
گام 1: نصب Aspose.Cells for .NET
dotnet add package Aspose.Cells
گام 2: بارگذاری فایل اکسل
Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // دسترسی به ورق خاص
گام 3: تعریف گزینههای رندر تصویر
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
گام 4: ایجاد شیء SheetRender
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: بهبودهای اختیاری
شما میتوانید تنظیمات اضافی چیدمان را اعمال کنید:
// نمایش خطوط شبکه در تصویر خروجی
options.ShowGridLines = true;
// قرار دادن تمام محتوا در یک صفحه
options.AllColumnsInOnePagePerSheet = true;
کد مثال کامل
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// بارگذاری کتاب کار اکسل
Workbook workbook = new Workbook("SalesData.xlsx");
// دسترسی به یک ورق خاص
Worksheet sheet = workbook.Worksheets["Q1 Report"];
// تعریف گزینههای رندر تصویر
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
// فعالسازی خطوط شبکه در صورت تمایل
options.ShowGridLines = true;
// رندر ورق به تصویر(ها)
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($"ذخیره شد: {imageName}");
}
Console.WriteLine("ورق با موفقیت به تصویر(ها) رندر شد.");
}
}
سناریوهای رایج و عیبیابی
مشکل | راهحل |
---|---|
محتوای بریده شده | از AllColumnsInOnePagePerSheet = true استفاده کنید |
خروجی کیفیت پایین دارد | رزولوشن تصویر را افزایش دهید |
خطوط شبکه غایب هستند | ShowGridLines = true را تنظیم کنید |