Cette action a été proposée et écrite par Denis HANTZ un utilisateur de UP qui avait besoin de récupérer une valeur dans un fichier CSV pour l'afficher dans l'article.
{up csv-info=chemin-fichier | col=x | line=x}
- csv_info: URL ou chemin et nom d'un fichier local
- separator = ;: séparateur des colonnes
- line = -1: Titre dans la 1ere colonne ou numéro de la ligne où se trouve l'information. un nombre négatif recherche à partir de la fin
- col = 1: Titre de la colonne dans la première ligne ou numero de colonne de l'information. Négatif à partir de la fin
- default = [b class="t-red"]###[/b]: valeur retournée si coordonnées cellule hors feuille
Pour les démonstrations, je vais utiliser le fichier ci-contre
Il est mis en forme avec ce shortcode
{up csv2table=images/actions-demo/csv2/mini.csv}
title-1 | title-2 | title-3 |
Line-1-Col-1 | Line-1-Col-2 | Line-1-Col-3 |
Line-2-Col-1 | Line-2-Col-2 | Line-2-Col-3 |
Line-3-Col-1 | Line-3-Col-2 | |
Footer-1 | Footer-2 | Footer-3 |
Un exemple simple
Le shortcode
{up csv-info=images/actions-demo/csv2/mini.csv}
ou
{up csv-info=https://up.lomart.fr/images/actions-demo/csv2/mini.csv}
Le résultat
Footer-1Explication
On indique uniquement le nom et l'emplacement du fichier (sur le serveur ou sur un autre site).
Par défaut, l'action retourne la première valeur de la dernière ligne
Par défaut, le séparateur CSV est le point-virgule. Si besoin, utilisez l'option separator pour indiquer celui de votre fichier
Spécifier la cellule
Pour récupérer une autre cellule du fichier CSV, il suffit d'indiquer ses coordonnées à l'aide des options line et col
A partir de la cellule en haut et à gauche
{up csv-info==images/actions-demo/csv2/mini.csv
| line=1 | col=1}
Résultat : title-1
{up csv-info=images/actions-demo/csv2/mini.csv
| line=2 | col=1}
Résultat : Line-1-Col-1
{up csv-info=images/actions-demo/csv2/mini.csv
| line=2 | col=2}
Résultat : Line-1-Col-2
A partir de la dernière cellule en bas et à droite
Une valeur négative permet de rechercher à partir de la fin. line=-1 et col=-1 retournent la dernière cellule du fichier.
{up csv-info=images/actions-demo/csv2/mini.csv
| line=-1 | col=-1}
Résultat : Footer-3
{up csv-info=images/actions-demo/csv2/mini.csv
| line=-2 | col=-1}
Résultat :
un moyen simple pour ne pas prendre en compte la dernière ligne
{up csv-info=images/actions-demo/csv2/mini.csv
| line=0 | col=0}
Résultat : Footer-3
La dernière colonne ou ligne peut être indiquée par 0 (zéro)
A partir du titre de la colonne ou du contenu de la première colonne
{up csv-info=images/actions-demo/csv2/mini.csv
| line=Line-2-Col-1 | col=2}
Résultat : Line-2-Col-2
La première cellule d'une ligne peut être le libellé pour les autres cellules
{up csv-info=images/actions-demo/csv2/mini.csv
| line=0 | col=title-3}
Résultat : Footer-3
la dernière cellule de la colonne "title-3"
{up csv-info=images/actions-demo/csv2/mini.csv
| line=FOOTER-1 | col=TITLE-3}
Résultat : Footer-3
La recherche ne tient pas compte des minuscules/majuscules
Pour utiliser le contenu de la première colonne, il est impératif que la première ligne du CSV contienne le titre des colonnes
En cas d'erreur !
2 types d'erreurs peuvent se produire.
le fichier est introuvable ou vide.
Résultat : {up csv-info=vide.csv}
Résultat : ###
Le contenu de l'option default est affiché ainsi qu'un message en haut de votre site
indice (numéro ou texte) pour ligne/colonne non trouvé
Résultat : {up csv-info=images/actions-demo/csv2/mini.csv
| line=99 | col=-99}
Résultat : ###
Le contenu de l'option default est affiché
L'option default accepte du bbcode. exemple : [b class="t-red"]###[/b]
Elle peut aussi retourner une valeur par défaut (d'où son nom) pour l'action appelante comme dans l'exemple ci-dessous.
{up counter={up csv-info=fichier.csv | default=120}}
upactionslist (1) tabslide (1) toc (1) flexauto (5) csv2table (1) flexbox (1) csv-info (12) div (1) jcontent-info (1)