SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 208 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

  • Tickets, suivi de bugs

    28 novembre 2008 – 44 commentaires

    Tickets est un outil de suivi de bugs directement intégré à l’espace privé de SPIP. Il est conçu pour faciliter la phase de développement du site (notamment les squelettes du site public). Tickets est un système simple de suivi de bugs directement (...)

  • Les crayons

    23 avril 2008 – 818 commentaires

    Ce plugin permet d’éditer les contenus sur les pages publiques du site, sans passer par l’espace privé de SPIP.

  • Agenda 2.0

    3 novembre 2008 – 1080 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)

  • Calendrier Mini 2.0

    19 mai 2012 – 237 commentaires

    Ce plugin ajoute la balise #CALENDRIER_MINI qui insère un petit widget de navigation par mois dans les dates des évènements. Fonctionnement du mini calendrier Le mini calendrier présente un mois à la fois. Les jours du mois comportant des (...)

  • ciag : plugin « Groupes d’auteurs »

    30 novembre 2011 – 17 commentaires

    Ce plugin facilite l’affectation des auteurs aux rubriques, via des groupes d’auteurs. Il offre également des vues globales des affectations de rubriques aux auteurs. Les objectifs de ce plugin Le premier objectif est de faciliter (...)