Automatisierung mit JSON-Daten
- Startseite
- Ressourcen
- Benutzerhandbuch
- think-cell Charts: Datenvisualisierung
- Fortschrittliche Berichtsautomatisierung
- Automatisierung mit JSON-Daten
Erstellen Sie automatisch think-cell Präsentationen mit JavaScript Object Notation (JSON). Mit der think-cell JSON-Automatisierung können Sie Folgendes tun:
- PowerPoint-Vorlagen mit Daten füllen (z. B. Folientitel und Diagramme)
- Vorlagen wiederverwenden und neu anordnen, um neue Präsentationen zu erstellen
- JSON-Daten und PowerPoint-Vorlagen aus lokalen oder Remote-Quellen verwenden
- Echtzeitdaten mit einem Webdienst in neue Präsentationen umwandeln
JSON-Dateistruktur
In diesem Abschnitt wird erklärt, wie Sie die JSON-Datei strukturieren. Diese Erklärung wird durch Ausschnitte aus einer Beispieldatei, sample.ppttc, ergänzt. Siehe das vollständige Beispiel am Ende dieses Abschnitts (Vollständiges JSON-Beispiel).
Im think-cell Installationsordner enthält der Ordner ppttc die folgenden Dateien:
- Das JSON-Schema
ppttc-schema.json - Die PowerPoint-Vorlage
template.pptx - Die JSON-Datendatei
sample.ppttc
Die Datei ppttc-schema.json beschreibt die Regeln, denen eine .ppttc-Datei entsprechen muss, um mit think-cell eine PowerPoint-Präsentation zu erstellen.
Die Datei template.pptx enthält benannte Elemente (siehe Fortschrittliche Berichtsautomatisierung). Eine Vorlage kann eine beliebige Anzahl an Folien enthalten.
Die Datei sample.ppttc gibt Folgendes an:
- Die Vorlagen, die think-cell zum Erstellen einer neuen Präsentation verwendet
- Die Reihenfolge, in der die Vorlagen angezeigt werden
- Die JSON-Daten, die die Vorlagen ausfüllen
Festlegen von Vorlagen, Elementen und deren Daten
Das Beispiel sample.ppttc zeigt ein Array, das eine PowerPoint-Präsentation darstellt (siehe Vollständiges JSON-Beispiel).
Vorlagen
Das Array enthält eine Serie von Objekten, von denen jedes eine Kopie einer PowerPoint-Vorlage darstellt. In der neuen Präsentation werden die Vorlagen in der Reihenfolge angezeigt, die Sie im Array angegeben haben. Wenn eine Vorlage mehrere Folien enthält, können Sie die Reihenfolge der Folien nur ändern, indem Sie die Vorlage in PowerPoint bearbeiten.
In dem Array muss jedes Vorlagenobjekt zwei Eigenschaften haben: template und data.
template
Die Eigenschaft template ist eine Zeichenfolge, die die PowerPoint-Vorlage angibt, die Sie verwenden möchten. Die Zeichenfolge kann eine der folgenden sein:
- Wenn Sie die Vorlage lokal gespeichert haben, geben Sie den relativen oder absoluten Pfad der Vorlage im lokalen Dateisystem an. Das Verzeichnis-Trennzeichen muss unter Windows ein Backslash (\) – in JSON als doppelter Backslash (\\) – oder unter macOS ein Schrägstrich (/) sein.
- Wenn Sie die Vorlage dezentral gespeichert haben, geben Sie die URL an, unter der die Vorlage gespeichert ist (siehe Vorlagen aus der Ferne bereitstellen).
Im einfachsten Fall, wie in Vollständiges JSON-Beispiel gezeigt, ist die template-Zeichenfolge lediglich der Dateiname der PowerPoint-Vorlage, vorausgesetzt, dass sich die Vorlage im selben Ordner wie die .ppttc-Datei befindet.
"template": "template.pptx",
data
Die Eigenschaft data ist ein Array von Objekten, die Folgendes angeben:
- Diagramme und andere Elemente mit einem AddRangeData-Namen (siehe Fortschrittliche Berichtsautomatisierung)
- Die Daten, die diese Elemente füllen
Die Objekte können in beliebiger Reihenfolge im data-Array erscheinen, unabhängig von der Position ihrer entsprechenden Elemente in der PowerPoint-Vorlage.
"data": [ ... ]
Elemente
Jedes Objekt im data-Array hat zwei Eigenschaften:
namegibt den Namen eines Elements an, den Sie zuweisen AddRangeData Name (siehe Fortschrittliche Berichtsautomatisierung).tablegibt die Daten an, die das Element füllen.
Wenn zwei Elemente denselben Namen haben, füllt think-cell sie mit denselben Daten.
Der table-Wert ist ein Array. Die Struktur des Arrays hängt vom Elementtyp ab:
- Bei einem automatisierten Textfeld, einem Harvey Ball oder einem Kontrollkästchen enthält das
table-Array ein einzelnes Sub-Array mit einem einzelnen Objekt. Das Objekt – wie eine Textzeichenfolge oder eine Nummer – füllt das Textfeld. - Für ein Diagramm oder eine Tabelle enthält das
table-Array Sub-Arrays, die das Datenblatt des Elements darstellen.
{
"name": "RightChartTitle",
"table": [[{"string": "Our orders (10K)"}]]
},
{
"name": "LeftChart",
"table": [
[null, {"date": "2020-01-01"}, {"date": "2021-01-01"}, {"date": "2022-01-01"}, {"date": "2023-01-01"}, {"date": "2024-01-01"}, {"date": "2025-01-01"}],
[{"string": "Market headroom"}, {"percentage": 46.5}, {"percentage": 47}, {"percentage": 45}, {"percentage": 45}, {"percentage": 41}, {"percentage": 40.5}],
[],
[{"string": "Competitor 1"}, {"percentage": 0.5}, {"percentage": 1}, {"percentage": 5}, {"percentage": 2}, {"percentage": 4}, {"percentage": 4.5}],
[{"string": "Our brand"}, {"percentage": 53}, {"percentage": 52}, {"percentage": 50}, {"percentage": 53}, {"percentage": 55}, {"percentage": 55}]
]
},
Struktur des Diagramm-Datenblatts
Bei einem Diagramm entspricht jedes Sub-Array im table-Array einer Zeile eines Diagramm-Datenblatts. Informationen zum spezifischen Layout des Datenblatts eines Diagramms finden Sie im entsprechenden Kapitel des Benutzerhandbuchs. Alternativ können Sie das Datenblatt des Diagramms als Referenz öffnen (siehe Diagrammdaten eingeben). Im Folgenden wird die Struktur einer Standard-Diagrammzeile beschrieben, wie im JSON-Schema angegeben.
Erste Zeile
Die erste Zeile ist ein Sub-Array, das Kategoriebeschriftungen enthält. Eine leere erste Zelle (null) steht vor den Kategoriebeschriftungen. Die Daten in der ersten Zelle werden nicht im Diagramm angezeigt, können also beliebige Daten enthalten.
[null, {"date": "2020-01-01"}, {"date": "2021-01-01"}, {"date": "2022-01-01"}, {"date": "2023-01-01"}, {"date": "2024-01-01"}, {"date": "2025-01-01"}],
Nachfolgende Zeilen
Die folgenden Zeilen sind Sub-Arrays, die die Serienbezeichnungen und die Datenpunkte der Diagramme enthalten. Die Reihenfolge der Elemente ein einem Sub-Array entspricht der Reihenfolge der Zellen in einer Datenblattzeile. Die erste Zelle in der Zeile enthält die Serienbezeichnung, bei der es sich in der Regel um eine Zeichenfolge handelt. Die nachfolgenden Zellen in der Zeile sollten Zahlen oder, bei Gantt-Diagrammen, Datumsangaben enthalten.
[{"string": "Market headroom"}, {"percentage": 46.5}, {"percentage": 47}, {"percentage": 45}, {"percentage": 45}, {"percentage": 41}, {"percentage": 40.5}],
[],
[{"string": "Competitor 1"}, {"percentage": 0.5}, {"percentage": 1}, {"percentage": 5}, {"percentage": 2}, {"percentage": 4}, {"percentage": 4.5}],
[{"string": "Our brand"}, {"percentage": 53}, {"percentage": 52}, {"percentage": 50}, {"percentage": 53}, {"percentage": 55}, {"percentage": 55}]
Leere Zeilen
Um eine leere Zeile anzugeben, verwenden Sie ein leeres Array ([]).
Im vorherigen Ausschnitt bewirkt das leere Array eine Änderung, wie think-cell das PowerPoint Theme Farbschema auf die Diagramm-Serie anwendet (siehe Füllschema für Diagramme). Das Farbschema weist der Serie in Zeile 3 die Farbe Dunkelgrün zu. Durch das Freilassen von Zeile 3 befinden sich die Serien Our brand und Competitor 1 nun in den Zeilen 4 und 5, denen das Farbschema jeweils Hellblau und Dunkelblau zuweist.
Optionale Zeilen und Spalten
In den Diagramm-Datenblättern Ihrer PowerPoint-Vorlage können Sie optionale Zeilen und Spalten hinzufügen oder entfernen (siehe Datenblatt-Layout bearbeiten). Dies beeinflusst, wie think-cell die JSON-Daten in den entsprechenden Zeilen und Spalten interpretiert.
Wenn Sie beispielsweise die Zeile 100%= in einem Diagramm-Datenblatt hinzufügen, interpretiert think-cell die zweite Zeile der JSON-Daten als Summen, aus denen die Prozentsätze berechnet werden. Wenn Sie die 100%=-Zeile auslassen, wie in diesem Beispiel, interpretiert think-cell die JSON-Daten in der zweiten Zeile als normale Datenpunkte.
Die folgende Tabelle fasst gängige optionale Zeilen und Spalten, ihre Positionen im Datenblatt und ihre Standardeinstellungen zusammen. Um das Datenlayout eines bestimmten Diagramms zu überprüfen, doppelklicken Sie auf das Diagramm, um dessen Datenblatt zu öffnen.
|
Option |
Contents |
Datasheet position |
Default setting |
|---|---|---|---|
|
Series |
Serienbeschriftungen |
Spalte 1 |
Ausgewählt |
|
Category |
Kategoriebeschriftungen |
Zeile 1 |
Ausgewählt |
|
100%= |
Summen für Prozentberechnungen |
Zeile 2 (falls Category ausgewählt) Zeile 1 (falls Category nicht ausgewählt) |
Nicht ausgewählt |
Automatisierte Textfelder, Harvey Balls und Kontrollkästchen
Beim Ausfüllen von automatisierten Textfeldern, einzelnen Harvey Bällen und einzelnen Kontrollkästchen mit JSON-Daten erwartet think-cell ein table-Array mit einer Zelle. Innerhalb des table-Arrays wird die Zelle als einzelnes Sub-Array dargestellt, das ein einzelnes Objekt enthält.
{
"name": "SlideTitle",
"table": [[{"string": "Competition: Germany"}]]
},
Wenn ein Harvey Ball oder ein Kontrollkästchen Teil einer Tabelle ist, geben Sie einfach den Inhalt des Elements in der entsprechenden Tabellenzelle an.
Zelldatentypen
In einer .ppttc-Datei können Zellen die folgenden Datentypen enthalten.
|
Data type |
Key |
Example |
Notes |
|---|---|---|---|
|
Text |
|
|
Alle druckbaren Unicode-Zeichen (UTF-8) werden unterstützt. |
|
Nummer |
|
|
Das Dezimaltrennzeichen muss ein Punkt (.) sein. |
|
Kalenderdatum |
|
|
Erforderliches Format: |
|
Prozentsatz |
|
|
Das Dezimaltrennzeichen muss ein Punkt (.) sein. Verwenden Sie kein Prozentzeichen (%). |
|
Füllfarbe der Datenblattzelle |
|
Hex: RGB: |
Fügen Sie den Um die Füllfarben des Datenblatts auf Diagrammmerkmale anzuwenden, wählen Sie in der PowerPoint-Vorlage Use Datasheet Fill (siehe Füllschema für Diagramme). |
|
Leere Zelle |
Nicht zutreffend |
|
Setzen Sie |
Vollständiges JSON-Beispiel
Siehe das vollständige JSON-Beispiel von sample.ppttc unten:
[
{
"template": "template.pptx",
"data": [
{
"name": "SlideTitle",
"table": [[{"string": "Competition: Germany"}]]
},
{
"name": "LeftChartTitle",
"table": [[{"string": "Market share (2020–2025)"}]]
},
{
"name": "RightChartTitle",
"table": [[{"string": "Our orders (10K)"}]]
},
{
"name": "LeftChart",
"table": [
[null, {"date": "2020-01-01"}, {"date": "2021-01-01"}, {"date": "2022-01-01"}, {"date": "2023-01-01"}, {"date": "2024-01-01"}, {"date": "2025-01-01"}],
[{"string": "Market headroom"}, {"percentage": 46.5}, {"percentage": 47}, {"percentage": 45}, {"percentage": 45}, {"percentage": 41}, {"percentage": 40.5}],
[],
[{"string": "Competitor 1"}, {"percentage": 0.5}, {"percentage": 1}, {"percentage": 5}, {"percentage": 2}, {"percentage": 4}, {"percentage": 4.5}],
[{"string": "Our brand"}, {"percentage": 53}, {"percentage": 52}, {"percentage": 50}, {"percentage": 53}, {"percentage": 55}, {"percentage": 55}]
]
},
{
"name": "RightChart",
"table": [
[null, {"date": "2020-01-01"}, {"date": "2021-01-01"}, {"date": "2022-01-01"}, {"date": "2023-01-01"}, {"date": "2024-01-01"}, {"date": "2025-01-01"}],
[{"string": "Pending"}, {"number": 0, "fill": "#ff0000"}, {"number": 0, "fill": "#ff0000"}, {"number": 0, "fill": "#ff0000"}, {"number": 0, "fill": "#ff0000"}, {"number": 0, "fill": "#ff0000"}, {"number": 14, "fill": "#ff0000"}],
[null, {"number": 709}, {"number": 712}, {"number": 710}, {"number": 700}, {"number": 760}, {"number": 747}]
]
}
]
},
{
"template": "template.pptx",
"data": [
{
"name": "SlideTitle",
"table": [[{"string": "Competition: Canada"}]]
},
{
"name": "LeftChartTitle",
"table": [[{"string": "Market share (2022–2025)"}]]
},
{
"name": "RightChartTitle",
"table": [[{"string": "Our orders (1K)"}]]
},
{
"name": "LeftChart",
"table": [
[null, {"date": "2022-01-01"}, {"date": "2023-01-01"}, {"date": "2024-01-01"}, {"date": "2025-01-01"}],
[{"string": "Market headroom"}, {"percentage": 34}, {"percentage": 38}, {"percentage": 41}, {"percentage": 42}],
[{"string": "Competitor 2"}, {"percentage": 31}, {"percentage": 17}, {"percentage": 15}, {"percentage": 14}],
[{"string": "Competitor 1"}, {"percentage": 20}, {"percentage": 10}, {"percentage": 9}, {"percentage": 7}],
[{"string": "Our brand"}, {"percentage": 15}, {"percentage": 35}, {"percentage": 35}, {"percentage": 37}]
]
},
{
"name": "RightChart",
"table": [
[null, {"date": "2022-01-01"}, {"date": "2023-01-01"}, {"date": "2024-01-01"}, {"date": "2025-01-01"}],
[{"string": "Pending"}, {"number": 0, "fill": "#ff0000"}, {"number": 0, "fill": "#ff0000"}, {"number": 0, "fill": "#ff0000"}, {"number": 15, "fill": "#ff0000"}],
[null, {"number": 250}, {"number": 401}, {"number": 481}, {"number": 476}]
]
}
]
}
]
Präsentationen mit JSON-Daten erstellen
Wenn think-cell installiert ist, weist es Ihr Betriebssystem an, .ppttc-Dateien mit think-cell zu öffnen. Um JSON-Dateien mit think-cell im Datei-Explorer (Windows) oder Finder (macOS) zu öffnen – beispielsweise durch Doppelklicken – verwenden Sie die .ppttc-Erweiterung.
Wenn eine JSON-Datei geöffnet wird, führt think-cell Folgendes aus:
- think-cell liest die Datei und prüft sie auf Fehler.
- think-cell erstellt eine neue Präsentation. Die Präsentation besteht aus Kopien der Folienvorlagen, die im obersten Array der JSON-Datei angegeben sind.
- In den Vorlagenkopien füllt think-cell die Elemente (gekennzeichnet durch
name) mit den entsprechenden Daten (angegeben intable). Die Elemente werden entsprechend aktualisiert. - Die neue Präsentation wird in PowerPoint geöffnet. Sie können die Präsentation speichern oder weiter bearbeiten.
Präsentationen über die Befehlszeile erstellen
Erstellen Sie eine Präsentation aus JSON-Daten über die Befehlszeile, indem Sie Folgendes eingeben:
PPTTC_PATH PPTTC_INPUT -o PPTX_OUTPUT
Ersetzen Sie Folgendes:
PPTTC_PATH: der Pfad vonppttc.exePPTTC_INPUT: der Pfad Ihrer .ppttc-DateiPPTX_OUTPUT: der Name der erstellten .pptx-Datei, vor dem der Pfad steht, in dem Sie sie speichern möchten
Die ausführbare ppttc.exe-Datei befindet sich im ppttc-Installationsordner von think-cell. Rufen Sie ppttc.exe in Automatisierungsskripten auf, um neue PowerPoint-Präsentationen zu erstellen.
Remote-Bereitstellung von JSON-Daten
Generieren Sie JSON-Daten für eine .ppttc-Datei auf einem Server aus der Ferne. Um eine neue Präsentation zu erstellen, lädt der Nutzer die .ppttc-Datei über einen Webbrowser herunter und öffnet sie mit think-cell.
Ein Beispiel dafür, wie JSON-Daten mit einem Server generiert und heruntergeladen werden können, finden Sie im Installationsordner von think-cell unter /ppttc/sample.html. Die Datei sample.html enthält die folgenden Elemente:
- HTML-Markup für eine Schaltfläche, die beim Anklicken JSON-Daten spontan kompiliert
- Einige statische JSON-Daten. Bei einem typischen Anwendungsfall stammen die JSON-Daten aus sonstigen Quellen.
- Eine JavaScript-Funktion, die die .ppttc-Datei auf den Computer des Nutzers herunterlädt
Nachdem der Nutzer die .ppttc-Datei heruntergeladen hat, kann er sie speichern oder öffnen. Wenn der Nutzer die Datei öffnet, erstellt think-cell eine neue Präsentation unter Verwendung der JSON-Daten (siehe Präsentationen mit JSON-Daten erstellen).
Vorlagen aus der Ferne bereitstellen
Um PowerPoint-Vorlagen über einen Server bereitzustellen, gehen Sie wie folgt vor:
- Geben Sie in der JSON-Datei eine URL anstelle eines lokalen Pfads für den
templateSchlüssel an. Das URL-Protokoll kann HTTP oder HTTPS sein. - Stellen Sie sicher, dass der Nutzer, der die .ppttc-Datei öffnet, Zugriff auf die Remote-Vorlage hat.
Eine Standardinstallation von think-cell auf dem Computer des Nutzers reicht aus, um think-cell Präsentationen mit Remote-JSON-Daten und Vorlagen zu erstellen.
Präsentationen Remote erstellen
Richten Sie automatisierte Workflows ein, in denen Nutzer think-cell Präsentationen mit benutzerdefinierten Daten herunterladen können. Zum Herunterladen von Präsentationen benötigen Nutzer lediglich einen Webbrowser. Sie müssen think-cell nicht auf ihrem Computer installiert haben.
Für die Einrichtung dieser Arbeitsabläufe ist der think-cell Server erforderlich, der nur unter Windows läuft. Der think-cell Server nimmt JSON-Daten als Eingabe entgegen und liefert PowerPoint-Präsentationen als Ausgabe.
Den think-cell Server ausführen
Um den think-cell Server zu starten, gehen Sie wie folgt vor:
- Führen Sie im think-cell Installationsordner
tcserver.exeaus. - Geben Sie eine URL ein, die die IP-Adresse und den Port angibt, auf denen der Server empfangsbereit sein soll. Das Serverprotokoll ist HTTP oder HTTPS.
- Wählen Sie Register URL.
- Wenn Sie dazu aufgefordert werden, erlauben Sie dem think-cell Server, Änderungen an Ihrem Gerät vorzunehmen.
Um den think-cell Server zu stoppen, gehen Sie wie folgt vor:
- Wählen Sie Unregister URL.
- Wenn Sie dazu aufgefordert werden, erlauben Sie dem think-cell Server, Änderungen an Ihrem Gerät vorzunehmen.
Das Log-Feld zeigt Folgendes an:
- Bestätigung, dass der Server die Abfrage einer URL gestartet oder beendet hat
- Alle Client-Anfragen und Server-Antworten
Der Server akzeptiert JSON-Daten als HTTP-POST-Anfragen mit dem Medientyp application/vnd.think-cell.ppttc+json (auch bekannt als MIME-Typ) und antwortet mit einer PowerPoint-Datei.
Als Autostart-Service ausführen
Um den think-cell Server beim Einschalten Ihres Computers automatisch zu starten, gehen Sie wie folgt vor:
- Wählen Sie im think-cell server-Dialogfeld die Option Run as auto-start service aus.
- Geben Sie in Password das Kennwort für das in der Option Run as auto-start service genannte Konto ein.
Versuchen Sie es!
Erstellen Sie mit nur einem Klick eine PowerPoint-Präsentation anhand unseres vorgefertigten Beispiels.
- Starten Sie den think-cell Server mit der URL
http://127.0.0.1:8080. - Öffnen Sie
http://127.0.0.1:8080in einem Browser. - Die Webseite „ppttc test“ wird geöffnet. Wählen Sie Send .ppttc to server and get .pptx.
Der think-cell Server erstellt aus JSON-Daten eine PowerPoint-Präsentation. Der Browser lädt die Präsentation auf Ihren Computer herunter.
Der HTML-Quellcode der „ppttc-Testseite“ zeigt eine mögliche Verwendung der think-cell JSON-Automatisierung. Der Quellcode kann als Ausgangspunkt für Ihren eigenen automatisierten Workflow dienen. Der Code enthält die folgenden Elemente:
- HTML-Markup für eine Schaltfläche, die beim Anklicken eine Methode aufruft, die
XMLHttpRequestverwendet, um mit dem think-cell Server zu kommunizieren. - Einige statische JSON-Daten. Bei einem typischen Anwendungsfall stammen die JSON-Daten aus sonstigen Quellen.
- Eine JavaScript-Funktion für das Absenden der JSON-Daten an den think-cell Server. Der Server generiert die HTTP-POST-Anfrage mit den statischen JSON-Daten. Die Antwort des Servers ist ein Dateidownload.
Die „ppttc-Testseite“ verwendet JavaScript, um HTTP-POST-Anfragen zu senden und die Antwort des think-cell Servers als PowerPoint-Datei zu speichern. Natürlich funktionieren auch andere Sprachen.