كيفية تحويل نطاق خلايا إلى صورة في C#
كيفية تحويل نطاق خلايا إلى صورة في C#
هل من الضروري استخراج جزء من ورقة النطاق بصريًا؟ استيراد نطاق الخلايا إلى صورة مفيد لإنتاج النقاط الصغيرة أو التوقعات أو التقارير الجزئية.يظهر هذا الدليل كيفية تحويل نطاق الخلايا المحدد في Excel إلى صورة عالية الجودة باستخدام Aspose.Cells for .NET.
حالات الاستخدام
- جدول أسعار الصادرات أو كتالوجات المنتجات
- مشاركة جزء من ورقة عمل دون عرض الملف الكامل
- التقاط نطاقات ديناميكية لـ dashboards أو widgets
دليل خطوة بخطوة
الخطوة 1: تثبيت Aspose.Cells
dotnet add package Aspose.Cells
الخطوة 2: تحميل ورقة العمل ورقة العمل
Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
الخطوة 3: تحديد نطاق التصدير
// 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");
الخطوة السابعة: حفظ وتحقق من النتيجة
ستحصل الآن على صورة خفيفة نظيفة من مجموعة Excel المختارة.
نموذج كامل
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 | زيادة إعدادات القرار |