Read and Manipulate Excel 2016 Charts
Possible Usage Scenarios
Aspose.Cells supports the reading and manipulation of Microsoft Excel 2016 charts which are not present in Microsoft Excel 2013 or earlier versions.
Read and Manipulate Excel 2016 Charts
The following sample code loads the sample Excel file which contains Excel 2016 charts in the first worksheet. It reads all charts one by one and changes its title as per its chart type. The following screenshot shows the sample Excel file before the execution of the code. As you can see, the chart title is the same for all charts.
The following screenshot shows the output Excel file after the execution of code. As you can see, the chart title is changed as per its chart type.
Sample Code
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
Aspose::Cells::Startup(); | |
//Source directory path | |
U16String srcDir(u"..\\Data\\01_SourceDirectory\\"); | |
//Output directory path | |
U16String outDir(u"..\\Data\\02_OutputDirectory\\"); | |
//Path of input excel file | |
U16String sampleReadAndManipulateExcel2016Charts = srcDir + u"sampleReadAndManipulateExcel2016Charts.xlsx"; | |
//Path of output excel file | |
U16String outputReadAndManipulateExcel2016Charts = outDir + u"outputReadAndManipulateExcel2016Charts.xlsx"; | |
// Load sample Excel file containing Excel 2016 charts | |
Workbook workbook(sampleReadAndManipulateExcel2016Charts); | |
// Access the first worksheet which contains the charts | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
// Access all charts one by one and read their types | |
for (int i = 0; i < worksheet.GetCharts().GetCount(); i++) | |
{ | |
// Access the chart | |
Chart ch = worksheet.GetCharts().Get(i); | |
//Get the chart type | |
ChartType chartType = ch.GetType(); | |
//Convert chart type enum to string | |
U16String strChartType = u""; | |
switch (chartType) | |
{ | |
case Aspose::Cells::Charts::ChartType::BoxWhisker: | |
strChartType = u"BoxWhisker"; | |
break; | |
case Aspose::Cells::Charts::ChartType::Histogram: | |
strChartType = u"Histogram"; | |
break; | |
case Aspose::Cells::Charts::ChartType::Sunburst: | |
strChartType = u"Sunburst"; | |
break; | |
case Aspose::Cells::Charts::ChartType::Treemap: | |
strChartType = u"Treemap"; | |
break; | |
case Aspose::Cells::Charts::ChartType::Waterfall: | |
strChartType = u"Waterfall"; | |
break; | |
default: | |
break; | |
} | |
// Print chart type | |
std::cout << strChartType.ToUtf8() << std::endl; | |
// Change the title of the charts as per their types | |
U16String strTitle = u"Chart Type is " + strChartType; | |
ch.GetTitle().SetText(strTitle); | |
} | |
// Save the workbook | |
workbook.Save(outputReadAndManipulateExcel2016Charts); | |
Aspose::Cells::Cleanup(); |
Console Output
Here is the console output of the above sample code when executed with the provided sample Excel file.
Waterfall
Treemap
Sunburst
Histogram
BoxWhisker