SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 243 visiteurs en ce moment

Accueil > Rédaction > Graphiques et tableaux > Tableau CSV en tableau SPIP > Importation de tableaux au format CSV

Importation de tableaux au format CSV

18 avril 2017 – par Robert Sebille

2 votes

Cette contribution ou ce plugin est en phase de test. Des bugs peuvent subsister. N’hésitez pas à les signaler dans le forum ci-dessous.

tabcsv est un plugin pour SPIP qui permet de transformer du contenu écrit au format CSV (Comma-separated values) en tableau SPIP.

Le plugin fonctionne sur base d’un modèle. Le contenu csv peut être écrit en paramètre du modèle ou contenu dans un fichier au format

Le modèle a été testé sous SPIP 3.1, mais il n’y a pas à priori de raison pour qu’il ne fonctionne pas également sous SPIP 3.0, ou 2.1 et 2.0. Il faut simplement tester. Des retours d’utilisateurs sont les bienvenus.

Ai-je besoin de ce plugin ?

Si vous n’avez pas besoin :

-  de la possibilité de choisir que la première rangée des tableaux puisse être un titre ou non
-  de la possibilité de choisir le séparateur de champ
-  que tous les tableaux générés aient aussi une classe propre aux tableaux tabcsv qui permette de formater ces tableaux-là seulement
-  que chaque tableau généré puisse avoir sa propre classe css, sans affecter les autres tableaux, tabcsv ou SPIP.
-  de pouvoir interpréter du csv écrit (ou copié/collé) directement dans le texte

alors, vous n’avez pas besoin de ce plugin ; utilisez plutôt le modèle emb de SPIP.

Exemples d’utilisation dans un article

Classique
Petit tableau avec contenu csv copié/collé, délimiteur de texte = « rien » (défaut), séparateur de champs = ; (défaut)

<tabcsv|contenu=
Col 1;Col 2
10,11;10,12
10,21;10,22>

Particuliers
Petit tableau avec contenu csv copié/collé contenant doubles et simples quotes, délimiteur de texte = ", séparateur de champs = ;

<tabcsv|delimiteur=oUi
|contenu="L'entrée titre "colonne 1"";"L'entrée titre "colonne 2""
"col11";"col12"
"col21";"col22">

Petit tableau avec contenu csv copié/collé doubles et simples quotes, délimiteur de texte = rien, séparateur de champs = ,

<tabcsv|separateur=,|contenu=
L'entrée titre "colonne 1",L'entrée titre "colonne 2"
col11,col12
col21,col22>

Tableau large (nombre de colonnes) dans un fichier csv d’id XX, avec classe « tableau_large », délimiteur de texte = « rien » (défaut), séparateur de champs = ; (défaut)
<tabcsvXX|classe=tableau_large>

La classe tableau_large permet alors d’intervenir via les CSS pour un meilleur affichage de ce tableau, sans influencer l’affichage des autres tableaux de classe spip.

Règles du format CSV en vigueur dans le modèle

  • Par défaut, il n’y a pas de délimiteur de texte et le séparateur de champs est le ; (point-virgule).
  • Via les paramètres (voir plus loin), on peut redéfinir le délimiteur de texte à " (guillemet double) et le séparateur de champs à ce qu’on veut.
  • Il faut fixer le délimiteur de texte à " (guillemet double) :
    • Si les données du contenu CSV contiennent le caractère du séparateur de champ
    • Si (Attention, particularité du modèle !) les données du contenu CSV contiennent un ou des ’ (guillemets simples) ET que le séparateur de champ est le ; (point-virgule)

Paramètres du modèle

