Automatisierung mit JSON-Daten
- Startseite
- Ressourcen
- Benutzerhandbuch
- thinkcell Charts: Datenvisualisierung
- Erweiterte Berichtsautomatisierung
- Automatisierung mit JSON-Daten
Automatisierung mit JSON-Daten ist mit thinkcell Suite verfügbar.
Erstellen Sie automatisch thinkcell-Präsentationen mit JavaScript Object Notation (JSON). Mit der thinkcell-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 entfernten Quellen verwenden
- Echtzeitdaten mit einem Webdienst in neue Präsentationen umwandeln
JSON-Dateistruktur
In diesem Abschnitt wird erläutert, wie Sie die JSON-Datei strukturieren. Ausschnitte aus einer Beispieldatei, sample.ppttc, begleiten diese Erläuterung. Das vollständige Beispiel finden Sie am Ende dieses Abschnitts (Vollständiges JSON-Beispiel).
JSON-Schema und Beispieldateien
Im thinkcell-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, die eine .ppttc-Datei einhalten muss, um mit thinkcell eine PowerPoint-Präsentation zu erstellen.
Die Datei template.pptx enthält benannte Elemente (siehe Erweiterte Berichtsautomatisierung). Eine Vorlage kann beliebig viele Folien enthalten.
Die Datei sample.ppttc gibt Folgendes an:
- Die Vorlagen, die thinkcell zum Erstellen einer neuen Präsentation verwendet
- Die Reihenfolge, in der die Vorlagen erscheinen
- Die JSON-Daten, mit denen die Vorlagen gefüllt werden
Vorlagen, Elemente und deren Daten angeben
Das Beispiel sample.ppttc zeigt ein Array, das eine PowerPoint-Präsentation darstellt (siehe Vollständiges JSON-Beispiel).
Vorlagen
Das Array enthält eine Reihe von Objekten, die jeweils eine Kopie einer PowerPoint-Vorlage darstellen. In der neuen Präsentation erscheinen die Vorlagen in der Reihenfolge, die Sie im Array angeben. Wenn eine Vorlage mehrere Folien enthält, können Sie die Folienreihenfolge nur ändern, indem Sie die Vorlage in PowerPoint bearbeiten.
Im 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. Als Verzeichnistrennzeichen muss unter Windows ein umgekehrter Schrägstrich (\) verwendet werden – in JSON als doppelter umgekehrter Schrägstrich (\\) maskiert – oder unter macOS ein Schrägstrich (/).
- Wenn Sie die Vorlage remote gespeichert haben, geben Sie die URL an, unter der die Vorlage gespeichert ist (siehe Vorlagen remote bereitstellen).
Im einfachsten Fall, wie in Vollständiges JSON-Beispiel gezeigt, ist die Zeichenfolge template einfach der Dateiname der PowerPoint-Vorlage, vorausgesetzt, die Vorlage befindet sich im selben Ordner wie die .ppttc-Datei.
"template": "template.pptx",
data
Die Eigenschaft data ist ein Array von Objekten, die Folgendes angeben:
- Diagramme und andere Elemente mit einem AddRangeData-Namen (siehe Erweiterte Berichtsautomatisierung)
- Die Daten, mit denen diese Elemente gefüllt werden
Die Objekte können in beliebiger Reihenfolge im Array data erscheinen, unabhängig von der Position ihrer entsprechenden Elemente in der PowerPoint-Vorlage.
"data": [ ... ]
Elemente
Jedes Objekt im Array data hat zwei Eigenschaften:
namegibt den Namen eines Elements an, den Sie in AddRangeData Name zuweisen (siehe Erweiterte Berichtsautomatisierung).tablegibt die Daten an, mit denen das Element gefüllt wird.
Wenn zwei Elemente denselben Namen haben, füllt thinkcell sie mit denselben Daten.
Der Wert table ist ein Array. Die Struktur des Arrays hängt vom Elementtyp ab:
- Bei einem Automatisierungs-Textfeld, einer Harvey Ball oder einem Kontrollkästchen enthält das Array
tableein einzelnes Unter-Array mit einem einzelnen Objekt. Das Objekt – etwa eine Textzeichenfolge oder eine Zahl – füllt das Textfeld. - Bei einem Diagramm oder einer Tabelle enthält das Array
tableUnter-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 Diagrammdatenblatts
Bei einem Diagramm stellt jedes Unter-Array im Array table eine Zeile im Datenblatt eines Diagramms dar. Informationen zum spezifischen Datenblattlayout eines Diagramms finden Sie im entsprechenden Kapitel des Benutzerhandbuchs, oder öffnen Sie das Datenblatt des Diagramms als Referenz (siehe Diagrammdaten eingeben). Im Folgenden wird die Struktur der Zeilen eines Standarddiagramms beschrieben, wie sie im JSON-Schema angegeben ist.
Erste Zeile
Die erste Zeile ist ein Unter-Array, das Kategoriebeschriftungen enthält. Den Kategoriebeschriftungen geht eine leere erste Zelle (null) voraus. Die Daten in der ersten Zelle werden im Diagramm nicht angezeigt und können daher tatsächlich 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
Nachfolgende Zeilen sind Unter-Arrays, die die Reihenbeschriftungen und die Datenpunkte des Diagramms enthalten. Die Reihenfolge der Elemente in einem Unter-Array entspricht der Reihenfolge der Zellen in einer Datenblattzeile. Die erste Zelle in der Zeile enthält die Reihenbeschriftung, die normalerweise eine Zeichenfolge ist. Nachfolgende 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 ändert das leere Array, wie thinkcell das Farbschema PowerPoint Theme auf die Reihen des Diagramms anwendet (siehe Füllschema des Diagramms). Das Farbschema weist der Reihe in Zeile 3 Dunkelgrün zu. Da Zeile 3 leer bleibt, befinden sich die Reihen Competitor 1 und Our brand nun in den Zeilen 4 und 5, denen das Farbschema Hellblau bzw. Dunkelblau zuweist.
Optionale Zeilen und Spalten
In den Diagrammdatenblättern Ihrer PowerPoint-Vorlage können Sie optionale Zeilen und Spalten hinzufügen oder entfernen (siehe Datenblattlayout bearbeiten). Dies beeinflusst, wie thinkcell die JSON-Daten in den entsprechenden Zeilen und Spalten interpretiert.
Wenn Sie beispielsweise die Zeile 100%= in einem Diagrammdatenblatt hinzufügen, interpretiert thinkcell die zweite Zeile der JSON-Daten als die Summen, aus denen Prozentsätze berechnet werden. Wenn Sie die Zeile 100%= weglassen, wie in diesem Beispiel, interpretiert thinkcell die JSON-Daten in der zweiten Zeile als normale Datenpunkte.
Die folgende Tabelle fasst häufig verwendete optionale Zeilen und Spalten, ihre Positionen im Datenblatt und ihre Standardeinstellung zusammen. Um das Datenlayout eines bestimmten Diagramms zu prüfen, doppelklicken Sie auf das Diagramm, um sein Datenblatt zu öffnen.
|
Option |
Inhalt |
Datenblattposition |
Standardeinstellung |
|---|---|---|---|
|
Series |
Reihenbeschriftungen |
Spalte 1 |
Ausgewählt |
|
Category |
Kategoriebeschriftungen |
Zeile 1 |
Ausgewählt |
|
100%= |
Summen für Prozentberechnungen |
Zeile 2 (wenn Category ausgewählt) |
Nicht ausgewählt |
Automatisierungs-Textfelder, Harvey Balls und Kontrollkästchen
Beim Füllen von Automatisierungs-Textfeldern, einzelnen Harvey Balls und einzelnen Kontrollkästchen mit JSON-Daten erwartet thinkcell ein Array table mit einer Zelle. Innerhalb des Arrays table wird die Zelle als einzelnes Unter-Array dargestellt, das ein einzelnes Objekt enthält.
{
"name": "SlideTitle",
"table": [[{"string": "Competition: Germany"}]]
},
Wenn ein Harvey Ball oder Kontrollkästchen Teil einer Tabelle ist, geben Sie einfach den Inhalt des Elements in der entsprechenden Tabellenzelle an.
Zellendatentypen
In einer .ppttc-Datei können Zellen die folgenden Datentypen enthalten.
|
Datentyp |
Schlüssel |
Beispiel |
Hinweise |
|---|---|---|---|
|
Text |
|
|
Alle druckbaren Unicode-Zeichen (UTF-8) werden unterstützt. |
|
Zahl |
|
|
Als Dezimaltrennzeichen muss ein Punkt (.) verwendet werden. |
|
Kalenderdatum |
|
|
Erforderliches Format: |
|
Prozentsatz |
|
|
Als Dezimaltrennzeichen muss ein Punkt (.) verwendet werden. Geben Sie kein Prozentzeichen (%) an. |
|
Füllfarbe einer Datenblattzelle |
|
Hex: RGB: |
Fügen Sie Um Füllfarben aus dem Datenblatt auf Diagrammeigenschaften anzuwenden, wählen Sie in der PowerPoint-Vorlage Use Datasheet Fill aus (siehe Füllschema des Diagramms). |
|
Leere Zelle |
Nicht zutreffend |
|
Setzen Sie |
Vollständiges JSON-Beispiel
Das vollständige JSON-Beispiel aus sample.ppttc finden Sie 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 thinkcell installiert ist, weist es Ihr Betriebssystem an, .ppttc-Dateien mit thinkcell zu öffnen. Um JSON-Dateien mit thinkcell im Datei-Explorer (Windows) oder Finder (macOS) zu öffnen – beispielsweise per Doppelklick –, verwenden Sie die Erweiterung .ppttc.
Wenn eine JSON-Datei geöffnet wird, führt thinkcell Folgendes aus:
- thinkcell liest die Datei und prüft sie auf Fehler.
- thinkcell erstellt eine neue Präsentation. Die Präsentation besteht aus Kopien der Folienvorlagen, die im obersten Array in der JSON-Datei angegeben sind.
- In den Vorlagenkopien füllt thinkcell die Elemente (identifiziert 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:
<var>PPTTC_PATH</var> <var>PPTTC_INPUT</var> -o <var>PPTX_OUTPUT</var>
Ersetzen Sie Folgendes:
PPTTC_PATH: der Pfad vonppttc.exePPTTC_INPUT: der Pfad Ihrer .ppttc-DateiPPTX_OUTPUT: der Name der .pptx-Datei, die Sie erstellen, mit vorangestelltem Pfad, unter dem Sie sie speichern möchten
Die ausführbare Datei ppttc.exe befindet sich im Ordner ppttc im thinkcell-Installationsordner. Rufen Sie ppttc.exe in Automatisierungsskripten auf, um neue PowerPoint-Präsentationen zu erstellen.
JSON-Daten remote bereitstellen
Generieren Sie JSON-Daten für eine .ppttc-Datei remote auf einem Server. Um eine neue Präsentation zu erstellen, lädt der Benutzer die .ppttc-Datei über einen Webbrowser herunter und öffnet sie mit thinkcell.
Ein Beispiel dafür, wie JSON-Daten mit einem Server generiert und heruntergeladen werden können, finden Sie im thinkcell-Installationsordner 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 dynamisch zusammenstellt
- Einige statische JSON-Daten. In einem typischen Anwendungsfall stammen die JSON-Daten aus anderen Quellen.
- Eine JavaScript-Funktion, die die .ppttc-Datei auf den Computer des Benutzers herunterlädt
Nachdem der Benutzer die .ppttc-Datei heruntergeladen hat, kann er sie speichern oder öffnen. Wenn der Benutzer die Datei öffnet, erstellt thinkcell anhand der JSON-Daten eine neue Präsentation (siehe Präsentationen mit JSON-Daten erstellen).
Vorlagen remote bereitstellen
Um PowerPoint-Vorlagen über einen Server bereitzustellen, gehen Sie wie folgt vor:
- Geben Sie in der JSON-Datei für den Schlüssel
templateeine URL statt eines lokalen Pfads an. Das URL-Protokoll kann HTTP oder HTTPS sein. - Stellen Sie sicher, dass der Benutzer, der die .ppttc-Datei öffnet, Zugriff auf die Remote-Vorlage hat.
Eine Standardinstallation von thinkcell auf dem Computer des Benutzers genügt, um thinkcell-Präsentationen mit Remote-JSON-Daten und -Vorlagen zu generieren.
Präsentationen remote erstellen
Richten Sie automatisierte Workflows ein, in denen Benutzer thinkcell-Präsentationen mit benutzerdefinierten Daten herunterladen. Zum Herunterladen von Präsentationen benötigen Benutzer lediglich einen Webbrowser. thinkcell muss nicht auf ihrem Computer installiert sein.
Zum Einrichten dieser Workflows ist der thinkcell-Server erforderlich, der nur unter Windows läuft. Der thinkcell-Server nimmt JSON-Daten als Eingabe entgegen und liefert PowerPoint-Präsentationen als Ausgabe.
thinkcell-Server ausführen
Um den thinkcell-Server zu starten, gehen Sie wie folgt vor:
- Führen Sie im thinkcell-Installationsordner
tcserver.exeaus. - Geben Sie eine URL ein, die die IP-Adresse und den Port angibt, auf denen der Server lauschen soll. Das Serverprotokoll ist HTTP oder HTTPS.
- Wählen Sie Register URL aus.
- Wenn Sie dazu aufgefordert werden, erlauben Sie dem thinkcell-Server, Änderungen an Ihrem Gerät vorzunehmen.
Um den thinkcell-Server zu stoppen, gehen Sie wie folgt vor:
- Wählen Sie Unregister URL aus.
- Wenn Sie dazu aufgefordert werden, erlauben Sie dem thinkcell-Server, Änderungen an Ihrem Gerät vorzunehmen.
Im Feld Log wird Folgendes angezeigt:
- Bestätigung, dass der Server begonnen oder aufgehört hat, auf einer URL zu lauschen
- Alle Clientanfragen und Serverantworten
Der Server akzeptiert JSON-Daten als HTTP-POST-Anfragen mit dem Medientyp (auch MIME-Typ) application/vnd.think-cell.ppttc+json und antwortet mit einer PowerPoint-Datei.
Als Autostart-Dienst ausführen
Um den thinkcell-Server beim Einschalten Ihres Computers automatisch zu starten, gehen Sie wie folgt vor:
- Wählen Sie im Dialogfeld thinkcell server die Option Run as auto-start service aus.
- Geben Sie unter Password das Passwort für das Konto ein, das in der Option Run as auto-start service genannt ist.
Probieren Sie es aus!
Erstellen Sie mit einem Klick auf eine Schaltfläche eine PowerPoint-Präsentation anhand unseres fertigen Beispiels.
- Starten Sie den thinkcell-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 aus.
Der thinkcell-Server erstellt aus JSON-Daten eine PowerPoint-Präsentation. Der Browser lädt die Präsentation auf Ihren Computer herunter.
Der HTML-Quellcode der Seite "ppttc test" zeigt eine mögliche Verwendung der thinkcell-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 über
XMLHttpRequestmit dem thinkcell-Server kommuniziert. - Einige statische JSON-Daten. In einem typischen Anwendungsfall stammen die JSON-Daten aus anderen Quellen.
- Eine JavaScript-Funktion zum Senden der JSON-Daten an den thinkcell-Server. Der Server generiert die HTTP-POST-Anfrage mit den statischen JSON-Daten. Die Serverantwort ist ein Dateidownload.
Die Seite "ppttc test" verwendet JavaScript, um HTTP-POST-Anfragen zu senden und die Antwort des thinkcell-Servers als PowerPoint-Datei zu speichern. Natürlich funktionieren auch andere Sprachen.
Brauchen Sie Hilfe bei der Fehlerbehebung?
Besuchen Sie unsere Knowledge Base