Feuilles de calcul et JSON
En plus de traduire des documents Google et Word en balises Markdown et HTML, AEM convertit les feuilles de calcul (classeurs Microsoft Excel et Google Sheets) en fichiers JSON faciles à utiliser par votre site web ou votre application web.
Cela permet de nombreuses utilisations du contenu orienté tableau ou structuré.
Feuilles et structure de feuille
L’exemple le plus simple d’une feuille se compose d’un tableau qui utilise la première ligne comme nom de colonne et les lignes suivantes comme données. Voici un exemple.
Après une prévisualisation et une publication via le sidekick, AEM convertit ce tableau en représentation JSON qui est transmise aux requêtes à la ressource .json correspondante. L’exemple ci-dessus est traduit en :
{
"total": 4,
"offset": 0,
"limit": 4,
"data": [
{
"Source": "/sidekick-extension",
"Destination": "https://chromewebstore.google.com/detail/aem-sidekick/igkmdomcgoebiipaifhmpfjhbjccggml"
},
{
"Source": "/github-bot",
"Destination": "https://github.com/apps/helix-bot"
},
{
"Source": "/install-github-bot",
"Destination": "https://github.com/apps/helix-bot/installations/new"
},
{
"Source": "/tutorial",
"Destination": "/developer/tutorial"
}
],
":type": "sheet"
}
AEM vous permet de gérer des classeurs comportant plusieurs feuilles.
- S’il n’existe qu’une seule feuille AEM l’utilise par défaut comme source des informations.
- S’il existe plusieurs feuilles AEM ne diffuse que les feuilles dotées du préfixe
shared-(ouhelix-), ce qui vous permet de conserver des informations supplémentaires et éventuellement des formules dans la même feuille de calcul, qui ne sont pas diffusées sur le web. - S’il existe une feuille nommée
shared-default(ouhelix-default), elle est diffusée si aucun paramètre de requête supplémentaire n’est fourni.
Remarque : le préfixe helix- est obsolète et le préfixe shared- plus neutre doit être utilisé.
Voir la section suivante pour plus d’informations sur la manière d’interroger une feuille spécifique.
Paramètres de requête
Décalage et limite
Les feuilles de calcul et les fichiers JSON peuvent devenir très volumineux. Dans ce cas, AEM prend en charge l’utilisation de paramètres de requête limit et offset pour indiquer les lignes de la feuille de calcul à diffuser.
Comme AEM compresse toujours le fichier JSON, les payloads sont généralement relativement petites. Par défaut, AEM limite donc à 1 000 le nombre de lignes renvoyées si le paramètre de requête limit n’est pas spécifié. Cela est suffisant pour de nombreux cas simples.
Feuille
Le paramètre de requête sheet permet à une application de spécifier une ou plusieurs feuilles spécifiques dans la feuille de calcul ou le classeur. À titre d’exemple, ?sheet=jobs renvoie la feuille nommée shared-jobs et ?sheet=jobs&sheet=articles renvoie les données des feuilles nommées shared-jobs et shared-articles.
Noms de feuilles spéciales
Dans certains cas d’utilisation, AEM écrit également dans des feuilles de calcul, où il attend des noms de feuilles spécifiques.
- Le service Forms écrit uniquement dans une feuille nommée
incoming, qui n’est jamais diffusée au format JSON. - Le service d’index écrit uniquement dans une feuille nommée
raw_index, qui peut être diffusée au format JSON dans une simple configuration de feuille unique.
Pour plus d’informations sur ces services, consultez les liens ci-dessus.
Tableaux
Les tableaux natifs ne sont pas pris en charge en tant que valeurs de cellule. Ils sont donc fournis sous forme de chaînes.
"tags": "[\"Adobe Life\",\"Responsibility\",\"Diversity & Inclusion\"]"
Vous pouvez les transformer à nouveau en tableaux dans JavaScript à l’aide de JSON.parse().