كيفية تحويل نطاق خلايا إلى صورة في C#
كيفية تحويل نطاق خلايا إلى صورة في C#
تحتاج إلى استخراج جزء مرئي من جدول بيانات؟ تصدير نطاق خلايا إلى صورة مفيد لإنشاء صور مصغرة، ومعاينات، أو تقارير جزئية. تُظهر هذه الدليل كيفية تحويل نطاق خلايا محدد في Excel إلى صورة عالية الجودة باستخدام Aspose.Cells for .NET.
حالات الاستخدام
- تصدير جداول الأسعار أو كتالوجات المنتجات
- مشاركة جزء من ورقة العمل دون كشف الملف الكامل
- التقاط النطاقات الديناميكية لوحات المعلومات أو الأدوات
دليل خطوة بخطوة
الخطوة 1: تثبيت Aspose.Cells
dotnet add package Aspose.Cells
الخطوة 2: تحميل المصنف وورقة العمل
Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
الخطوة 3: تحديد النطاق للتصدير
// حدد نطاقًا مثل A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");
الخطوة 4: تكوين خيارات عرض الصورة
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
الخطوة 5: إنشاء SheetRender وعرض النطاق
// يمكنك استخدام SheetRender مع حدود الطباعة إذا لزم الأمر
SheetRender renderer = new SheetRender(worksheet, options);
الخطوة 6: تصدير النطاق كصورة
لا يحتوي Aspose.Cells على فئة RangeRender مباشرة، ولكن يمكنك قص الصورة من خلال تركيز العرض على نطاق محدد فقط:
// تعيين منطقة الطباعة يدويًا لورقة العمل
worksheet.PageSetup.PrintArea = "A1:D10";
// إعادة إنشاء SheetRender مع تطبيق إعدادات الطباعة الآن
renderer = new SheetRender(worksheet, options);
// عرض وتصدير
renderer.ToImage(0, "range_output.png");
الخطوة 7: حفظ والتحقق من الإخراج
ستحصل الآن على صورة مقطوعة نظيفة للنطاق المحدد من Excel.
مثال كامل على الكود
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// تحميل المصنف
Workbook workbook = new Workbook("DataSet.xlsx");
// الوصول إلى ورقة العمل الأولى
Worksheet worksheet = workbook.Worksheets[0];
// تحديد النطاق للتصدير (من A1 إلى D10)
Range range = worksheet.Cells.CreateRange("A1", "D10");
// تعيين منطقة الطباعة إلى هذا النطاق
worksheet.PageSetup.PrintArea = range.RefersTo;
// تعيين خيارات تصدير الصورة
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
// عرض فقط النطاق المحدد
SheetRender renderer = new SheetRender(worksheet, options);
// تصدير إلى صورة
renderer.ToImage(0, "range_output.png");
Console.WriteLine("تم تصدير نطاق الخلايا بنجاح كصورة.");
}
}
نصائح لحل المشكلات
المشكلة | الحل |
---|---|
الصورة تتضمن صفوف/أعمدة إضافية | تأكد من أن منطقة الطباعة محددة بدقة |
النطاق غير مقصوص بشكل صحيح | تعيين OnePagePerSheet = true |
نص غير واضح | زيادة إعدادات الدقة |