Filformatet CSV (Comma Separated Values) är ett populärt sätt att utbyta data mellan applikationer.
I det här snabba tipset lär vi oss hur JavaScript kan hjälpa oss att visualisera data för en CSV-fil.
Till att börja med, låt oss skapa en enkel CSV-fil. För att göra detta kommer vi att dra nytta av Mockaroo, en online testdata generator. Här är vår fil:
Nu när vi har genererat filen är vi redo att analysera den och bygga ett tillhörande HTML-bord.
Som ett första steg använder vi jQuery's ajax
funktionen för att hämta data från den här filen:
$ .ajax (url: 'csv_data.csv', dataType: 'text',). gjort (successFunction);
Förutsatt att AJAX-förfrågan är framgångsrik, successFunction
exekveras. Den här funktionen är ansvarig för att analysera den returnerade data och omvandla dem till en HTML-tabell:
funktion successFunction (data) var allRows = data.split (/ \ r? \ n | \ r /); var tabell = '
'; tabell + = rowCells [rowCell]; tabell + = ' | '; else table + = ''; tabell + = rowCells [rowCell]; tabell + = ' | '; om (singleRow === 0) table + = '
---|
Så, tanken är att konvertera var och en av CSV-raderna till en tabellrad. Med det i åtanke, låt oss kortfattat förklara hur koden ovan fungerar:
För att få en bättre förståelse av denna kod, överväga följande visualisering:
Vid denna tidpunkt är det viktigt att klargöra varför vi använde / \ R \ n |? \ R /
regex för att dela upp CSV-raderna.
Som du förmodligen redan vet finns det olika representationer av en ny linje över operativsystem. På Windows-plattformar är exempelvis tecknen som representerar en ny linje \ R \ n
. Med detta sagt, genom att använda regex ovan, kan vi matcha alla möjliga representationer.
Dessutom tillåter de flesta textredigerare oss att välja formatet för en newline. Ta till exempel Notepad ++. I den här redigeraren kan vi ange önskat format för ett dokument genom att navigera till den här sökvägen:
För att illustrera det, överväga vår fil. Beroende på det format vi väljer, så skulle det se ut så här:
Innan vi tittar på den resulterande tabellen, låt oss lägga till några grundläggande stilar till det:
bord marginal: 0 auto; text-align: center; gränskollaps: kollapsa; gränsen: 1px solid # d4d4d4; tr: nth-child (even) bakgrund: # d4d4d4; th, td vaddering: 10px 30px; th border-bottom: 1px solid # d4d4d4;
Här är den genererade tabellen:
I den här korta artikeln gick vi igenom processen att konvertera en CSV-fil till en HTML-tabell. Naturligtvis kunde vi ha använt ett webbaserat verktyg för denna omvandling, men jag tror att det alltid är mer utmanande att uppnå detta genom att skriva en egen kod.