CSV till HTML-tabell

Att släppa en datatabell i ett blogginlägg, en intern wiki eller ett e-postnyhetsbrev innebär oftast att slåss med ditt CMS:s tabellredigerare. Klistra in CSV:en här istället: den första raden blir <th>-celler, varje annan rad blir <td>, och alltihop omsluts av ett minimalt <table>-element utan inline-stilar. Ren markup som tar emot vilken CSS din sajt än tillhandahåller.

Så körs omvandlingen

  1. 1

    Klistra in CSV:en

    Radbrytningar delar rader; `str_getcsv` tolkar varje rad så att citerade kommatecken och escapade citattecken hanteras korrekt.

  2. 2

    Växla rubrikläge

    När det är på matas den första raden ut med `<th>`-celler; när det är av är varje rad vanliga `<td>`.

  3. 3

    Värden HTML-escapas

    Omvandlaren anropar Laravels e()-hjälpare så att `<`, `>` och `&` escapas säkert i utdatan.

  4. 4

    Kopiera markupen

    HTML:en indenteras med två mellanslag för läsbarhet; släpp in den direkt i en Blade-fil, ett Markdown-inlägg eller en WYSIWYG-källvy.

Styling och tillgänglighet för utdatan

Omvandlaren matar ut strukturellt enkel HTML, inga klasser, inga inline-stilar, inga <thead>- eller <tbody>-omslag. Det håller utdatan portabel, men du kanske vill snygga till den.

En minimal stilmall

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

Snabba tillgänglighetsvinster

  • Omslut den första raden i en <thead> om du har långa tabeller; skärmläsare läser då upp rubrikkolumnerna när användare rör sig genom raderna. Omvandlaren gör inte detta automatiskt för att hålla utdatan minimal.
  • Lägg till ett <caption>-element ovanför tabellen med en beskrivning på vanlig svenska av vad datan representerar.
  • Använd scope="col"<th>-celler om din rubrikrad beskriver kolumner, scope="row" om den första kolumnen identifierar rader.

När HTML inte är rätt format

Om konsumenten är Markdown, använd CSV-till-Markdown-omvandlaren istället. Om konsumenten är en databas skapar CSV-till-SQL-omvandlaren INSERT-satser du kan köra direkt. HTML-tabeller är utmärkta för att rendera på sidor, medelmåttiga för något som behöver frågas eller sorteras om.

Vanliga frågor

Ja. Värden escapas med Laravels e()-hjälpare, så < blir &lt; och användartillhandahållet innehåll kan inte injicera script-taggar eller stänga tabellen i förtid.

Inte som standard, utdatan är en enda <table> med raka <tr>-barn. Omslut rubrik-<tr> i <thead> och resten i <tbody> om din mål-CSS kräver det.

Celler som innehåller inbäddade radbrytningar renderas som de är. Om du vill att radbrytningar ska synas i webbläsaren, ersätt dem med <br> före omvandling eller ställ in white-space: pre-wrap;<td>-CSS:en.

Ja. CSV:en skickas till vår server så att omvandlaren kan bygga tabellen. Den sparas inte och läggs inte till i sidlänken.

Relaterade verktyg

Verktyget finns på andra språk