Чтение и манипулирование диаграммами Excel 2016

Возможные сценарии использования

Aspose.Cells поддерживает чтение и манипулирование диаграммами Microsoft Excel 2016, которые отсутствуют в Microsoft Excel 2013 или более ранних версиях.

Чтение и манипулирование диаграммами Excel 2016

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