Erstellen oder Aktualisieren von PowerPoint-Präsentationsdiagrammen

Übersicht

Dieser Artikel beschreibt, wie man PowerPoint-Präsentationsdiagramme in Java erstellen kann. Man kann auch die Diagramme aktualisieren. Es behandelt folgende Themen.

Diagramm: Normal

Diagramm: Punkt

Diagramm: Kreis

Diagramm: Baumkarte

Diagramm: Börse

Diagramm: Box und Whisker

Diagramm: Trichter

Diagramm: Sonnenstrahl

Diagramm: Histogramm

Diagramm: Radar

Diagramm: Mehrkategorie

Diagramm: Karte

Aktion: Diagramm aktualisieren

Diagramm erstellen

Diagramme helfen Menschen, Daten schnell zu visualisieren und Erkenntnisse zu gewinnen, die aus einer Tabelle oder einem Spreadsheet nicht sofort offensichtlich sind.

Warum Diagramme erstellen?

Mit Diagrammen können Sie

  • große Mengen an Daten auf einer einzigen Folie in einer Präsentation aggregieren, kondensieren oder zusammenfassen
  • Muster und Trends in Daten aufdecken
  • die Richtung und Dynamik von Daten im Zeitverlauf oder im Hinblick auf eine bestimmte Maßeinheit ableiten
  • Ausreißer, Abweichungen, Fehler, unsinnige Daten usw. identifizieren
  • komplexe Daten kommunizieren oder präsentieren

In PowerPoint können Sie Diagramme über die Einfügefunktion erstellen, die Vorlagen bereitstellt, die zur Gestaltung vieler Arten von Diagrammen verwendet werden. Mit Aspose.Slides können Sie reguläre Diagramme (basierend auf gängigen Diagrammtypen) und benutzerdefinierte Diagramme erstellen.

Erstellen von Normal-Diagrammen

Schritte: Diagramm erstellen

Code Schritte:

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit einigen Daten hinzu und geben Sie Ihren bevorzugten Diagrammtyp an.
  4. Fügen Sie einen Titel für das Diagramm hinzu.
  5. Greifen Sie auf das Datenarbeitsblatt des Diagramms zu.
  6. Löschen Sie alle standardmäßigen Serien und Kategorien.
  7. Fügen Sie neue Serien und Kategorien hinzu.
  8. Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
  9. Fügen Sie eine Füllfarbe für die Diagrammserien hinzu.
  10. Fügen Sie Beschriftungen für die Diagrammserien hinzu.
  11. Speichern Sie die modifizierte Präsentation als PPTX-Datei.

