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

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

آیا نیاز به استخراج بصری بخشی از یک صفحه پخش دارید؟ صادرات یک محدوده سلولی به یک تصویر برای تولید خلاصه ها، پیش نمایش ها یا گزارش های جزئی مفید است.این راهنمای نشان می دهد که چگونه یک محدوده سلولی تعریف شده در اکسل را به یک تصویر با کیفیت بالا با استفاده از Aspose.Cells برای .NET تبدیل کنید.

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

  • جدول قیمت گذاری صادرات یا کاتالوگ های محصول
  • به اشتراک گذاری بخشی از یک ورق بدون نشان دادن فایل کامل
  • ضبط محدوده های پویا برای dashboards یا widgets

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

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

dotnet add package Aspose.Cells

مرحله دوم: دفترچه کار و دفترچه کار را بارگذاری کنید

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

مرحله سوم: محدوده صادرات را تعیین کنید

// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

مرحله 4: تنظیم گزینه های رندر کردن تصویر

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

مرحله 5: ایجاد یک SheetRender و Render the Range

// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);

مرحله 6: صادرات به عنوان تصویر

Aspose.Cells دارای یک کلاس RangeRender مستقیم نیست، اما شما هنوز هم می توانید یک تصویر را با تمرکز بر راندینگ به فقط یک محدوده انتخاب شده:

// Set print area manually for the worksheet
worksheet.PageSetup.PrintArea = "A1:D10";

// Recreate SheetRender with print settings now applied
renderer = new SheetRender(worksheet, options);

// Render and export
renderer.ToImage(0, "range_output.png");

مرحله 7: ذخیره و بررسی خروجی

در حال حاضر شما یک تصویر خالص از محدوده انتخاب شده از اکسل خواهید داشت.

کد نمونه کامل

using System;
using Aspose.Cells;

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

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

        // Define range to export (A1 to D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Set the print area to this range
        worksheet.PageSetup.PrintArea = range.RefersTo;

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

        // Render only the specified range
        SheetRender renderer = new SheetRender(worksheet, options);

        // Export to image
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Cell range exported successfully as image.");
    }
}

نکات حل مشکل

موضوعراه حل
تصویر شامل ردیف های اضافی / ستون هااطمینان حاصل کنید که محدوده چاپ به شدت تعریف شده است.
محدوده به درستی کاشته نشدهتنظیمات OnePagePerSheet = true
Blurry متنافزایش تنظیمات رزولوشن
 فارسی