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.

cose da fare:immagine_alt_testo

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.

cose da fare:immagine_alt_testo

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