Dieser PHP-Code zeigt, wie man ein normales Diagramm erstellt:

  # Instanziiert eine Präsentationsklasse, die eine PPTX-Datei darstellt
  $pres = new Presentation();
  try {
    # Greift auf die erste Folie zu
    $sld = $pres->getSlides()->get_Item(0);
    # Fügt ein Diagramm mit seinen Standarddaten hinzu
    $chart = $sld->getShapes()->addChart(ChartType::ClusteredColumn, 0, 0, 500, 500);
    # Setzt den Titel des Diagramms
    $chart->getChartTitle()->addTextFrameForOverriding("Beispieltitel");
    $chart->getChartTitle()->getTextFrameForOverriding()->getTextFrameFormat()->setCenterText(NullableBool::True);
    $chart->getChartTitle()->setHeight(20);
    $chart->hasTitle();
    # Setzt die erste Serie auf Werte anzeigen
    $chart->getChartData()->getSeries()->get_Item(0)->getLabels()->getDefaultDataLabelFormat()->setShowValue(true);
    # Setzt den Index für das Datenblatt des Diagramms
    $defaultWorksheetIndex = 0;
    # Holt das Datenarbeitsblatt des Diagramms
    $fact = $chart->getChartData()->getChartDataWorkbook();
    # Löscht die standardmäßig erzeugten Serien und Kategorien
    $chart->getChartData()->getSeries()->clear();
    $chart->getChartData()->getCategories()->clear();
    $s = $chart->getChartData()->getSeries()->size();
    $s = $chart->getChartData()->getCategories()->size();
    # Fügt neue Serien hinzu
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 0, 1, "Serie 1"), $chart->getType());
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 0, 2, "Serie 2"), $chart->getType());
    # Fügt neue Kategorien hinzu
    $chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 1, 0, "Kategorie 1"));
    $chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 2, 0, "Kategorie 2"));
    $chart->getChartData()->getCategories()->add($fact->getCell($defaultWorksheetIndex, 3, 0, "Kategorie 3"));
    # Nimmt die erste Diagrammserie
    $series = $chart->getChartData()->getSeries()->get_Item(0);
    # Jetzt die Seriendaten befüllen
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 1, 1, 20));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 2, 1, 50));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 3, 1, 30));
    # Setzt die Füllfarbe für die Serie
    $series->getFormat()->getFill()->setFillType(FillType::Solid);
    $series->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
    # Nimmt die zweite Diagrammserie
    $series = $chart->getChartData()->getSeries()->get_Item(1);
    # Befüllt die Seriendaten
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 1, 2, 30));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 2, 2, 10));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 3, 2, 60));
    # Setzt die Füllfarbe für die Serie
    $series->getFormat()->getFill()->setFillType(FillType::Solid);
    $series->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
    # Erstellt benutzerdefinierte Etiketten für jede Kategorie der neuen Serie
    # Setzt die erste Beschriftung auf Kategoriename anzeigen
    $lbl = $series->getDataPoints()->get_Item(0)->getLabel();
    $lbl->getDataLabelFormat()->setShowCategoryName(true);
    $lbl = $series->getDataPoints()->get_Item(1)->getLabel();
    $lbl->getDataLabelFormat()->setShowSeriesName(true);
    # Zeigt Werte für die dritte Beschriftung an
    $lbl = $series->getDataPoints()->get_Item(2)->getLabel();
    $lbl->getDataLabelFormat()->setShowValue(true);
    $lbl->getDataLabelFormat()->setShowSeriesName(true);
    $lbl->getDataLabelFormat()->setSeparator("/");
    # Speichert die Präsentation mit dem Diagramm
    $pres->save("output.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Punktdiagrammen

Punktdiagramme (auch bekannt als Scatterplots oder XY-Diagramme) werden häufig verwendet, um nach Mustern zu suchen oder Korrelationen zwischen zwei Variablen zu demonstrieren.

Sie möchten möglicherweise ein Punktdiagramm verwenden, wenn

  • Sie gepaarte numerische Daten haben
  • Sie 2 Variablen haben, die gut zusammenpassen
  • Sie bestimmen möchten, ob 2 Variablen miteinander verwandt sind
  • Sie eine unabhängige Variable haben, die mehrere Werte für eine abhängige Variable hat

Schritte: Punktdiagramm erstellen | Schritte: PowerPoint Punktdiagramm erstellen | Schritte: PowerPoint-Präsentationspunktdiagramm erstellen

  1. Bitte folgen Sie den oben genannten Schritten in Normal-Diagramme erstellen
  2. Für den dritten Schritt, fügen Sie ein Diagramm mit einigen Daten hinzu und geben Sie Ihren Diagrammtyp als einer der folgenden an:
    1. ChartType::ScatterWithMarkers - Stellt Punktdiagramm dar.
    2. ChartType::ScatterWithSmoothLinesAndMarkers - Stellt Punktdiagramm dar, das durch Kurven verbunden ist, mit Datenmarkern.
    3. ChartType::ScatterWithSmoothLines - Stellt Punktdiagramm dar, das durch Kurven verbunden ist, ohne Datenmarkern.
    4. ChartType::ScatterWithStraightLinesAndMarkers - Stellt Punktdiagramm dar, das durch Linien verbunden ist, mit Datenmarkern.
    5. ChartType::ScatterWithStraightLines - Stellt Punktdiagramm dar, das durch Linien verbunden ist, ohne Datenmarkern.

Dieser PHP-Code zeigt, wie man ein Punktdiagramm mit einer anderen Serie von Markierungen erstellt:

  # Instanziiert eine Präsentationsklasse, die eine PPTX-Datei darstellt
  $pres = new Presentation();
  try {
    # Greift auf die erste Folie zu
    $slide = $pres->getSlides()->get_Item(0);
    # Erstellt das Standarddiagramm
    $chart = $slide->getShapes()->addChart(ChartType::ScatterWithSmoothLines, 0, 0, 400, 400);
    # Holt den Index des Standarddatenarbeitsblatts
    $defaultWorksheetIndex = 0;
    # Holt das Diagramm-Datenarbeitsblatt
    $fact = $chart->getChartData()->getChartDataWorkbook();
    # Löscht die Demoserie
    $chart->getChartData()->getSeries()->clear();
    # Fügt neue Serien hinzu
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 1, 1, "Serie 1"), $chart->getType());
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 1, 3, "Serie 2"), $chart->getType());
    # Nimmt die erste Diagrammserie
    $series = $chart->getChartData()->getSeries()->get_Item(0);
    # Fügt einen neuen Punkt (1:3) zur Serie hinzu
    $series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 2, 1, 1), $fact->getCell($defaultWorksheetIndex, 2, 2, 3));
    # Fügt einen neuen Punkt (2:10) hinzu
    $series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 3, 1, 2), $fact->getCell($defaultWorksheetIndex, 3, 2, 10));
    # Ändert den Serientyp
    $series->setType(ChartType::ScatterWithStraightLinesAndMarkers);
    # Ändert den Marker der Diagrammserie
    $series->getMarker()->setSize(10);
    $series->getMarker()->setSymbol(MarkerStyleType::Star);
    # Nimmt die zweite Diagrammserie
    $series = $chart->getChartData()->getSeries()->get_Item(1);
    # Fügt einen neuen Punkt (5:2) dort hinzu
    $series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 2, 3, 5), $fact->getCell($defaultWorksheetIndex, 2, 4, 2));
    # Fügt einen neuen Punkt (3:1) hinzu
    $series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 3, 3, 3), $fact->getCell($defaultWorksheetIndex, 3, 4, 1));
    # Fügt einen neuen Punkt (2:2) hinzu
    $series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 4, 3, 2), $fact->getCell($defaultWorksheetIndex, 4, 4, 2));
    # Fügt einen neuen Punkt (5:1) hinzu
    $series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 5, 3, 5), $fact->getCell($defaultWorksheetIndex, 5, 4, 1));
    # Ändert den Marker der Diagrammserie
    $series->getMarker()->setSize(10);
    $series->getMarker()->setSymbol(MarkerStyleType::Circle);
    $pres->save("AsposeChart_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Kreisdiagrammen

Kreisdiagramme eignen sich am besten, um die Teil-zu-Ganzes-Beziehung in Daten zu zeigen, insbesondere wenn die Daten kategorische Beschriftungen mit numerischen Werten enthalten. Wenn Ihre Daten jedoch viele Teile oder Beschriftungen enthalten, möchten Sie möglicherweise stattdessen ein Balkendiagramm in Betracht ziehen.

Schritte: Kreisdiagramm erstellen | Schritte: PowerPoint-Kreisdiagramm erstellen | Schritte: PowerPoint-Präsentationskreisdiagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Erhalten Sie eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten sowie dem gewünschten Typ hinzu (in diesem Fall, ChartType.Pie).
  4. Greifen Sie auf das Diagrammdaten-IChartDataWorkbook zu.
  5. Löschen Sie die standardmäßigen Serien und Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
  8. Fügen Sie neue Punkte für die Diagramme hinzu und fügen Sie benutzerdefinierte Farben für die Segmente des Kreisdiagramms hinzu.
  9. Setzen Sie Beschriftungen für die Serien.
  10. Setzen Sie Führungslinien für die Serienbeschriftungen.
  11. Setzen Sie den Drehwinkel für die Folien des Kreisdiagramms.
  12. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Dieser PHP-Code zeigt, wie man ein Kreisdiagramm erstellt:

  # Instanziiert eine Präsentationsklasse, die eine PPTX-Datei darstellt
  $pres = new Presentation();
  try {
    # Greift auf die erste Folie zu
    $slides = $pres->getSlides()->get_Item(0);
    # Fügt ein Diagramm mit Standarddaten hinzu
    $chart = $slides->getShapes()->addChart(ChartType::Pie, 100, 100, 400, 400);
    # Setzt den Titel des Diagramms
    $chart->getChartTitle()->addTextFrameForOverriding("Beispieltitel");
    $chart->getChartTitle()->getTextFrameForOverriding()->getTextFrameFormat()->setCenterText(NullableBool::True);
    $chart->getChartTitle()->setHeight(20);
    $chart->setTitle(true);
    # Setzt die erste Serie auf Werte anzeigen
    $chart->getChartData()->getSeries()->get_Item(0)->getLabels()->getDefaultDataLabelFormat()->setShowValue(true);
    # Setzt den Index für das Datenblatt des Diagramms
    $defaultWorksheetIndex = 0;
    # Holt das Datenarbeitsblatt des Diagramms
    $fact = $chart->getChartData()->getChartDataWorkbook();
    # Löscht die standardmäßig erzeugten Serien und Kategorien
    $chart->getChartData()->getSeries()->clear();
    $chart->getChartData()->getCategories()->clear();
    # Fügt neue Kategorien hinzu
    $chart->getChartData()->getCategories()->add($fact->getCell(0, 1, 0, "Erstes Quartal"));
    $chart->getChartData()->getCategories()->add($fact->getCell(0, 2, 0, "2. Quartal"));
    $chart->getChartData()->getCategories()->add($fact->getCell(0, 3, 0, "3. Quartal"));
    # Fügt neue Serien hinzu
    $series = $chart->getChartData()->getSeries()->add($fact->getCell(0, 0, 1, "Serie 1"), $chart->getType());
    # Füllt die Seriendaten
    $series->getDataPoints()->addDataPointForPieSeries($fact->getCell($defaultWorksheetIndex, 1, 1, 20));
    $series->getDataPoints()->addDataPointForPieSeries($fact->getCell($defaultWorksheetIndex, 2, 1, 50));
    $series->getDataPoints()->addDataPointForPieSeries($fact->getCell($defaultWorksheetIndex, 3, 1, 30));
    # Funktioniert nicht in neuer Version
    # Fügen Sie neue Punkte hinzu und setzen Sie die Segmentfarbe
    # series.IsColorVaried = true;
    $chart->getChartData()->getSeriesGroups()->get_Item(0)->setColorVaried(true);
    $point = $series->getDataPoints()->get_Item(0);
    $point->getFormat()->getFill()->setFillType(FillType::Solid);
    $point->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->CYAN);
    # Setzt die Segmentgrenze
    $point->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
    $point->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GRAY);
    $point->getFormat()->getLine()->setWidth(3.0);
    $point->getFormat()->getLine()->setStyle(LineStyle->ThinThick);
    $point->getFormat()->getLine()->setDashStyle(LineDashStyle->DashDot);
    $point1 = $series->getDataPoints()->get_Item(1);
    $point1->getFormat()->getFill()->setFillType(FillType::Solid);
    $point1->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->ORANGE);
    # Setzt die Segmentgrenze
    $point1->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
    $point1->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
    $point1->getFormat()->getLine()->setWidth(3.0);
    $point1->getFormat()->getLine()->setStyle(LineStyle->Single);
    $point1->getFormat()->getLine()->setDashStyle(LineDashStyle->LargeDashDot);
    $point2 = $series->getDataPoints()->get_Item(2);
    $point2->getFormat()->getFill()->setFillType(FillType::Solid);
    $point2->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->YELLOW);
    # Setzt die Segmentgrenze
    $point2->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
    $point2->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
    $point2->getFormat()->getLine()->setWidth(2.0);
    $point2->getFormat()->getLine()->setStyle(LineStyle->ThinThin);
    $point2->getFormat()->getLine()->setDashStyle(LineDashStyle->LargeDashDotDot);
    # Erstellt benutzerdefinierte Etiketten für jede der Kategorien für die neue Serie
    $lbl1 = $series->getDataPoints()->get_Item(0)->getLabel();
    # lbl.ShowCategoryName = true;
    $lbl1->getDataLabelFormat()->setShowValue(true);
    $lbl2 = $series->getDataPoints()->get_Item(1)->getLabel();
    $lbl2->getDataLabelFormat()->setShowValue(true);
    $lbl2->getDataLabelFormat()->setShowLegendKey(true);
    $lbl2->getDataLabelFormat()->setShowPercentage(true);
    $lbl3 = $series->getDataPoints()->get_Item(2)->getLabel();
    $lbl3->getDataLabelFormat()->setShowSeriesName(true);
    $lbl3->getDataLabelFormat()->setShowPercentage(true);
    # Zeigt Führungslinien für das Diagramm an
    $series->getLabels()->getDefaultDataLabelFormat()->setShowLeaderLines(true);
    # Setzt den Drehwinkel für die Segmente des Kreisdiagramms
    $chart->getChartData()->getSeriesGroups()->get_Item(0)->setFirstSliceAngle(180);
    # Speichert die Präsentation mit einem Diagramm
    $pres->save("PieChart_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Liniendiagrammen

Liniendiagramme (auch bekannt als Liniendiagramme) eignen sich am besten in Situationen, in denen Sie Änderungen im Wert über die Zeit zeigen möchten. Mit einem Liniendiagramm können Sie viele Daten gleichzeitig vergleichen, Änderungen und Trends im Laufe der Zeit verfolgen, Anomalien in Datensätzen hervorheben usw.

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten entlang mit dem gewünschten Typ hinzu (in diesem Fall, ChartType::Line).
  4. Greifen Sie auf das Diagrammdaten-IChartDataWorkbook zu.
  5. Löschen Sie die standardmäßigen Serien und Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
  8. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Dieser PHP-Code zeigt, wie man ein Liniendiagramm erstellt:

  $pres = new Presentation();
  try {
    $lineChart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Line, 10, 50, 600, 350);
    $pres->save("lineChart.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Standardmäßig werden Punkte in einem Liniendiagramm durch gerade durchgezogene Linien verbunden. Wenn Sie möchten, dass die Punkte stattdessen durch Striche verbunden werden, können Sie Ihren bevorzugten Strichtyp auf diese Weise angeben:

  $lineChart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Line, 10, 50, 600, 350);
  foreach($lineChart->getChartData()->getSeries() as $series) {
    $series->getFormat()->getLine()->setDashStyle(LineDashStyle->Dash);
  }

Erstellen von Baumdiagrammen

Baumdiagramme eignen sich am besten für Verkaufsdaten, wenn Sie die relative Größe von Datenkategorien zeigen möchten und (gleichzeitig) schnell auf Artikel hinweisen möchten, die große Beiträge zu jeder Kategorie leisten.

Schritte: Baumdiagramm erstellen | Schritte: PowerPoint Baumdiagramm erstellen | Schritte: PowerPoint-Präsentationsbaumdiagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten sowie dem gewünschten Typ hinzu (in diesem Fall, ChartType.TreeMap).
  4. Greifen Sie auf das Diagrammdaten IChartDataWorkbook zu.
  5. Löschen Sie die standardmäßigen Serien und Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
  8. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Dieser PHP-Code zeigt, wie man ein Baumdiagramm erstellt:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Treemap, 50, 50, 500, 400);
    $chart->getChartData()->getCategories()->clear();
    $chart->getChartData()->getSeries()->clear();
    $wb = $chart->getChartData()->getChartDataWorkbook();
    $wb->clear(0);
    # Zweig 1
    $leaf = $chart->getChartData()->getCategories()->add($wb->getCell(0, "C1", "Blatt1"));
    $leaf->getGroupingLevels()->setGroupingItem(1, "Stamm1");
    $leaf->getGroupingLevels()->setGroupingItem(2, "Zweig1");
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "C2", "Blatt2"));
    $leaf = $chart->getChartData()->getCategories()->add($wb->getCell(0, "C3", "Blatt3"));
    $leaf->getGroupingLevels()->setGroupingItem(1, "Stamm2");
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "C4", "Blatt4"));
    # Zweig 2
    $leaf = $chart->getChartData()->getCategories()->add($wb->getCell(0, "C5", "Blatt5"));
    $leaf->getGroupingLevels()->setGroupingItem(1, "Stamm3");
    $leaf->getGroupingLevels()->setGroupingItem(2, "Zweig2");
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "C6", "Blatt6"));
    $leaf = $chart->getChartData()->getCategories()->add($wb->getCell(0, "C7", "Blatt7"));
    $leaf->getGroupingLevels()->setGroupingItem(1, "Stamm4");
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "C8", "Blatt8"));
    $series = $chart->getChartData()->getSeries()->add(ChartType::Treemap);
    $series->getLabels()->getDefaultDataLabelFormat()->setShowCategoryName(true);
    $series->getDataPoints()->addDataPointForTreemapSeries($wb->getCell(0, "D1", 4));
    $series->getDataPoints()->addDataPointForTreemapSeries($wb->getCell(0, "D2", 5));
    $series->getDataPoints()->addDataPointForTreemapSeries($wb->getCell(0, "D3", 3));
    $series->getDataPoints()->addDataPointForTreemapSeries($wb->getCell(0, "D4", 6));
    $series->getDataPoints()->addDataPointForTreemapSeries($wb->getCell(0, "D5", 9));
    $series->getDataPoints()->addDataPointForTreemapSeries($wb->getCell(0, "D6", 9));
    $series->getDataPoints()->addDataPointForTreemapSeries($wb->getCell(0, "D7", 4));
    $series->getDataPoints()->addDataPointForTreemapSeries($wb->getCell(0, "D8", 3));
    $series->setParentLabelLayout(ParentLabelLayoutType::Overlapping);
    $pres->save("Treemap.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Börsendiagrammen

Schritte: Börsendiagramm erstellen | Schritte: PowerPoint Börsendiagramm erstellen | Schritte: PowerPoint-Präsentationsbörsendiagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten sowie dem gewünschten Typ hinzu (ChartType.OpenHighLowClose).
  4. Greifen Sie auf das Diagrammdaten IChartDataWorkbook zu.
  5. Löschen Sie die standardmäßigen Serien und Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
  8. Spezifizieren Sie das HiLowLines-Format.
  9. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Beispiel PHP-Code, der zum Erstellen eines Börsendiagramms verwendet wird:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::OpenHighLowClose, 50, 50, 600, 400, false);
    $chart->getChartData()->getSeries()->clear();
    $chart->getChartData()->getCategories()->clear();
    $wb = $chart->getChartData()->getChartDataWorkbook();
    $chart->getChartData()->getCategories()->add($wb->getCell(0, 1, 0, "A"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, 2, 0, "B"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, 3, 0, "C"));
    $chart->getChartData()->getSeries()->add($wb->getCell(0, 0, 1, "Öffnen"), $chart->getType());
    $chart->getChartData()->getSeries()->add($wb->getCell(0, 0, 2, "Hoch"), $chart->getType());
    $chart->getChartData()->getSeries()->add($wb->getCell(0, 0, 3, "Tief"), $chart->getType());
    $chart->getChartData()->getSeries()->add($wb->getCell(0, 0, 4, "Schließen"), $chart->getType());
    $series = $chart->getChartData()->getSeries()->get_Item(0);
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 1, 1, 72));
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 2, 1, 25));
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 3, 1, 38));
    $series = $chart->getChartData()->getSeries()->get_Item(1);
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 1, 2, 172));
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 2, 2, 57));
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 3, 2, 57));
    $series = $chart->getChartData()->getSeries()->get_Item(2);
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 1, 3, 12));
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 2, 3, 12));
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 3, 3, 13));
    $series = $chart->getChartData()->getSeries()->get_Item(3);
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 1, 4, 25));
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 2, 4, 38));
    $series->getDataPoints()->addDataPointForStockSeries($wb->getCell(0, 3, 4, 50));
    $chart->getChartData()->getSeriesGroups()->get_Item(0)->getUpDownBars()->setUpDownBars(true);
    $chart->getChartData()->getSeriesGroups()->get_Item(0)->getHiLowLinesFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
    foreach($chart->getChartData()->getSeries() as $ser) {
      $ser->getFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
    }
    $pres->save("output.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Box- und Whisker-Diagrammen

Schritte: Box- und Whisker-Diagramm erstellen | Schritte: PowerPoint Box- und Whisker-Diagramm erstellen | Schritte: PowerPoint-Präsentationsbox- und Whisker-Diagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten sowie dem gewünschten Typ hinzu (ChartType.BoxAndWhisker).
  4. Greifen Sie auf das Diagrammdaten IChartDataWorkbook zu.
  5. Löschen Sie die standardmäßigen Serien und Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
  8. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Dieser PHP-Code zeigt, wie man ein Box- und Whisker-Diagramm erstellt:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::BoxAndWhisker, 50, 50, 500, 400);
    $chart->getChartData()->getCategories()->clear();
    $chart->getChartData()->getSeries()->clear();
    $wb = $chart->getChartData()->getChartDataWorkbook();
    $wb->clear(0);
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A1", "Kategorie 1"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A2", "Kategorie 1"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A3", "Kategorie 1"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A4", "Kategorie 1"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A5", "Kategorie 1"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A6", "Kategorie 1"));
    $series = $chart->getChartData()->getSeries()->add(ChartType::BoxAndWhisker);
    $series->setQuartileMethod(QuartileMethodType::Exclusive);
    $series->setShowMeanLine(true);
    $series->setShowMeanMarkers(true);
    $series->setShowInnerPoints(true);
    $series->setShowOutlierPoints(true);
    $series->getDataPoints()->addDataPointForBoxAndWhiskerSeries($wb->getCell(0, "B1", 15));
    $series->getDataPoints()->addDataPointForBoxAndWhiskerSeries($wb->getCell(0, "B2", 41));
    $series->getDataPoints()->addDataPointForBoxAndWhiskerSeries($wb->getCell(0, "B3", 16));
    $series->getDataPoints()->addDataPointForBoxAndWhiskerSeries($wb->getCell(0, "B4", 10));
    $series->getDataPoints()->addDataPointForBoxAndWhiskerSeries($wb->getCell(0, "B5", 23));
    $series->getDataPoints()->addDataPointForBoxAndWhiskerSeries($wb->getCell(0, "B6", 16));
    $pres->save("BoxAndWhisker.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Trichterdiagrammen

Schritte: Trichterdiagramm erstellen | Schritte: PowerPoint Trichterdiagramm erstellen | Schritte: PowerPoint-Präsentationstrichterdiagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten sowie dem gewünschten Typ hinzu (ChartType.Funnel).
  4. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Der PHP-Code zeigt, wie man ein Trichterdiagramm erstellt:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Funnel, 50, 50, 500, 400);
    $chart->getChartData()->getCategories()->clear();
    $chart->getChartData()->getSeries()->clear();
    $wb = $chart->getChartData()->getChartDataWorkbook();
    $wb->clear(0);
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A1", "Kategorie 1"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A2", "Kategorie 2"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A3", "Kategorie 3"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A4", "Kategorie 4"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A5", "Kategorie 5"));
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "A6", "Kategorie 6"));
    $series = $chart->getChartData()->getSeries()->add(ChartType::Funnel);
    $series->getDataPoints()->addDataPointForFunnelSeries($wb->getCell(0, "B1", 50));
    $series->getDataPoints()->addDataPointForFunnelSeries($wb->getCell(0, "B2", 100));
    $series->getDataPoints()->addDataPointForFunnelSeries($wb->getCell(0, "B3", 200));
    $series->getDataPoints()->addDataPointForFunnelSeries($wb->getCell(0, "B4", 300));
    $series->getDataPoints()->addDataPointForFunnelSeries($wb->getCell(0, "B5", 400));
    $series->getDataPoints()->addDataPointForFunnelSeries($wb->getCell(0, "B6", 500));
    $pres->save("Funnel.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Sonnenstrahldiagrammen

Schritte: Sonnenstrahldiagramm erstellen | Schritte: PowerPoint Sonnenstrahldiagramm erstellen | Schritte: PowerPoint-Präsentationssonnenstrahldiagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten sowie dem gewünschten Typ hinzu (in diesem Fall,ChartType.sunburst).
  4. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Dieser PHP-Code zeigt, wie man ein Sonnenstrahldiagramm erstellt:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Sunburst, 50, 50, 500, 400);
    $chart->getChartData()->getCategories()->clear();
    $chart->getChartData()->getSeries()->clear();
    $wb = $chart->getChartData()->getChartDataWorkbook();
    $wb->clear(0);
    # Zweig 1
    $leaf = $chart->getChartData()->getCategories()->add($wb->getCell(0, "C1", "Blatt1"));
    $leaf->getGroupingLevels()->setGroupingItem(1, "Stamm1");
    $leaf->getGroupingLevels()->setGroupingItem(2, "Zweig1");
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "C2", "Blatt2"));
    $leaf = $chart->getChartData()->getCategories()->add($wb->getCell(0, "C3", "Blatt3"));
    $leaf->getGroupingLevels()->setGroupingItem(1, "Stamm2");
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "C4", "Blatt4"));
    # Zweig 2
    $leaf = $chart->getChartData()->getCategories()->add($wb->getCell(0, "C5", "Blatt5"));
    $leaf->getGroupingLevels()->setGroupingItem(1, "Stamm3");
    $leaf->getGroupingLevels()->setGroupingItem(2, "Zweig2");
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "C6", "Blatt6"));
    $leaf = $chart->getChartData()->getCategories()->add($wb->getCell(0, "C7", "Blatt7"));
    $leaf->getGroupingLevels()->setGroupingItem(1, "Stamm4");
    $chart->getChartData()->getCategories()->add($wb->getCell(0, "C8", "Blatt8"));
    $series = $chart->getChartData()->getSeries()->add(ChartType::Sunburst);
    $series->getLabels()->getDefaultDataLabelFormat()->setShowCategoryName(true);
    $series->getDataPoints()->addDataPointForSunburstSeries($wb->getCell(0, "D1", 4));
    $series->getDataPoints()->addDataPointForSunburstSeries($wb->getCell(0, "D2", 5));
    $series->getDataPoints()->addDataPointForSunburstSeries($wb->getCell(0, "D3", 3));
    $series->getDataPoints()->addDataPointForSunburstSeries($wb->getCell(0, "D4", 6));
    $series->getDataPoints()->addDataPointForSunburstSeries($wb->getCell(0, "D5", 9));
    $series->getDataPoints()->addDataPointForSunburstSeries($wb->getCell(0, "D6", 9));
    $series->getDataPoints()->addDataPointForSunburstSeries($wb->getCell(0, "D7", 4));
    $series->getDataPoints()->addDataPointForSunburstSeries($wb->getCell(0, "D8", 3));
    $pres->save("Sunburst.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Histogramm-Diagrammen

Schritte: Histogramm-Diagramm erstellen | Schritte: PowerPoint Histogramm-Diagramm erstellen | Schritte: PowerPoint-Präsentationshistogramm-Diagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten sowie dem gewünschten Typ hinzu (ChartType.Histogram).
  4. Greifen Sie auf das Diagrammdaten IChartDataWorkbook zu.
  5. Löschen Sie die standardmäßigen Serien und Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Dieser PHP-Code zeigt, wie man ein Histogramm-Diagramm erstellt:

  $pres = new Presentation();
  $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Histogram, 50, 50, 500, 400);
  $chart->getChartData()->getCategories()->clear();
  $chart->getChartData()->getSeries()->clear();
  $wb = $chart->getChartData()->getChartDataWorkbook();
  $wb->clear(0);
  $series = $chart->getChartData()->getSeries()->add(ChartType::Histogram);
  $series->getDataPoints()->addDataPointForHistogramSeries($wb->getCell(0, "A1", 15));
  $series->getDataPoints()->addDataPointForHistogramSeries($wb->getCell(0, "A2", -41));
  $series->getDataPoints()->addDataPointForHistogramSeries($wb->getCell(0, "A3", 16));
  $series->getDataPoints()->addDataPointForHistogramSeries($wb->getCell(0, "A4", 10));
  $series->getDataPoints()->addDataPointForHistogramSeries($wb->getCell(0, "A5", -23));
  $series->getDataPoints()->addDataPointForHistogramSeries($wb->getCell(0, "A6", 16));
  $chart->getAxes()->getHorizontalAxis()->setAggregationType(AxisAggregationType::Automatic);

