كيفية تحويل ورقة عمل إلى صورة في 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
 عربي