Leggi e manipola i grafici di Excel 2016
Possibili scenari di utilizzo
Aspose.Cells supporta la lettura e la manipolazione dei grafici Microsoft Excel 2016 che non sono presenti in Microsoft Excel 2013 o versioni precedenti.
Leggi e manipola i grafici di Excel 2016
Il codice di esempio seguente carica il fileesempio di file Excel che contiene i grafici di Excel 2016 nel primo foglio di lavoro. Legge tutti i grafici uno per uno e cambia il titolo in base al tipo di grafico. Lo screenshot seguente mostra il file Excel di esempio prima dell’esecuzione del codice. Come puoi vedere, il titolo del grafico è lo stesso per tutti i grafici.
Lo screenshot seguente mostra ilfile Excel di output dopo l’esecuzione del codice. Come puoi vedere, il titolo del grafico viene modificato in base al tipo di grafico.
Codice d’esempio
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Source directory path | |
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\"); | |
//Output directory path | |
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\"); | |
//Path of input excel file | |
StringPtr sampleReadAndManipulateExcel2016Charts = srcDir->StringAppend(new String("sampleReadAndManipulateExcel2016Charts.xlsx")); | |
//Path of output excel file | |
StringPtr outputReadAndManipulateExcel2016Charts = outDir->StringAppend(new String("outputReadAndManipulateExcel2016Charts.xlsx")); | |
// Load sample Excel file containing Excel 2016 charts | |
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleReadAndManipulateExcel2016Charts); | |
// Access the first worksheet which contains the charts | |
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0); | |
// Access all charts one by one and read their types | |
for (int i = 0; i < worksheet->GetICharts()->GetCount(); i++) | |
{ | |
// Access the chart | |
intrusive_ptr<IChart> ch = worksheet->GetICharts()->GetObjectByIndex(i); | |
//Get the chart type | |
ChartType chartType = ch->GetType(); | |
//Convert chart type enum to string | |
StringPtr strChartType = NULL; | |
switch (chartType) | |
{ | |
case Aspose::Cells::Charts::ChartType_BoxWhisker: | |
strChartType = new String("BoxWhisker"); | |
break; | |
case Aspose::Cells::Charts::ChartType_Histogram: | |
strChartType = new String("Histogram"); | |
break; | |
case Aspose::Cells::Charts::ChartType_Sunburst: | |
strChartType = new String("Sunburst"); | |
break; | |
case Aspose::Cells::Charts::ChartType_Treemap: | |
strChartType = new String("Treemap"); | |
break; | |
case Aspose::Cells::Charts::ChartType_Waterfall: | |
strChartType = new String("Waterfall"); | |
break; | |
default: | |
break; | |
} | |
// Print chart type | |
Aspose::Cells::Systems::Console::WriteLine(strChartType); | |
// Change the title of the charts as per their types | |
StringPtr strTitle = (StringPtr)(new String("Chart Type is "))->Append(strChartType); | |
ch->GetITitle()->SetText(strTitle); | |
} | |
// Save the workbook | |
workbook->Save(outputReadAndManipulateExcel2016Charts); |
Uscita console
Ecco l’output della console del codice di esempio precedente quando eseguito con il file Excel di esempio fornito.
Waterfall
Treemap
Sunburst
Histogram
BoxWhisker