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.
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.
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