اعمال فرمولهای کاربرگ نمودار در ارائهها با .NET
نمای کلی
یک کاربرگ نمودار منبع دادهای است که پشت یک نمودار در یک ارائه قرار دارد. این کاربرگ نامهای دسته و سری را همراه با مقادیر عددی که توسط نمودار نمایش داده میشوند، ذخیره میکند. در Aspose.Slides، این کاربرگ از طریق کتابکار دادههای نمودار (ChartDataWorkbook) در دسترس است که به شما امکان کار برنامهنویسی با دادههای نمودار را میدهد.
این مقاله توضیح میدهد چگونه از فرمولهای کاربرگ در دادههای نمودار استفاده کنید تا مقادیر سلولها بهصورت خودکار محاسبه و بهروز شوند، بهجای اینکه بهصورت دستی وارد شوند. این مقاله نشان میدهد چگونه فرمولها را اختصاص دهید، از ارجاعهای سبک A1 و R1C1 استفاده کنید، فرمولهای کتابکار را مجدداً محاسبه کنید و با ثابتها، عملگرها، ارجاعهای سلولی و توابع پیشتعریفشدهای که برای کاربرگهای نمودار در ارائهها پشتیبانی میشوند، کار کنید.
درباره فرمولهای کاربرگ نمودار در ارائهها
کاربرگ نمودار (یا کاربرگ صفحهگسترده) در ارائه منبع دادهٔ نمودار است. کاربرگ نمودار شامل دادههایی است که بهصورت گرافیکی در نمودار نمایش داده میشوند. زمانی که در PowerPoint یک نمودار ایجاد میکنید، کاربرگ مرتبط با آن نمودار بهصورت خودکار ساخته میشود. کاربرگ نمودار برای تمام انواع نمودارها ایجاد میشود: نمودار خطی، نمودار ستونی، نمودار خورشیدی، نمودار دایرهای و غیره. برای مشاهدهٔ کاربرگ نمودار در PowerPoint باید روی نمودار دوبار کلیک کنید:

