È possibile utilizzare i dati in JSON per duplicare i grafici creati inizialmente come modello e fornire loro un nuovo foglio dati. È possibile controllare l’ordine in cui vengono utilizzati modelli specifici per costruire una nuova presentazione. È anche possibile utilizzare più volte i modelli.
È possibile preparare una libreria di tutti i tipi di grafici necessari e, se richiesto, versioni con diversi elementi decorativi dei grafici abilitati. È quindi possibile combinare liberamente questi modelli e fornirli di dati da utilizzare in una nuova presentazione.
Sia i modelli di PowerPoint e i dati JSON possono essere archiviati a livello locale o in remoto. I dati JSON possono inoltre essere generati al volo da un servizio Web.
Un esempio di dati JSON per think-cell è mostrato sotto e può essere trovato nel file sample.ppttc nella sottocartella ppttc della directory di installazione di think-cell. JSON specifica una presentazione da creare da una concatenazione di modelli. È conforme allo schema ppttc/ppttc-schema.json.
Al livello principale c’è una matrice di elementi. Ogni elemento specifica un file modello e dati per i suoi grafici. È possibile concatenare diversi modelli e un singolo modello può essere utilizzato più volte. Nel caso più semplice, un solo modello viene utilizzato una sola volta per riempire tutti i grafici contenuti nel modello con i dati.
Ogni elemento della matrice di modelli concatenati contiene due chiavi:
modello e
dati. Il valore per
modello è il percorso di un file
PowerPoint con think-cell chart per il quale è stato impostato un nome come
identificatore (vedere Introduzione all’automazione). Il file modello può anche essere
recuperato da una posizione remota come descritto in Fornire il modello in
remoto.
Il valore per la chiave dati è un elenco di tabelle di dati in formato JSON
per i grafici contenuti nel modello. Ogni elemento nell’elenco ha due proprietà:
nome e
tabella. Il
nome specifica un grafico usando il suo nome e la
tabella contiene la tabella dei dati.
La struttura del valore per tabella corrisponde direttamente a un foglio dati
non trasposto con righe che rappresentano le serie e colonne che rappresentano le
categorie. Per un grafico predefinito significa che verrà rappresentato il seguente
ordine di righe:
In JSON si può fare riferimento a qualsiasi grafico a cui può essere assegnato un nome. Per il layout specifico del foglio dati, vedere il rispettivo capitolo o semplicemente aprire il foglio dati interno del grafico per farvi riferimento.
Nota: Una cella nell’intervallo del foglio dati think-cell può contenere qualsiasi tipo di testo. Se lo si desidera, è anche possibile riempire la prima cella nella prima riga.
I dati che compongono il valore per una chiave table devono essere conformi a determinate regole impostate nello schema. Il valore per la chiave table è di per sé una matrice. Le sottomatrici rappresentano le righe del foglio dati. Le righe vuote possono essere specificate utilizzando una matrice vuota []. Il contenuto di una cella è descritto dagli elementi elencati in tale sottomatrice. L’ordine degli elementi corrisponde all’ordine delle colonne in un foglio dati. Una cella vuota deve essere descritta esplicitamente utilizzando l’elemento null. Le celle con un contenuto devono essere descritte utilizzando un’altra coppia chiave-valore. In questo caso, la chiave descrive il tipo di dati e il valore contiene i dati effettivi da mostrare nella presentazione. Sono supportati tre diversi tipi di dati:
La formattazione del contenuto delle celle (ad esempio, specificare il formato della data) deve essere eseguita nel modello di PowerPoint.
Il file di dati JSON deve essere un tipo di file .ppttc. Quando si apre un file di questo tipo:
Successivamente, viene visualizzata la nuova presentazione. L’utente può modificare ulteriormente i contenuti e salvarli o utilizzarli in qualsiasi altro modo.
I dati JSON in un file .ppttc possono anche essere generati in remoto da un servizio Web e offerti all’utente per il download in un browser Web. Consultare l’esempio fornito sotto e in sample.html nella sottocartella ppttc della directory di installazione di think-cell.
<!DOCTYPE html>
<html>
<body>
<h1>ppttc test</h1>
<button type="button" onclick="myFunction()">
Download .ppttc
</button>
<a id="downloader" style="display:none"/>
<script>
function myFunction() {
var obj = [
{
template : "https://static.think-cell.com/ppttc/template.pptx",
data: [
{
name: "Chart1",
table: [
[null, {string:"Alpha"},{string:"Bravo"},{string:"Charlie"}],
[],
[{string:"Delta"},{number:1},{number:2},{number:3}],
[{string:"Echo"},{number:4},{number:5},{number:6}]
]
},
{
name: "Chart2",
table: [
[null, {date:"2016-09-03"},{date:"2016-09-04"},{date:"2016-09-05"}],
[],
[{string:"Foxtrot"},{number:7},{number:8},{number:9}],
[{string:"Gulf"},{number:10},{number:11},{number:12}]
]
}
]
}
];
var elemDownloader = document.getElementById("downloader");
elemDownloader.setAttribute("href","data:application/vnd.think-cell.ppttc+json;charset=utf-8,"
+ encodeURIComponent(JSON.stringify(obj)));
elemDownloader.setAttribute("download", "sample.ppttc");
elemDownloader.click();
}
</script>
</body>
</html>
Nel nostro esempio, i dati JSON vengono compilati al volo quando l’utente richiede un download. Sebbene l’esempio incorpori dati statici, è possibile creare dinamicamente JSON da altre fonti di dati utilizzando i parametri forniti dall’utente sul proprio sito Web.
Quando viene scaricato un file .ppttc, l’utente può scegliere di salvare il file o aprirlo in modo simile ad altri download. Quando si apre il file, i dati JSON vengono utilizzati per creare una nuova presentazione come descritto in Utilizzo dei dati JSON per creare una presentazione.
I file di modello con think-cell chart possono anche essere forniti tramite un server remoto. In questo caso, il valore per la chiave template è un URL anziché un percorso locale, come mostrato nell’esempio JSON remoto di cui sopra. L’URL può specificare http come protocollo, https per una connessione sicura o qualsiasi altro protocollo valido sul sistema in cui viene aperto il file .ppttc.
Durante l’elaborazione di un file .ppttc che fa riferimento a un modello remoto, PowerPoint recupera il file del modello. Pertanto, l’utente che ha aperto il file .ppttc necessita di un accesso appropriato al modello remoto.
Quando i dati JSON vengono generati in remoto da un servizio Web e i modelli vengono archiviati anche in remoto, per utilizzare presentazioni PowerPoint generate dinamicamente con think-cell chart è necessaria solo un’installazione di think-cell standard sul computer dell’utente.