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.

todo:image_alt_text

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.

todo:image_alt_text

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