Lesen und bearbeiten Sie Excel 2016-Diagramme

Mögliche Nutzungsszenarien

Aspose.Cells unterstützt das Lesen und Bearbeiten von Microsoft Excel 2016-Diagrammen, die in Microsoft Excel 2013 oder früheren Versionen nicht vorhanden sind.

Lesen und bearbeiten Sie Excel 2016-Diagramme

Der folgende Beispielcode lädt dieBeispiel-Excel-Datei die Excel 2016-Diagramme im ersten Arbeitsblatt enthält. Es liest alle Diagramme einzeln und ändert seinen Titel je nach Diagrammtyp. Der folgende Screenshot zeigt die Beispiel-Excel-Datei vor der Ausführung des Codes. Wie Sie sehen können, ist der Diagrammtitel für alle Diagramme gleich.

todo: Bild_alt_Text

Der folgende Screenshot zeigt dieExcel-Datei ausgeben nach der Ausführung des Codes. Wie Sie sehen können, wird der Diagrammtitel je nach Diagrammtyp geändert.

todo: Bild_alt_Text

Beispielcode

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

Konsolenausgabe

Hier ist die Konsolenausgabe des obigen Beispielcodes, wenn er mit der bereitgestellten Beispiel-Excel-Datei ausgeführt wird.

 Waterfall

Treemap

Sunburst

Histogram

BoxWhisker