تخصيص المخططات باستخدام ++C
إنشاء مخططات مخصصة
حتى الآن، عندما ناقشنا المخططات، نظرنا إلى المخططات القياسية التي تحتوي على إعدادات تنسيقها القياسية. نحن فقط نحدد مصدر البيانات، نضبط بعض الخاصيات، ويتم إنشاء المخطط بإعداداته الافتراضية. لكن API الخاصة بـ Aspose.Cells تدعم أيضًا إنشاء مخططات مخصصة تتيح للمطورين إنشاء مخططات بإعداداتهم الخاصة.
يمكن للمطورين إنشاء مخططات مخصصة أثناء التشغيل باستخدام Aspose.Cells.
يتألف المخطط من سلاسل بيانات. يُمثل كل سلسلة بيانات في Aspose.Cells بواسطة Series كائن في حين تعمل كائن SeriesCollection كمجموعة لأشياء Series. عند إنشاء مخطط مخصص، يحظى المطورون بحرية استخدام أنواع مختلفة من المخططات لسلاسل بيانات مختلفة (التي تم جمعها في الكائن SeriesCollection).
الكود المثال أدناه يوضح كيفية إنشاء مخططات مخصصة. في هذا المثال، سنستخدم مخطط عمودي لأول سلسلة بيانات ومخطط خطي للسلسلة الثانية. النتيجة هي أننا نضيف مخطط عمودي، مع مخطط خطي، إلى ورقة العمل.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Charts;
int main()
{
Aspose::Cells::Startup();
<span class="c1">// Source directory path
U16String srcDir(u"..\Data\01_SourceDirectory\");
<span class="c1">// Output directory path
U16String outDir(u"..\Data\02_OutputDirectory\");
<span class="c1">// Create a new workbook
Workbook workbook;
<span class="c1">// Add a new worksheet to the workbook
int sheetIndex = workbook.GetWorksheets().Add();
<span class="c1">// Obtain the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.GetWorksheets().Get(sheetIndex);
<span class="c1">// Add 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);
<span class="c1">// Add a chart to the worksheet
int chartIndex = worksheet.GetCharts().Add(ChartType::Column, 5, 0, 15, 5);
<span class="c1">// Access the instance of the newly added chart
Chart chart = worksheet.GetCharts().Get(chartIndex);
<span class="c1">// Add NSeries (chart data source) to the chart ranging from "A1" cell to "B4"
chart.GetNSeries().Add(u"A1:B4", true);
<span class="c1">// Set the chart type of 2nd NSeries to display as line chart
chart.GetNSeries().Get(1).SetType(ChartType::Line);
<span class="c1">// Save the Excel file
workbook.Save(outDir + u"output.xls");
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"Chart created successfully!"</span> <span class="o"><<</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
<span class="n">Aspose</span><span class="o">::</span><span class="n">Cells</span><span class="o">::</span><span class="n">Cleanup</span><span class="p">();</span>
}
حالياً، يدعم Aspose.Cells فقط المخططات المخصصة التي تجمع بين مخططات الفطيرة، والخط، والعمود، والتكديس العمودي، ولكن سيتم دعم المزيد من المخططات في الإصدارات المستقبلية.