Erstellen von Radar-Diagrammen

Schritte: Radar-Diagramm erstellen | Schritte: PowerPoint Radar-Diagramm erstellen | Schritte: PowerPoint-Präsentationsradar-Diagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit einigen Daten hinzu und geben Sie Ihren bevorzugten Diagrammtyp an (ChartType::Radar in diesem Fall).
  4. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei

Dieser PHP-Code zeigt, wie man ein Radar-Diagramm erstellt:

  $pres = new Presentation();
  try {
    $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Radar, 20, 20, 400, 300);
    $pres->save("Radar-chart.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Mehrkategoriediagrammen

Schritte: Mehrkategoriediagramm erstellen | Schritte: PowerPoint Mehrkategoriediagramm erstellen | Schritte: PowerPoint-Präsentationsmehrkategoriediagramm erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten sowie dem gewünschten Typ hinzu (ChartType.ClusteredColumn).
  4. Greifen Sie auf das Diagrammdaten IChartDataWorkbook zu.
  5. Löschen Sie die standardmäßigen Serien und Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
  8. Schreiben Sie die modifizierte Präsentation in eine PPTX-Datei.

Dieser PHP-Code zeigt, wie man ein Mehrkategoriediagramm erstellt:

  $pres = new Presentation();
  try {
    $ch = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 600, 450);
    $ch->getChartData()->getSeries()->clear();
    $ch->getChartData()->getCategories()->clear();
    $fact = $ch->getChartData()->getChartDataWorkbook();
    $fact->clear(0);
    $defaultWorksheetIndex = 0;
    $category = $ch->getChartData()->getCategories()->add($fact->getCell(0, "c2", "A"));
    $category->getGroupingLevels()->setGroupingItem(1, "Gruppe1");
    $category = $ch->getChartData()->getCategories()->add($fact->getCell(0, "c3", "B"));
    $category = $ch->getChartData()->getCategories()->add($fact->getCell(0, "c4", "C"));
    $category->getGroupingLevels()->setGroupingItem(1, "Gruppe2");
    $category = $ch->getChartData()->getCategories()->add($fact->getCell(0, "c5", "D"));
    $category = $ch->getChartData()->getCategories()->add($fact->getCell(0, "c6", "E"));
    $category->getGroupingLevels()->setGroupingItem(1, "Gruppe3");
    $category = $ch->getChartData()->getCategories()->add($fact->getCell(0, "c7", "F"));
    $category = $ch->getChartData()->getCategories()->add($fact->getCell(0, "c8", "G"));
    $category->getGroupingLevels()->setGroupingItem(1, "Gruppe4");
    $category = $ch->getChartData()->getCategories()->add($fact->getCell(0, "c9", "H"));
    # Serien hinzufügen
    $series = $ch->getChartData()->getSeries()->add($fact->getCell(0, "D1", "Serie 1"), ChartType::ClusteredColumn);
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, "D2", 10));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, "D3", 20));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, "D4", 30));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, "D5", 40));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, "D6", 50));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, "D7", 60));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, "D8", 70));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, "D9", 80));
    # Präsentation mit Diagramm speichern
    $pres->save("AsposeChart_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Karten-Diagrammen

Ein Kartendiagramm ist eine Visualisierung eines Gebiets, das Daten enthält. Kartendiagramme eignen sich am besten, um Daten oder Werte über geografische Regionen hinweg zu vergleichen.

Schritte: Karten-Diagramm erstellen | Schritte: PowerPoint Karten-Diagramm erstellen | Schritte: PowerPoint-Präsentationskarten-Diagramm erstellen

Dieser PHP-Code zeigt, wie man ein Karten-Diagramm erstellt:

  $pres = new Presentation();
  try {
    $chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Map, 50, 50, 500, 400);
    $pres->save("mapChart.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Erstellen von Kombinationsdiagrammen

Ein Kombinationsdiagramm (oder Kombodiagramm) ist ein Diagramm, das zwei oder mehr Diagramme auf einem einzigen Graphen kombiniert. Ein solches Diagramm ermöglicht es Ihnen, Unterschiede zwischen zwei (oder mehr) Datensätzen hervorzuheben, zu vergleichen oder zu überprüfen. Auf diese Weise sehen Sie die Beziehung (falls vorhanden) zwischen den Datensätzen.

combination-chart-ppt

Dieser PHP-Code zeigt, wie man ein Kombinationsdiagramm in PowerPoint erstellt:


Diagramme aktualisieren

Schritte: PowerPoint-Diagramm aktualisieren | Schritte: Präsentationsdiagramm aktualisieren | Schritte: PowerPoint-Präsentationsdiagramm aktualisieren

  1. Instanziieren Sie eine Presentation Klasse, die die Präsentation enthält, die das Diagramm enthält, das Sie aktualisieren möchten.
  2. Erhalten Sie die Referenz einer Folie unter Verwendung ihres Index.
  3. Durchsuchen Sie alle Formen, um das gewünschte Diagramm zu finden.
  4. Greifen Sie auf das Datenarbeitsblatt des Diagramms zu.
  5. Ändern Sie die Daten der Diagrammserie, indem Sie die Serienwerte ändern.
  6. Fügen Sie eine neue Serie hinzu und befüllen Sie die Daten darin.
  7. Schreiben Sie die modifizierte Präsentation als PPTX-Datei.

Dieser PHP-Code zeigt, wie man ein Diagramm aktualisiert:

  $pres = new Presentation();
  try {
    # Greift auf die erste Folie zu
    $sld = $pres->getSlides()->get_Item(0);
    # Erhält das Diagramm mit den Standarddaten
    $chart = $sld->getShapes()->get_Item(0);
    # Setzt den Index des Datenblatts des Diagramms
    $defaultWorksheetIndex = 0;
    # Holt das Datenarbeitsblatt des Diagramms
    $fact = $chart->getChartData()->getChartDataWorkbook();
    # Ändert den Diagramm-Kategorienamen
    $fact->getCell($defaultWorksheetIndex, 1, 0, "Modifizierte Kategorie 1");
    $fact->getCell($defaultWorksheetIndex, 2, 0, "Modifizierte Kategorie 2");
    # Nimmt die erste Diagrammserie
    $series = $chart->getChartData()->getSeries()->get_Item(0);
    # Aktualisiert die Seriendaten
    $fact->getCell($defaultWorksheetIndex, 0, 1, "Neue_Serie1");// Seriennamen ändern

    $series->getDataPoints()->get_Item(0)->getValue()->setData(90);
    $series->getDataPoints()->get_Item(1)->getValue()->setData(123);
    $series->getDataPoints()->get_Item(2)->getValue()->setData(44);
    # Nimmt die zweite Diagrammserie
    $series = $chart->getChartData()->getSeries()->get_Item(1);
    # Aktualisiert die Seriendaten
    $fact->getCell($defaultWorksheetIndex, 0, 2, "Neue_Serie2");// Seriennamen ändern

    $series->getDataPoints()->get_Item(0)->getValue()->setData(23);
    $series->getDataPoints()->get_Item(1)->getValue()->setData(67);
    $series->getDataPoints()->get_Item(2)->getValue()->setData(99);
    # Fügt jetzt eine neue Serie hinzu
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 0, 3, "Serie 3"), $chart->getType());
    # Nimmt die dritte Diagrammserie
    $series = $chart->getChartData()->getSeries()->get_Item(2);
    # Jetzt die Seriendaten befüllen
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 1, 3, 20));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 2, 3, 50));
    $series->getDataPoints()->addDataPointForBarSeries($fact->getCell($defaultWorksheetIndex, 3, 3, 30));
    $chart->setType(ChartType::ClusteredCylinder);
    # Speichert die Präsentation mit dem Diagramm
    $pres->save("AsposeChartModified_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Datenbereich für Diagramme festlegen

Um den Datenbereich für ein Diagramm festzulegen, tun Sie Folgendes:

  1. Instanziieren Sie eine Presentation Klasse, die die Präsentation enthält, die das Diagramm enthält.
  2. Holen Sie sich eine Referenz auf die Folie über ihren Index.
  3. Durchsuchen Sie alle Formen, um das gewünschte Diagramm zu finden.
  4. Greifen Sie auf die Diagrammdaten zu und setzen Sie den Bereich.
  5. Speichern Sie die modifizierte Präsentation als PPTX-Datei.

Dieser PHP-Code zeigt, wie man den Datenbereich für ein Diagramm festlegt:

  $pres = new Presentation();
  try {
    $slide = $pres->getSlides()->get_Item(0);
    $chart = $slide->getShapes()->get_Item(0);
    $chart->getChartData()->setRange("Sheet1!A1:B4");
    $pres->save("SetDataRange_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Standardmarker in Diagrammen verwenden

Wenn Sie einen Standardmarker in Diagrammen verwenden, erhalten automatisch jede Diagrammserie unterschiedliche Standardmarkiersymbole.

Dieser PHP-Code zeigt, wie man automatisch einen Diagrammserienmarker festlegt:

  $pres = new Presentation();
  try {
    $slide = $pres->getSlides()->get_Item(0);
    $chart = $slide->getShapes()->addChart(ChartType::LineWithMarkers, 10, 10, 400, 400);
    $chart->getChartData()->getSeries()->clear();
    $chart->getChartData()->getCategories()->clear();
    $fact = $chart->getChartData()->getChartDataWorkbook();
    $chart->getChartData()->getSeries()->add($fact->getCell(0, 0, 1, "Serie 1"), $chart->getType());
    $series = $chart->getChartData()->getSeries()->get_Item(0);
    $chart->getChartData()->getCategories()->add($fact->getCell(0, 1, 0, "C1"));
    $series->getDataPoints()->addDataPointForLineSeries($fact->getCell(0, 1, 1, 24));
    $chart->getChartData()->getCategories()->add($fact->getCell(0, 2, 0, "C2"));
    $series->getDataPoints()->addDataPointForLineSeries($fact->getCell(0, 2, 1, 23));
    $chart->getChartData()->getCategories()->add($fact->getCell(0, 3, 0, "C3"));
    $series->getDataPoints()->addDataPointForLineSeries($fact->getCell(0, 3, 1, -10));
    $chart->getChartData()->getCategories()->add($fact