كيفية تحويل ورقة عمل إلى صورة في C#
كيفية تحويل ورقة عمل إلى صورة في C#
إن تصدير ورقة عمل واحدة من Excel إلى تنسيق صورة (على سبيل المثال، PNG، JPEG) مفيد عند إنشاء مقاطع مسبقة، أو تصدير الرسوم البيانية، أو مشاركة التمثيلات البصرية القراءة فقط لمحتوى ورقة عمل.هذا الدليل يظهر لك كيفية تحويل ورقة عمل واحدة من ورقة عمل Excel إلى صورة باستخدام Aspose.Cells for .NET.
حالات الاستخدام
- إنشاء نظرة مسبقة على ورقة عمل محددة
- تصدير التقارير المصممة للبريد الإلكتروني أو الوثائق
- إدراج ورقة واحدة في صفحة ويب أو 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
الخطوة الثالثة: تحديد خيارات التصوير
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);
الخطوة الخامسة: تحويل كل صفحة إلى صورة
for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
renderer.ToImage(pageIndex, imageName);
}
الخطوة 6: حفظ الصور
يتم حفظ هذا الرمز تلقائيًا صورة واحدة لكل صفحة قابلة للطباعة في ورقة العمل.
الخطوة السابعة: التحسينات الاختيارية
يمكنك تطبيق إعدادات ترتيب إضافية:
// 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).");
}
}
السيناريوهات الشائعة وحل المشكلات
مسألة | الحل |
---|---|
قطع المحتوى | استخدام AllColumnsInOnePagePerSheet = true |
الإنتاج منخفض الجودة | زيادة الضوء على الصورة |
الخطوط المفقودة | إعداد ShowGridLines = true |