كيفية تحويل ورقة عمل إلى صورة في C#

كيفية تحويل ورقة عمل إلى صورة في C#

تصدير ورقة عمل واحدة من Excel إلى تنسيق صورة (مثل PNG، JPEG) مفيد عند إنشاء معاينات، تصدير الرسوم البيانية، أو مشاركة تمثيلات بصرية للبيانات في جدول البيانات بصيغة القراءة فقط. هذا الدليل يوضح لك كيفية تحويل ورقة عمل واحدة من ملف Excel إلى صورة باستخدام Aspose.Cells for .NET.

حالات الاستخدام

  • إنشاء معاينة لورقة عمل معينة
  • تصدير التقارير المنسقة للبريد الإلكتروني أو الوثائق
  • تضمين ورقة واحدة في صفحة ويب أو PDF

دليل خطوة بخطوة

الخطوة 1: تثبيت Aspose.Cells for .NET

dotnet add package Aspose.Cells

الخطوة 2: تحميل ملف Excel

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()
    {
        // تحميل ملف Excel
        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
 عربي