CSV en tableau HTML

Insérer un tableau de données dans un article de blog, un wiki interne ou une newsletter par e-mail signifie généralement se battre avec l’éditeur de tableau de votre CMS. Collez le CSV ici à la place : la première ligne devient des cellules <th>, chaque autre ligne devient <td>, et le tout est enveloppé dans un élément <table> minimal sans styles en ligne. Un balisage propre qui prend tout CSS que votre site fournit.

Comment se déroule la conversion

  1. 1

    Collez le CSV

    Les sauts de ligne divisent les lignes ; `str_getcsv` analyse chaque ligne afin que les virgules entre guillemets et les guillemets échappés soient traités correctement.

  2. 2

    Activer le mode en-tête

    Lorsqu'il est activé, la première ligne est émise avec des cellules `<th>` ; lorsqu'il est désactivé, chaque ligne est un simple `<td>`.

  3. 3

    Les valeurs sont échappées en HTML

    Le convertisseur appelle l'assistant e() de Laravel afin que `<`, `>` et `&` soient échappés en toute sécurité dans la sortie.

  4. 4

    Copiez le balisage

    Le HTML est indenté de deux espaces pour la lisibilité ; insérez-le directement dans un fichier Blade, un article Markdown ou une vue source WYSIWYG.

Style et accessibilité pour la sortie

Le convertisseur émet un HTML structurellement simple, pas de classes, pas de styles en ligne, pas d’enveloppes <thead> ou <tbody>. Cela garde la sortie portable, mais vous voudrez peut-être l’embellir.

Une feuille de style minimale

table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { padding: 8px 12px; border-bottom: 1px solid #e5e7eb; text-align: left; }
th { background: #f9fafb; font-weight: 600; }
tr:nth-child(even) td { background: #fafafa; }

Gains rapides en accessibilité

  • Enveloppez la première ligne dans un <thead> si vous avez de longs tableaux ; les lecteurs d’écran annoncent alors les colonnes d’en-tête au fur et à mesure que les utilisateurs parcourent les lignes. Le convertisseur ne le fait pas automatiquement pour garder la sortie minimale.
  • Ajoutez un élément <caption> au-dessus du tableau avec une description en langage clair de ce que représentent les données.
  • Utilisez scope="col" sur les cellules <th> si votre ligne d’en-tête décrit des colonnes, scope="row" si la première colonne identifie des lignes.

Quand le HTML n’est pas le bon format

Si le consommateur est Markdown, utilisez plutôt le convertisseur CSV en Markdown. Si le consommateur est une base de données, le convertisseur CSV en SQL produit des instructions INSERT que vous pouvez exécuter directement. Les tableaux HTML sont excellents pour le rendu dans les pages, médiocres pour tout ce qui doit être interrogé ou réorganisé.

Questions fréquentes

Oui. Les valeurs sont échappées avec l’assistant e() de Laravel, donc < devient &lt; et le contenu fourni par l’utilisateur ne peut pas injecter de balises script ou fermer le tableau prématurément.

Pas par défaut, la sortie est un seul <table> avec des enfants <tr> simples. Enveloppez l’en-tête <tr> dans <thead> et le reste dans <tbody> si votre CSS cible l’exige.

Les cellules contenant des sauts de ligne intégrés sont rendues telles quelles. Si vous voulez que les sauts de ligne s’affichent dans le navigateur, remplacez-les par <br> avant la conversion ou définissez white-space: pre-wrap; sur le CSS <td>.

Oui. Le CSV est envoyé à notre serveur afin que le convertisseur puisse créer le tableau. Il n’est pas stocké et il n’est pas ajouté au lien de la page.

Outils similaires

Outil disponible dans d’autres langues