Facultatif
-  titre=non — (non est insensible à la casse) par défaut, la première ligne du CSV est considérée comme les intitulés des colonnes. titre=non impliquera que la première sera considérée comme une rangée normale.
-  delimiteur=oui — (oui est insensible à la casse) déclare que le délimiteur de texte est le " (guillemet double). Par défaut, il n’y a pas de délimiteur de texte.
-  separateur=[1 caractère] — par défaut, le séparateur de champ est le ; (point-vigule). Exemple qui choisira la , (virgule) comme séparateur de champ : separateur=,
-  classe=ma_classe — attribue la classe CSS (Cascading Style Sheets) ma_classe à ce tableau particulier et permet un formatage de style propre à ce tableau

Obligatoire ou facultatif sous condition.
Si l’un des deux paramètres qui suivent est absent, l’autre est obligatoire. Si les deux sont présents, seul le paramètre id sera pris en compte.
-  id=XX ou <tabcsvXX[...]> — où XX est l’id d’un fichier avec l’extension .csv, téléchargé via SPIP (= dans le répertoire IMG/csv/) peu importe que ce fichier soit lié ou non à l’objet (article, par exemple) où l’appel du modèle est inséré
-  contenu=un_contenu_csv_ecrit_directement — le contenu CSV est écrit directement ou copié/collé dans l’objet SPIP

tabcsv, tableau SPIP et feuille de styles

Les tableaux générés par le modèle sont pareils aux tableaux générés par les raccourcis SPIP, aux différences qui suivent près :
-  lorsque le tableau spip contient des | **titres** |, ces titres (TH) contiennent un attribut « id » qui répond à un attribut « headers » dans les cellules (TD) du contenu. Ces attributs « id » et « headers » n’existent pas avec tabcsv
-  une classe tabcsv est présente (en plus de la classe spip) dans tous les tableaux générés
-  le paramètre |classe= permet d’attribuer une classe particulière au tableau concerné
-  le code html et les raccourcis SPIP sont inopérants dans les tableaux générés par le modèle

Démonstration provisoire

Par ici

P.-S.

Astuce pour les tableaux « trop » larges : avec les squelettes par défaut de Spip, une partie du tableau risque bien d’être cachée ! Un div.texte {overflow: auto;} dans les CSS obligera le navigateur à fournir une barre de défilement horizontale si le tableau dépasse la largeur de son conteneur.

Dernière modification de cette page le 20 avril 2017

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Cycle2

    7 août 2014 – 104 commentaires

    La seconde version de la librairie Javascript « jQuery Cycle », qui permet de produire des diaporamas, se nomme « Cycle2 » : http://jquery.malsup.com/cycle2/. Voici cette nouvelle librairie mise en plugin pour SPIP. Si vous utilisez déjà « jQuery (...)

  • CleverMail

    20 janvier 2010 – 635 commentaires

    CleverMail est un plugin permettant d’envoyer des lettres d’informations à des abonnés depuis SPIP. Issu au départ d’un développement libre complètement indépendant de SPIP, il a connu une première version pour SPIP 1.9 avant d’être complètement réécris (...)

  • SPMC : Squelette par mot clé V2.0

    21 septembre 2009 – 48 commentaires

    Ce plugin prend la suite de squelette par mot clef V1.92 qui ne fonctionnait plus sous SPIP 2.0.x. Avec l’accord de Mortimer qui n’a plus le temps de le maintenir, je prend donc la suite. Présentation du plugin « Squelette par mot clé V2.0 » Le (...)

  • Sarka-SPIP 3

    15 septembre 2009 – 211 commentaires

    Si la lignée 3 de Sarka-SPIP a été l’occasion de refaire presque entièrement le code du squelette elle continue à évoluer et à s’améliorer au fil des versions. Nous ne saurions trop conseiller aux nouveaux utilisateurs - et aussi aux anciens - (...)

  • Paiement avec Formidable

    16 février 2015 – 53 commentaires

    Ce plugin « Paiement avec Formidable » permet d’ajouter une étape de paiement à la fin de la saisie d’un formulaire créé par le plugin Formidable. Il le complète et nécessite par ailleurs le plugin bank qui gère l’interface technique avec les prestataires (...)