چگونه یک محدوده سلول را به تصویر در C# تبدیل کنیم
چگونه یک محدوده سلول را به تصویر در C# تبدیل کنیم
نیاز به استخراج بصری بخشی از یک صفحهگسترده دارید؟ صادرات یک محدوده سلولی به یک تصویر برای تولید تصاویر کوچک، پیشنمایشها یا گزارشهای جزئی مفید است. این راهنما نشان میدهد که چگونه میتوان یک محدوده سلولی تعریفشده در اکسل را به یک تصویر با کیفیت بالا تبدیل کرد با استفاده از Aspose.Cells for .NET.
موارد استفاده
- صادرات جداول قیمتگذاری یا کاتالوگهای محصول
- به اشتراکگذاری بخشی از یک ورق کاری بدون افشای فایل کامل
- ضبط محدودههای پویا برای داشبوردها یا ویجتها
راهنمای گام به گام
مرحله ۱: نصب Aspose.Cells
dotnet add package Aspose.Cells
مرحله ۲: بارگذاری کتاب کار و ورق کاری
Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
مرحله ۳: تعریف محدودهای که باید صادر شود
// محدودهای مانند A1:D10 را مشخص کنید
Range range = worksheet.Cells.CreateRange("A1", "D10");
مرحله ۴: پیکربندی گزینههای رندر تصویر
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
مرحله ۵: ایجاد یک SheetRender و رندر کردن محدوده
// اگر لازم باشد میتوانید از SheetRender با محدودههای چاپ استفاده کنید
SheetRender renderer = new SheetRender(worksheet, options);
مرحله ۶: صادرات محدوده به عنوان تصویر
Aspose.Cells کلاسی به نام RangeRender ندارد، اما میتوانید همچنان یک تصویر را با تمرکز رندر بر روی یک محدوده انتخابشده برش دهید:
// منطقه چاپ را به صورت دستی برای ورق کاری تنظیم کنید
worksheet.PageSetup.PrintArea = "A1:D10";
// SheetRender را با تنظیمات چاپ که اکنون اعمال شدهاند دوباره ایجاد کنید
renderer = new SheetRender(worksheet, options);
// رندر و صادرات
renderer.ToImage(0, "range_output.png");
مرحله ۷: ذخیره و تأیید خروجی
اکنون یک تصویر تمیز و برشخورده از محدوده انتخابشده اکسل خواهید داشت.
کد مثال کامل
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// بارگذاری کتاب کار
Workbook workbook = new Workbook("DataSet.xlsx");
// دسترسی به اولین ورق کاری
Worksheet worksheet = workbook.Worksheets[0];
// تعریف محدودهای که باید صادر شود (A1 تا D10)
Range range = worksheet.Cells.CreateRange("A1", "D10");
// تنظیم منطقه چاپ به این محدوده
worksheet.PageSetup.PrintArea = range.RefersTo;
// تنظیم گزینههای صادرات تصویر
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
// فقط محدوده مشخص شده را رندر کنید
SheetRender renderer = new SheetRender(worksheet, options);
// صادرات به تصویر
renderer.ToImage(0, "range_output.png");
Console.WriteLine("محدوده سلولی با موفقیت به عنوان تصویر صادر شد.");
}
}
نکات عیبیابی
مشکل | راه حل |
---|---|
تصویر شامل ردیفها/ستونهای اضافی است | اطمینان حاصل کنید که منطقه چاپ به طور دقیق تعریف شده است |
محدوده به درستی برش نخورده است | OnePagePerSheet = true را تنظیم کنید |
متن تار است | تنظیمات وضوح را افزایش دهید |