Last active
April 15, 2021 13:40
-
-
Save aspose-com-gists/ffbe4ccd973e3487fb7d1e9ba40b1b11 to your computer and use it in GitHub Desktop.
Create Charts in Excel Files using C++
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Examples for Creating Charts in Excel Files using C++ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Output directory path. | |
StringPtr outDir = new String("OutputDirectory\\"); | |
// Path of output excel file | |
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx")); | |
// Create a new workbook | |
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(); | |
// Get first worksheet which is created by default | |
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); | |
// Fill in data for chart's series | |
// Y Values | |
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Y Values")); | |
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2); | |
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4); | |
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6); | |
// Bubble Size | |
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Bubble Size")); | |
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2); | |
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3); | |
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1); | |
// X Values | |
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("X Values")); | |
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1); | |
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2); | |
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3); | |
// Set first column width | |
worksheet->GetICells()->SetColumnWidth(0, 12); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from B1 to D1 | |
chart->GetNISeries()->Add(new String("B1:D1"), true); | |
// Set bubble sizes | |
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2")); | |
// Set X axis values | |
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3")); | |
// Set Y axis values | |
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1")); | |
// Saving the Excel file | |
workbook->Save(outputChartTypeBubble); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Output directory path. | |
StringPtr outDir = new String("OutputDirectory\\"); | |
// Path of output excel file | |
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx")); | |
// Create a new workbook | |
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(); | |
// Get first worksheet which is created by default | |
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); | |
// Adding sample values to cells | |
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); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart->GetNISeries()->Add(new String("A1:B3"), true); | |
// Saving the Excel file | |
workbook->Save(outputChartTypeLine); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Output directory path. | |
StringPtr outDir = new String("OutputDirectory\\"); | |
// Path of output excel file | |
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx")); | |
// Create a new workbook | |
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(); | |
// Get first worksheet which is created by default | |
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); | |
// Adding sample values to cells | |
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); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8); | |
// Accessing the instance of the newly added chart | |
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex); | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart->GetNISeries()->Add(new String("A1:B3"), true); | |
// Saving the Excel file | |
workbook->Save(outputChartTypePyramid); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment