نمودارها ابزاری عالی برای نمایش مختصر داده ها هستند. علاوه بر این، آنها داده ها را به صورت بصری نشان می دهند و مصرف مقادیر زیادی از داده ها را آسان تر می کنند. ممکن است نمودارها را در شرایطی که نیاز به نمایش دادههایی مانند مقایسه بودجه ماهانه یا نرخ پذیرش محصول دارید، مفید بدانید. با توجه به آن، این مقاله به شما آموزش میدهد که چگونه با استفاده از C++ در فایلهای اکسل نمودار ایجاد کنید.
- C++ API برای ایجاد نمودارهای اکسل
- ایجاد نمودار خطی در اکسل با استفاده از ++C
- ایجاد نمودار هرمی در اکسل با استفاده از C++
- با استفاده از C++ در اکسل نمودار حباب ایجاد کنید
- نمودارهای پشتیبانی شده اضافی
- مجوز رایگان دریافت کنید
C++ API برای ایجاد نمودارهای اکسل
Aspose.Cells for C++ یک کتابخانه بومی C++ است که به شما امکان میدهد بدون نیاز به نصب Microsoft Excel فایلهای Excel را ایجاد، بخوانید و اصلاح کنید. API همچنین از ایجاد نمودار در فایل های اکسل پشتیبانی می کند. میتوانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.
PM> Install-Package Aspose.Cells.Cpp
نمودار خطی در اکسل با استفاده از C++ ایجاد کنید
برای ایجاد نمودار خطی، هنگام اضافه کردن نمودار، از مقدار ChartTypeLine استفاده کنید. در ادامه مراحل ایجاد نمودار خطی در فایل اکسل آمده است.
- ابتدا یک نمونه از کلاس IWorkbook ایجاد کنید.
- با استفاده از روش IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) برگهای را که میخواهید نمودار را در آن اضافه کنید، بازیابی کنید.
- داده های نمودار را درج کنید.
- نمودار را با استفاده از IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType نوع، Aspose::Cells::Systems::Int32 upperLeftRow، Aspose::Cells::Systems به کاربرگ اضافه کنید. ::Int32 upperLeftColumn، Aspose::Cells::Systems::Int32 lowRightRow، Aspose::Cells::Systems::Int32 lowRightColumn) روش.
- با استفاده از روش IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) به نمودار با نمایه اش دسترسی پیدا کنید.
- منبع داده را برای نمودار با استفاده از IChart->GetNISeries()->Add (intrusiveptr) اضافه کنیدAspose::Cells::Systems::String روش، bool isVertical).
- در نهایت، فایل اکسل را با استفاده از IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String filename) روش.
کد زیر نمونه ای برای ایجاد نمودار خطی در اکسل با استفاده از 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 برای تعیین نوع نمودار در حین اضافه کردن نمودار استفاده کنید. در ادامه مراحل ایجاد نمودار هرمی در فایل اکسل آورده شده است.
- ابتدا یک نمونه از کلاس IWorkbook ایجاد کنید.
- با استفاده از روش IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) برگهای را که میخواهید نمودار را در آن اضافه کنید، بازیابی کنید.
- داده های نمودار را درج کنید.
- نمودار را با استفاده از IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType نوع، Aspose::Cells::Systems::Int32 upperLeftRow، Aspose::Cells::Systems به کاربرگ اضافه کنید. ::Int32 upperLeftColumn، Aspose::Cells::Systems::Int32 lowRightRow، Aspose::Cells::Systems::Int32 lowRightColumn) روش.
- با استفاده از روش IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) به نمودار با نمایه اش دسترسی پیدا کنید.
- منبع داده را برای نمودار با استفاده از IChart->GetNISeries()->Add (intrusiveptr) اضافه کنیدAspose::Cells::Systems::String روش، bool isVertical).
- در نهایت، فایل اکسل را با استفاده از IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String filename) روش.
کد زیر نمونه ای برای ایجاد نمودار هرمی در اکسل با استفاده از 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() منتقل کنید. مراحل زیر برای ایجاد نمودار حبابی در فایل اکسل آورده شده است.
- ابتدا یک نمونه از کلاس IWorkbook ایجاد کنید.
- با استفاده از روش IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) برگهای را که میخواهید نمودار را در آن اضافه کنید، بازیابی کنید.
- داده های نمودار را درج کنید.
- نمودار را با استفاده از IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType نوع، Aspose::Cells::Systems::Int32 upperLeftRow، Aspose::Cells::Systems به کاربرگ اضافه کنید. ::Int32 upperLeftColumn، Aspose::Cells::Systems::Int32 lowRightRow، Aspose::Cells::Systems::Int32 lowRightColumn) روش.
- با استفاده از روش IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) به نمودار با نمایه اش دسترسی پیدا کنید.
- منبع داده، اندازه حباب، مقادیر X و مقادیر Y را برای نمودار با استفاده از IChart->GetNISeries()->Add (intrusiveptr) اضافه کنید.Aspose::Cells::Systems::String area، bool isVertical)، IChart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes (intrusiveptrAspose::Cells::Systems::String مقدار)، IChart->GetNISeries()->GetObjectByIndex(0)->SetXValues (intrusiveptrAspose::Cells::Systems::String مقدار)، IChart->GetNISeries()->GetObjectByIndex(0)->SetValues (intrusiveptrAspose::Cells::Systems::String مقدار) روش به ترتیب.
- در نهایت، فایل اکسل را با استفاده از IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String روش filename).
کد زیر نمونه ای برای ایجاد نمودار حبابی در اکسل با استفاده از 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 ما با ما تماس بگیرید.