Van CSV naar HTML-tabel

Een gegevenstabel in een blogpost, interne wiki of e-mailnieuwsbrief plaatsen betekent meestal vechten met de tabeleditor van je CMS. Plak je CSV hier in plaats daarvan: de eerste rij wordt omgezet in <th>-cellen, elke volgende rij wordt <td>, en het geheel wordt verpakt in een minimaal <table>-element zonder inline-stijlen. Schone markup die elke CSS overneemt die je site aanbiedt.

Hoe de conversie verloopt

  1. 1

    Plak de CSV

    Regeleindes splitsen de rijen; `str_getcsv` verwerkt elke regel zodat komma's tussen aanhalingstekens en geëscapete aanhalingstekens correct worden afgehandeld.

  2. 2

    Schakel de koptekstmodus in of uit

    Wanneer ingeschakeld, wordt de eerste rij weergegeven met `<th>`-cellen; wanneer uitgeschakeld, bestaat elke rij uit gewone `<td>`-cellen.

  3. 3

    Waarden worden HTML-geëscaped

    De converter roept de e()-helper van Laravel aan, zodat `<`, `>` en `&` veilig worden geëscaped in de uitvoer.

  4. 4

    Kopieer de markup

    De HTML wordt met twee spaties ingesprongen voor de leesbaarheid; plak het direct in een Blade-bestand, een Markdown-post of een WYSIWYG-broncodeweergave.

Stijl en toegankelijkheid van het resultaat

De converter genereert structureel eenvoudige HTML, geen klassen, geen inline-stijlen en geen <thead>- of <tbody>-wrappers. Dat houdt de uitvoer overdraagbaar, maar je wilt hem misschien wat opfleuren.

Een minimaal stylesheet

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; }

Snelle verbeteringen voor toegankelijkheid

  • Wikkel de eerste rij in een <thead> als je lange tabellen hebt; schermlezers kondigen dan de kopkolommen aan terwijl gebruikers door de rijen navigeren. De converter doet dit niet automatisch om de uitvoer minimaal te houden.
  • Voeg een <caption>-element toe boven de tabel met een beschrijving in gewone taal van wat de gegevens voorstellen.
  • Gebruik scope="col" op <th>-cellen als je koprij kolommen beschrijft, en scope="row" als de eerste kolom rijen identificeert.

Wanneer HTML niet het juiste formaat is

Als de bestemming Markdown is, gebruik dan de CSV-naar-Markdown-converter. Als de bestemming een database is, genereert de CSV-naar-SQL-converter INSERT-opdrachten die je direct kunt uitvoeren. HTML-tabellen zijn uitstekend voor weergave op pagina’s, maar matig voor alles wat moet worden opgevraagd of opnieuw gesorteerd.

Veelgestelde vragen

Ja. De waarden worden geëscaped met de e()-helper van Laravel, waardoor < wordt omgezet in &lt;; zo kan door de gebruiker aangeleverde inhoud geen scripttags injecteren of de tabel voortijdig sluiten.

Niet standaard: de uitvoer is één <table> met directe <tr>-kindelementen. Wikkel de <tr> van de koptekst in <thead> en de rest in <tbody> als je doel-CSS dit vereist.

Cellen met ingesloten regeleindes worden weergegeven zoals ze zijn. Als je wilt dat de regeleindes in de browser zichtbaar zijn, vervang ze dan door <br> vóór de conversie of stel white-space: pre-wrap; in op de CSS van <td>.

Ja. De CSV wordt naar onze server verzonden zodat de converter de tabel kan bouwen. Hij wordt niet opgeslagen en niet aan de paginalink toegevoegd.

Gerelateerde tools