读取和操作Excel 2016图表

可能的使用场景

Aspose.Cells支持读取和操作Microsoft Excel 2016图表,这些图表在Microsoft Excel 2013或更早版本中不存在。

读取和操作Excel 2016图表

以下示例代码加载了包含Excel 2016图表的 示例Excel文件 在第一个工作表中。它逐个读取所有图表并根据图表类型更改其标题。以下截图显示了执行代码之前的示例Excel文件。您可以看到,所有图表的标题都是相同的。

todo:image_alt_text

以下截图显示了代码执行后的 输出Excel文件。您可以看到,图表的标题已根据其图表类型更改。

todo:image_alt_text

示例代码

// 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();

控制台输出

这是上述示例代码在提供的示例Excel文件上执行时的控制台输出。

 Waterfall

Treemap

Sunburst

Histogram

BoxWhisker