SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 195 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

3 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

  • Pour un fonctionnement communautaire efficace dans la communauté SPIP

    24 mai – commentaires

    Où l’on propose de tester des nouvelles façons de prendre des décisions et d’avancer collectivement sur des projets SPIP, de manière transparente, en impliquant la communauté, et en étant plus accueillants pour les nouvelles personnes. Tout ça dans la (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 803 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • GIS 4

    11 août 2012 – 1348 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • GIS Geometries

    19 mars 2014 – 49 commentaires

    Ce plugin ajoute au plugin GIS la possibilité d’afficher et d’éditer des formes géométriques. Avertissement : ce plugin ne fonctionne que sur les sites qui utilisent une base de données MySQL en version 4.1 minimum, car la gestion des données (...)

  • Présentation : Organisation et décisions dans une optique autogérée et non-argentée

    11 mai – commentaires

    Cette présentation a été faite durant la rencontre SPIP à Toulouse en mai 2017. Elle propose des pistes de solutions pour avancer sur les chantiers compliqués et bloquants, notamment par la rédaction d’une charte/mode d’emploi pour la communauté et (...)

Ça spipe par là