Чтение и манипулирование диаграммами Excel 2016
Возможные сценарии использования
Aspose.Cells поддерживает чтение и манипулирование диаграммами Microsoft Excel 2016, которые отсутствуют в Microsoft Excel 2013 или более ранних версиях.
Чтение и манипулирование диаграммами Excel 2016
Приведенный ниже пример кода загружает образец электронной таблицы, который содержит диаграммы Excel 2016 на первом листе. Он читает все диаграммы по порядку и изменяет их заголовок в соответствии с их типом диаграммы. На следующем скриншоте показан примерный файл Excel до выполнения кода. Как вы можете видеть, заголовок диаграммы одинаков для всех диаграмм.
На следующем скриншоте показан выходной файл Excel после выполнения кода. Как видите, заголовок диаграммы изменен в соответствии с ее типом.
Образец кода
// 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