ایجاد نمودارهای اکسل C++

نمودارها ابزاری عالی برای نمایش مختصر داده ها هستند. علاوه بر این، آنها داده ها را به صورت بصری نشان می دهند و مصرف مقادیر زیادی از داده ها را آسان تر می کنند. ممکن است نمودارها را در شرایطی که نیاز به نمایش داده‌هایی مانند مقایسه بودجه ماهانه یا نرخ پذیرش محصول دارید، مفید بدانید. با توجه به آن، این مقاله به شما آموزش می‌دهد که چگونه با استفاده از C++ در فایل‌های اکسل نمودار ایجاد کنید.

C++ API برای ایجاد نمودارهای اکسل

Aspose.Cells for C++ یک کتابخانه بومی C++ است که به شما امکان می‌دهد بدون نیاز به نصب Microsoft Excel فایل‌های Excel را ایجاد، بخوانید و اصلاح کنید. API همچنین از ایجاد نمودار در فایل های اکسل پشتیبانی می کند. می‌توانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.

PM> Install-Package Aspose.Cells.Cpp

نمودار خطی در اکسل با استفاده از C++ ایجاد کنید

برای ایجاد نمودار خطی، هنگام اضافه کردن نمودار، از مقدار ChartTypeLine استفاده کنید. در ادامه مراحل ایجاد نمودار خطی در فایل اکسل آمده است.

کد زیر نمونه ای برای ایجاد نمودار خطی در اکسل با استفاده از C++ است.

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// مسیر خروجی فایل اکسل
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// یک کتاب کار جدید ایجاد کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// اولین کاربرگ را دریافت کنید که به طور پیش فرض ایجاد شده است
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// افزودن مقادیر نمونه به سلول ها
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// اضافه کردن نمودار به کاربرگ
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// دسترسی به نمونه نمودار جدید اضافه شده
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// افزودن SeriesCollection (منبع داده نمودار) به نمودار از سلول "A1" تا "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// ذخیره فایل اکسل
workbook->Save(outputChartTypeLine);
نمودار خطی

نمودار خط تولید شده توسط کد نمونه

ایجاد نمودار هرمی در اکسل با استفاده از C++

برای ایجاد نمودار هرمی، از مقدار ChartTypePyramid برای تعیین نوع نمودار در حین اضافه کردن نمودار استفاده کنید. در ادامه مراحل ایجاد نمودار هرمی در فایل اکسل آورده شده است.

کد زیر نمونه ای برای ایجاد نمودار هرمی در اکسل با استفاده از C++ است.

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// مسیر خروجی فایل اکسل
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// یک کتاب کار جدید ایجاد کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// اولین کاربرگ را دریافت کنید که به طور پیش فرض ایجاد شده است
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// افزودن مقادیر نمونه به سلول ها
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// اضافه کردن نمودار به کاربرگ
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// دسترسی به نمونه نمودار جدید اضافه شده
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// افزودن SeriesCollection (منبع داده نمودار) به نمودار از سلول "A1" تا "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// ذخیره فایل اکسل
workbook->Save(outputChartTypePyramid);
نمودار هرم

نمودار هرمی تولید شده توسط کد نمونه

با استفاده از C++ در اکسل نمودار حباب ایجاد کنید

برای ایجاد نمودار حباب، مقدار ChartTypeBubble را به روش IWorksheet->GetICharts()->Add() منتقل کنید. مراحل زیر برای ایجاد نمودار حبابی در فایل اکسل آورده شده است.

کد زیر نمونه ای برای ایجاد نمودار حبابی در اکسل با استفاده از C++ است.

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// مسیر خروجی فایل اکسل
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// یک کتاب کار جدید ایجاد کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// اولین کاربرگ را دریافت کنید که به طور پیش فرض ایجاد شده است
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// داده های سری نمودار را پر کنید
// مقادیر Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("مقادیر Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// اندازه حباب
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("اندازه حباب"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// مقادیر X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("مقادیر X"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// عرض ستون اول را تنظیم کنید
worksheet->GetICells()->SetColumnWidth(0, 12);

// اضافه کردن نمودار به کاربرگ
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// دسترسی به نمونه نمودار جدید اضافه شده
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// افزودن SeriesCollection (منبع داده نمودار) به نمودار از B1 تا D1
chart->GetNISeries()->Add(new String("B1:D1"), true);

// اندازه های حباب را تنظیم کنید
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// مقادیر محور X را تنظیم کنید
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// مقادیر محور Y را تنظیم کنید
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// ذخیره فایل اکسل
workbook->Save(outputChartTypeBubble);
نمودار حباب

نمودار حباب ایجاد شده توسط کد نمونه

نمودارهای پشتیبانی شده اضافی

به غیر از نمودارهای نشان داده شده در بالا، Aspose.Cells برای C++ از بسیاری از انواع نمودارهای اضافی پشتیبانی می کند. شما می توانید لیست کامل نمودارهای پشتیبانی شده را با مشاهده مقادیر فهرست ChartType مشاهده کنید.

مجوز رایگان دریافت کنید

با درخواست [مجوز موقت رایگان30 می‌توانید API را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله نحوه ایجاد نمودار در صفحات گسترده اکسل با استفاده از C++ را یاد گرفتید. به طور خاص، نحوه ایجاد نمودارهای Line، Pyramid و Bubble را با استفاده از Aspose.Cells برای C++ API مشاهده کرده‌اید. علاوه بر این، دیده اید که API از تعداد زیادی نمودار دیگر پشتیبانی می کند که می توانید در فایل های اکسل خود ایجاد کنید. علاوه بر نمودارها، API بسیاری از ویژگی های اضافی را برای کار با فایل های اکسل فراهم می کند. می‌توانید با مراجعه به مستندات رسمی API را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً در [تالار گفتمان پشتیبانی رایگان32 ما با ما تماس بگیرید.

همچنین ببینید