کاربرگ نمودار شامل نامهای عناصر نمودار (نام دسته: Category1، نام سری) و جدولی با دادههای عددی مربوط به این دستهها و سریها است. بهصورت پیشفرض، زمانی که یک نمودار جدید ایجاد میکنید؛ دادههای کاربرگ نمودار با دادههای پیشفرض تنظیم میشوند. سپس میتوانید دادههای صفحهگسترده را بهصورت دستی در کاربرگ تغییر دهید.
معمولاً نمودار دادههای پیچیدهای (مثلاً تحلیلهای مالی، تحلیلهای علمی) را نشان میدهد که سلولهای آن از مقادیر سلولهای دیگر یا دادههای پویا محاسبه میشوند. محاسبهٔ دستی مقدار سلول و کدنویسی ثابت آن داخل سلول، تغییر آن را در آینده دشوار میکند. اگر مقدار یک سلول خاص را تغییر دهید، تمام سلولهای وابسته به آن نیز نیاز به بهروزرسانی خواهند داشت. علاوه بر این، دادههای جدول میتوانند به دادههای جداول دیگر وابسته باشند و یک طرح دادهٔ پیچیدهٔ ارائه ایجاد کنند که نیاز به بهروزرسانی آسان و انعطافپذیر دارد.
فرمول کاربرگ نمودار در ارائه عبارتی است برای محاسبه و بهروزرسانی خودکار دادههای کاربرگ نمودار. فرمول صفحهگسترده منطق محاسبهٔ داده برای یک سلول یا مجموعهای از سلولها را تعریف میکند. فرمول صفحهگسترده میتواند یک فرمول ریاضی یا منطقی باشد که از ارجاعهای سلولی، توابع ریاضی، عملگرهای منطقی، عملگرهای حسابی، توابع تبدیل، ثابتهای رشتهای و غیره استفاده میکند. تعریف فرمول داخل یک سلول نوشته میشود و این سلول مقدار سادهای ندارد. فرمول صفحهگسترده مقدار را محاسبه و بازمیگرداند و سپس این مقدار به سلول اختصاص مییابد. فرمولهای کاربرگ در ارائهها در واقع همان فرمولهای اکسل هستند و همان توابع، عملگرها و ثابتهای پیشفرض برای پیادهسازی آنها پشتیبانی میشود.
در Aspose.Slides کاربرگ نمودار با خصوصیت
Chart.ChartData.ChartDataWorkbook از نوع
IChartDataWorkbook نشان داده میشود.
فرمول صفحهگسترده میتواند با خصوصیت
IChartDataCell.Formula اختصاص یا تغییر یابد.
قابلیتهای زیر برای فرمولها در Aspose.Slides پشتیبانی میشود:
- ثابتهای منطقی
- ثابتهای عددی
- ثابتهای رشتهای
- ثابتهای خطا
- عملگرهای حسابی
- عملگرهای مقایسهای
- ارجاعهای سلولی سبک A1
- ارجاعهای سلولی سبک R1C1
- توابع پیشتعریفشده
بهطور معمول، صفحهگسترده آخرین مقادیر محاسبهشدهٔ فرمولها را ذخیره میکند. اگر پس از بارگذاری ارائه، دادههای نمودار تغییر نکرده باشند، خصوصیت IChartDataCell.Value آن مقادیر را هنگام خواندن بازمیگرداند. اما اگر دادههای صفحهگسترده تغییر کرده باشند، هنگام خواندن خصوصیت ChartDataCell.Value استثنای CellUnsupportedDataException برای فرمولهای پشتیبانینشده پرتاب میشود. این به این دلیل است که وقتی فرمولها با موفقیت تجزیه میشوند، وابستگیهای سلولی تعیین میشوند و صحت مقادیر آخرین محاسبه مشخص میشود. اما اگر فرمول قابل تجزیه نباشد، صحت مقدار سلول تضمین نمیشود.
افزودن فرمول کاربرگ نمودار به یک ارائه
ابتدا با استفاده از
IShapeCollection.Shapes.AddChart یک نمودار با دادههای نمونه به اسلاید اول یک ارائه جدید اضافه کنید.
کاربرگ نمودار بهصورت خودکار ساخته میشود و میتوان آن را با خصوصیت
Chart.ChartData.ChartDataWorkbook دسترسی یافت:
using (var presentation = new Presentation())
{
IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 150, 150, 500, 300);
IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook;
// ...
}
بیایید برخی مقادیر را در سلولها با خصوصیت IChartDataCell.Value از نوع Object بنویسیم، به این معنی که میتوانید هر مقداری را به این خصوصیت اختصاص دهید:
workbook.GetCell(0, "F2").Value = -2.5;
workbook.GetCell(0, "G3").Value = 6.3;
workbook.GetCell(0, "H4").Value = 3;
حالا برای نوشتن فرمول در سلول میتوانید از خصوصیت IChartDataCell.Formula استفاده کنید:
workbook.GetCell(0, "B2").Formula = "F2+G3+H4+1";
توجه: خصوصیت IChartDataCell.Formula برای تنظیم ارجاعهای سلولی سبک A1 استفاده میشود.
برای تنظیم ارجاع سلولی R1C1Formula میتوانید از خصوصیت IChartDataCell.R1C1Formula استفاده کنید:
workbook.GetCell(0, "C2").R1C1Formula = "R[1]C[4]/R[2]C[5]";
سپس با فراخوانی متد IChartDataWorkbook.CalculateFormulas همهٔ فرمولهای موجود در کتابکار را محاسبه کنید و مقادیر سلولهای مربوطه بهروز شوند:
workbook.CalculateFormulas();
object value1 = workbook.GetCell(0, "B2"); // 7.8
object value2 = workbook.GetCell(0, "C2"); // 2.1
ثابتهای منطقی
میتوانید ثابتهای منطقی مانند FALSE و TRUE را در فرمولهای سلول استفاده کنید:
ثابتهای عددی
اعداد میتوانند بهصورت معمولی یا بهصورت علمی برای ایجاد فرمول کاربرگ نمودار استفاده شوند:
ثابتهای رشتهای
ثابت رشتهای (یا متنی) مقدار خاصی است که بهصورت همانگونه استفاده میشود و تغییر نمیکند. ثابتهای رشتهای میتوانند شامل تاریخها، متنها، اعداد و غیره باشند:
ثابتهای خطا
گاهی محاسبهٔ نتیجه توسط فرمول ممکن نیست. در این حالت کد خطا بهجای مقدار در سلول نمایش داده میشود. هر نوع خطا کد خاص خود را دارد:
- #DIV/0! – فرمول سعی میکند بر صفر تقسیم کند.
- #GETTING_DATA – ممکن است در سلول نشان داده شود در حالی که مقدار هنوز در حال محاسبه است.
- #N/A – اطلاعات موجود نیست یا در دسترس نیست. برخی دلایل میتوانند خالی بودن سلولهای مورد استفاده در فرمول، وجود کاراکتر فضای اضافی، املای نادرست و غیره باشند.
- #NAME? – یک سلول یا شیء فرمول دیگر بهدلیل نام یافت نشدن پیدا نمیشود.
- #NULL! – ممکن است زمانی که خطایی در فرمول وجود دارد، مانند (,) یا کاراکتر فضای استفاده شده بهجای دو نقطه (:) رخ دهد.
- #NUM! – عدد موجود در فرمول نامعتبر، بسیار طولانی یا بسیار کوچک است.
- #REF! – ارجاع سلولی نامعتبر.
- #VALUE! – نوع مقدار غیرمنتظره. برای مثال مقدار رشتهای بهسلول عددی اختصاص داده شده است.
عملگرهای حسابی
میتوانید تمام عملگرهای حسابی را در فرمولهای کاربرگ نمودار استفاده کنید:
| عملگر | معنا | مثال |
|---|---|---|
| + (علامت جمع) | جمع یا علامت مثبت یکنوار | 2 + 3 |
| - (علامت منفی) | تفریق یا منفی یکنوار | 2 - 3 -3 |
| * (ستاره) | ضرب | 2 * 3 |
| / (خط مورب) | تقسیم | 2 / 3 |
| % (درصد) | درصد | 30% |
| ^ (کارِت) | توان | 2 ^ 3 |
توجه: برای تغییر ترتیب ارزیابی، بخش موردنظر فرمول را داخل پرانتز بگذارید.
عملگرهای مقایسهای
میتوانید مقادیر سلولها را با عملگرهای مقایسهای مقایسه کنید. وقتی دو مقدار با این عملگرها مقایسه شوند، نتیجه مقدار منطقی TRUE یا FALSE است:
| عملگر | معنا | مثال |
|---|---|---|
| = (علامت مساوی) | مساوی | A2 = 3 |
| <> (علامت نامساوی) | نامساوی | A2 <> 3 |
| > (علامت بزرگتر) | بزرگتر | A2 > 3 |
| >= (علامت بزرگتر یا مساوی) | بزرگتر یا برابر | A2 >= 3 |
| < (علامت کوچکتر) | کوچکتر | A2 < 3 |
| <= (علامت کوچکتر یا مساوی) | کوچکتر یا برابر | A2 <= 3 |
ارجاعهای سلولی سبک A1
ارجاعهای سلولی سبک A1 برای کاربرگهایی استفاده میشوند که ستون با یک شناسه حرفی (مثلاً “A") و ردیف با یک شناسه عددی (مثلاً “1") شناخته میشوند. ارجاعهای سلولی سبک A1 میتوانند بهصورت زیر استفاده شوند:
| ارجاع سلول | مثال | ||
|---|---|---|---|
| مطلق | نسبی | ترکیبی | |
| سلول | $A$2 | A2 | A$2 $A2 |
| ردیف | $2:$2 | 2:2 | - |
| ستون | $A:$A | A:A | - |
| محدوده | $A$2:$C$4 | A2:C4 | $A$2:C4 A$2:$C4 |
در اینجا نمونهای از استفاده ارجاع سلولی سبک A1 در فرمول آورده شده است:
ارجاعهای سلولی سبک R1C1
ارجاعهای سلولی سبک R1C1 برای کاربرگهایی استفاده میشوند که هم ردیف و هم ستون دارای شناسه عددی هستند. ارجاعهای سلولی سبک R1C1 میتوانند بهصورت زیر استفاده شوند:
| ارجاع سلول | مثال | ||
|---|---|---|---|
| مطلق | نسبی | ترکیبی | |
| سلول | R2C3 | R[2]C[3] | R2C[3] R[2]C3 |
| ردیف | R2 | R[2] | - |
| ستون | C3 | C[3] | - |
| محدوده | R2C3:R5C7 | R[2]C[3]:R[5]C[7] | R2C3:R[5]C[7] R[2]C3:R5C[7] |
در اینجا نمونهای از استفاده ارجاع سلولی سبک R1C1 در فرمول آورده شده است:
توابع پیشتعریفشده
توابع پیشتعریفشدهای وجود دارند که میتوانند در فرمولها برای سادهسازی پیادهسازی آنها استفاده شوند. این توابع رایجترین عملیاتها را در بر میگیرند، مانند:
- ABS
- AVERAGE
- CEILING
- CHOOSE
- CONCAT
- CONCATENATE
- DATE (سیستم تاریخ 1900)
- DAYS
- FIND
- FINDB
- IF
- INDEX (فرم ارجاع)
- LOOKUP (فرم برداری)
- MATCH (فرم برداری)
- MAX
- SUM
- VLOOKUP
سؤالهای متداول
آیا فایلهای اکسل خارجی بهعنوان منبع داده برای نموداری با فرمولها پشتیبانی میشوند؟
بله. Aspose.Slides از کتابکارهای خارجی بهعنوان منبع دادهٔ نمودار پشتیبانی میکند که به شما امکان استفاده از فرمولهای یک فایل XLSX خارج از ارائه را میدهد.
آیا فرمولهای نمودار میتوانند به شیتهای داخل همان کتابکار با نام شیت اشاره کنند؟
بله. فرمولها مدل مرجع استاندارد اکسل را دنبال میکنند، بنابراین میتوانید به شیتهای دیگر داخل همان کتابکار یا یک کتابکار خارجی ارجاع دهید. برای ارجاعهای خارجی، مسیر و نام کتابکار را با استفاده از سینتکس اکسل وارد کنید.