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

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

تصدير ورقة عمل واحدة من Excel إلى تنسيق صورة (على سبيل المثال، PNG، JPEG) مفيد عند إنشاء الملاحظات السابقة، وتصدير الرسوم البيانية، أو مشاركة التمثيلات البصرية القراءة فقط من محتوى ورقة عمل. 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

الخطوة 3: تعريف خيارات التصوير

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;
using Aspose.Cells.Rendering;
using Aspose.Cells.Drawing;

class Program
{
    static void Main()
    {
        // Load the Excel workbook
        Workbook workbook = new Workbook("sample.xlsx");

        // Access the first worksheet
        Worksheet sheet = workbook.Worksheets[0];

        // Define image rendering options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200
        };

        // 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
 عربي