إنشاء وتخصيص الرسومات
سيناريوهات الاستخدام المحتملة
الرسم البياني هو عرض بصري للمعلومات. تسمح Aspose.Cells للمطورين بتصور المعلومات في رسوم بيانية تمامًا كما يفعل Microsoft Excel. تقديم المعلومات في رسوم بيانية دائماً مفيد لاتخاذ القرارات السريعة والموفقة. من السهل رؤية المقارنات والأنماط والاتجاهات في البيانات باستخدام الرسوم البيانية بدلاً من الأرقام النقدية. إن إنشاء رسوم بيانية في وقت التشغيل، استنادًا إلى البيانات في جدول بيانات، هو أحد الميزات المفيدة لـAspose.Cells. تدعم Aspose.Cells إنشاء كل من الرسوم البيانية القياسية والمخصصة. فيما يلي، سنعرض بعض الأمثلة مع ملفات عينية لكيفية إنشاء بعض أنواع الرسوم البيانية الشائعة في MS-Excel باستخدام واجهات برمجة التطبيقات لـAspose.Cells.
رسم بياني الهرم
عند تشغيل رمز المثال، يتم إضافة رسم بياني هرمي إلى ورقة العمل. الرجاء الاطلاع على ملف الإكسل الناتج لرمز المثال التالي.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
// Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
// Path of output excel file | |
U16String outputChartTypePyramid = outDir + u"outputChartTypePyramid.xlsx"; | |
// Create a new workbook | |
Workbook workbook; | |
// Get first worksheet which is created by default | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Adding sample values to cells | |
worksheet.GetCells().Get(u"A1").PutValue(50); | |
worksheet.GetCells().Get(u"A2").PutValue(100); | |
worksheet.GetCells().Get(u"A3").PutValue(150); | |
worksheet.GetCells().Get(u"B1").PutValue(4); | |
worksheet.GetCells().Get(u"B2").PutValue(20); | |
worksheet.GetCells().Get(u"B3").PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Pyramid, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.GetCharts().Get(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.GetNSeries().Add(u"A1:B3", true); | |
// Saving the Excel file | |
workbook.Save(outputChartTypePyramid); | |
Aspose::Cells::Cleanup(); |
رسم بياني خطي
في المثال أعلاه، ببساطة تغيير الChartType إلى ChartType::Line
ينشئ رسم بياني خطي. يُوفّر الشكل الكامل أدناه. عند تشغيل الرمز، يتم إضافة رسم بياني خطي إلى ورقة العمل. الرجاء الاطلاع على ملف الإكسل الناتج لرمز المثال التالي.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
// Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
// Path of output excel file | |
U16String outputChartTypeLine = testPath + u"outputChartTypeLine.xlsx"; | |
// Create a new workbook | |
Workbook workbook; | |
// Get first worksheet which is created by default | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Adding sample values to cells | |
worksheet.GetCells().Get(u"A1").PutValue(50); | |
worksheet.GetCells().Get(u"A2").PutValue(100); | |
worksheet.GetCells().Get(u"A3").PutValue(150); | |
worksheet.GetCells().Get(u"B1").PutValue(4); | |
worksheet.GetCells().Get(u"B2").PutValue(20); | |
worksheet.GetCells().Get(u"B3").PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Line, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.GetCharts().Get(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.GetNSeries().Add(u"A1:B3", true); | |
// Saving the Excel file | |
workbook.Save(outputChartTypeLine); | |
Aspose::Cells::Cleanup(); |
رسم بياني فقاعي
من أجل إنشاء رسم بياني فقاعي، يجب ضبط الChartType إلى ChartType_Bubble
ويجب ضبط الخصائص الإضافية مثل SetBubbleSizes و SetXValues وفقًا لذلك. عند تنفيذ الرمز التالي، يتم إضافة رسم بياني فقاعي إلى ورقة العمل. الرجاء الاطلاع على ملف الإكسل الناتج لرمز المثال التالي.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
// Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
// Path of output excel file | |
U16String outputChartTypeBubble = outDir + u"outputChartTypeBubble.xlsx"; | |
// Create a new workbook | |
Workbook workbook; | |
// Get first worksheet which is created by default | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Fill in data for chart's series | |
// Y Values | |
worksheet.GetCells().Get(0, 0).PutValue(u"Y Values"); | |
worksheet.GetCells().Get(0, 1).PutValue(2); | |
worksheet.GetCells().Get(0, 2).PutValue(4); | |
worksheet.GetCells().Get(0, 3).PutValue(6); | |
// Bubble Size | |
worksheet.GetCells().Get(1, 0).PutValue(u"Bubble Size"); | |
worksheet.GetCells().Get(1, 1).PutValue(2); | |
worksheet.GetCells().Get(1, 2).PutValue(3); | |
worksheet.GetCells().Get(1, 3).PutValue(1); | |
// X Values | |
worksheet.GetCells().Get(2, 0).PutValue(u"X Values"); | |
worksheet.GetCells().Get(2, 1).PutValue(1); | |
worksheet.GetCells().Get(2, 2).PutValue(2); | |
worksheet.GetCells().Get(2, 3).PutValue(3); | |
// Set first column width | |
worksheet.GetCells().SetColumnWidth(0, 12); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Bubble, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.GetCharts().Get(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from B1 to D1 | |
chart.GetNSeries().Add(u"B1:D1", true); | |
// Set bubble sizes | |
chart.GetNSeries().Get(0).SetBubbleSizes(u"B2:D2"); | |
// Set X axis values | |
chart.GetNSeries().Get(0).SetXValues(u"B3:D3"); | |
// Set Y axis values | |
chart.GetNSeries().Get(0).SetValues(u"B1:D1"); | |
// Saving the Excel file | |
workbook.Save(outputChartTypeBubble); | |
Aspose::Cells::Cleanup(); |
إنشاء مخططات مخصصة
حتى الآن، عندما تحدثنا عن الرسوم البيانية، ألقينا نظرة على الرسوم البيانية القياسية التي تحتوي على إعدادات تنسيق قياسية خاصة بها. نحدد فقط مصدر البيانات، نضبط بعض الممتلكات ويتم إنشاء الرسم البياني بإعدادات تنسيقه الافتراضية. ولكن واجهات برمجة التطبيقات لـ Aspose.Cells تدعم أيضًا إنشاء رسوم بيانية مخصصة تتيح للمطورين إنشاء رسوم بيانية بإعدادات تنسيق خاصة بهم. يمكن للمطورين إنشاء رسوم بيانية مخصصة في وقت التشغيل باستخدام Aspose.Cells.
يتكون الرسم البياني من سلسلة بيانات. عند إنشاء رسم بياني مخصص، يحصل المطوّرون على حرية استخدام أنواع مختلفة من الرسوم البيانية لسلاسل بيانات مختلفة.
الشفرة المثالية أدناه توضح كيفية إنشاء رسوم بيانية مخصصة. في هذا المثال، سنستخدم رسماً بيانياً للأعمدة للسلسلة البيانية الأولى ورسم بياني خطي للسلسلة الثانية. النتيجة هي إضافة رسم بياني للأعمدة مجتمعًا مع رسم بياني خطي إلى ورقة العمل. الرجاء الاطلاع على ملف الإكسل الناتج من الشفرة المثالية التالية.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
// Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
// Path of output excel file | |
U16String outputChartTypeCustom = outDir + u"outputChartTypeCustom.xlsx"; | |
// Create a new workbook | |
Workbook workbook; | |
// Get first worksheet which is created by default | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Adding sample values to cells | |
worksheet.GetCells().Get(u"A1").PutValue(50); | |
worksheet.GetCells().Get(u"A2").PutValue(100); | |
worksheet.GetCells().Get(u"A3").PutValue(150); | |
worksheet.GetCells().Get(u"A4").PutValue(110); | |
worksheet.GetCells().Get(u"B1").PutValue(260); | |
worksheet.GetCells().Get(u"B2").PutValue(12); | |
worksheet.GetCells().Get(u"B3").PutValue(50); | |
worksheet.GetCells().Get(u"B4").PutValue(100); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.GetCharts().Add(Aspose::Cells::Charts::ChartType::Column, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.GetCharts().Get(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from A1 to B4 | |
chart.GetNSeries().Add(u"A1:B4", true); | |
// Setting the chart type of 2nd NSeries to display as line chart | |
chart.GetNSeries().Get(1).SetType(Aspose::Cells::Charts::ChartType::Line); | |
// Saving the Excel file | |
workbook.Save(outputChartTypeCustom); | |
Aspose::Cells::Cleanup(); |