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

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

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

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

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

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

مرحله 1: نصب Aspose.Cells برای .NET

dotnet add package Aspose.Cells

Step 2: Load the Excel File

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
};

مرحله ۴: ایجاد شیء SheetRender

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);
}

مرحله ۶: ذخیرهٔ تصاویر

این کد به‌صورت خودکار یک تصویر برای هر صفحه قابل چاپ در برگه ذخیره می‌کند.

مرحله ۷: بهبودهای اختیاری

می‌توانید تنظیمات چیدمان اضافی را اعمال کنید:

// 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
 فارسی