Filformatet CSV (Comma Separated Values) er en populær måte å utveksle data mellom applikasjoner.
I dette raske tipset lærer vi hvordan JavaScript kan hjelpe oss med å visualisere dataene i en CSV-fil.
Til å begynne med, la oss lage en enkel CSV-fil. For å gjøre dette, vil vi dra nytte av Mockaroo, en online testdata generator. Her er vår fil:
Nå som vi har generert filen, er vi klare til å analysere den og bygge et tilhørende HTML-tabell.
Som et første skritt bruker vi jQuery's ajax
funksjon for å hente dataene fra denne filen:
$ .ajax (url: 'csv_data.csv', dataType: 'text',). ferdig (suksessFunksjon);
Forutsatt at AJAX-forespørselen er vellykket, vil successFunction
er utført. Denne funksjonen er ansvarlig for å analysere de returnerte dataene og omdanne dem til et HTML-tabell:
funksjon suksessFunksjon (data) var allRows = data.split (/ \ r? \ n | \ r /); var tabell = '
'; tabell + = rowCells [rowCell]; bord + = ' | '; ellers tabell + = ''; tabell + = rowCells [rowCell]; bord + = ' | '; hvis (singleRow === 0) table + = '
---|
Så ideen er å konvertere hver av CSV-radene til en tabellrad. Med det for øye, la oss kort forklare hvordan koden ovenfor fungerer:
Videre, for å få en bedre forståelse av denne koden, bør du vurdere følgende visualisering:
På dette punktet er det viktig å avklare hvorfor vi brukte / \ R \ n |? \ R /
regex for å dele CSV-radene.
Som du sikkert allerede vet, er det forskjellige representasjoner av en newline på tvers av operativsystemene. For eksempel på Windows-plattformer er tegnene som representerer en ny linje \ R \ n
. Når det er sagt, ved å bruke regex ovenfor, kan vi matche alle de mulige representasjonene.
I tillegg tillater de fleste tekstredaktører oss å velge formatet for en ny linje. Ta for eksempel Notepad ++. I denne redaktøren kan vi spesifisere ønsket format for et dokument ved å navigere til denne banen:
For å illustrere det, vurder vår fil. Avhengig av formatet vi velger, vil det se slik ut:
Før vi ser på den resulterende tabellen, la oss legge til noen grunnleggende stiler for det:
bord margin: 0 auto; tekst-align: center; border-collapse: collapse; grense: 1px solid # d4d4d4; tr: nth-barn (jevn) bakgrunn: # d4d4d4; th, td polstring: 10px 30px; th border-bottom: 1px solid # d4d4d4;
Her er det genererte bordet:
I denne korte artikkelen gikk vi gjennom prosessen med å konvertere en CSV-fil til et HTML-tabell. Selvfølgelig kunne vi ha brukt et nettbasert verktøy for denne konverteringen, men jeg tror at det alltid er mer utfordrende å oppnå dette ved å skrive din egen kode.