چگونه یک Worksheet را به تصویر در C# تبدیل کنیم

چگونه یک Worksheet را به تصویر در C# تبدیل کنیم

تبدیل یک ورق اکسل به فرمت تصویر (مانند PNG، JPEG) زمانی مفید است که بخواهید پیش‌نمایش‌ها را تولید کنید، نمودارها را صادر کنید یا نمایش‌های بصری فقط خواندنی از محتوای صفحه‌گسترده را به اشتراک بگذارید. این راهنما به شما نشان می‌دهد که چگونه یک ورق را از یک کتاب کار اکسل به تصویر تبدیل کنید با استفاده از Aspose.Cells for .NET.

موارد استفاده

  • تولید پیش‌نمایش از یک ورق خاص
  • صادرات گزارش‌های فرمت‌دار برای ایمیل یا مستندات
  • گنجاندن یک ورق در یک صفحه وب یا PDF

راهنمای گام به گام

گام 1: نصب Aspose.Cells for .NET

dotnet add package Aspose.Cells

گام 2: بارگذاری فایل اکسل

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()
    {
        // بارگذاری کتاب کار اکسل
        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 را تنظیم کنید
 فارسی