Hopp til hovedinnhold
Meny

lmfaole.party / designsystem / funksjoner / CSV-formatering

  • Forside
  • Turer
  • Økonomi
  • Slides
  • formatCsv – CSV-formatering / CSV formatting

    Om funksjonen

    Formål

    Formaterer generiske radobjekter til en CSV-streng uten domenekunnskap. Kalleren bestemmer både kolonnerekkefølge, overskrifter og eventuelle avvik mellom objektnøkkel og utgående felt.

    Egner seg for

    • Eksport av en filtrert eller avgrenset datamengde til en enkel CSV-fil som kan åpnes i regneark eller importeres i andre verktøy.

    Egner seg ikke for

    • Ikke for parsing, filnedlasting eller avanserte CSV-dialekter med andre skilletegn enn komma. Funksjonen produserer kun tekstinnholdet.

    Signatur(er)

    formatCsv(rows: Array<Record<string, unknown>>, columns: Array<{header: string, key?: string, value?: (row: Record<string, unknown>, index: number) => unknown}>) => string

    Parameter Type Beskrivelse
    rowsArray<Record<string, unknown>>Radene som skal serialiseres. Hver rad kan ha vilkårlige felt; hvilke som tas med styres av columns.
    columnsArray<{header: string, key?: string, value?: (row: Record<string, unknown>, index: number) => unknown}>Kolonnebeskrivelser i ønsket rekkefølge. Hver kolonne må ha header, og kan lese data enten via key eller en value(...)-funksjon.

    Returnerer: CSV-innhold med én overskriftsrad og CRLF-linjeskift. Returnerer "" hvis columns mangler eller er tom.

    import {formatCsv} from "/designsystem/funksjoner/formattering/format-csv/format-csv.js";
    
    const csv = formatCsv(
        [
            {dato: "2026-09-01", beskrivelse: "Kiwi, Majorstuen", belop: -129.5},
            {dato: "2026-09-02", beskrivelse: "Linje 1\nLinje 2", belop: -89}
        ],
        [
            {header: "dato", key: "dato"},
            {header: "beskrivelse", key: "beskrivelse"},
            {header: "beløp", key: "belop"}
        ]
    );

    Prøv selv

    Rediger uttrykket under - returverdien oppdateres live.

    Tilgjengelighet

    Ikke relevant: ren logikk uten DOM eller UI.

    Referanser

    Se også:

    Brukes av:

    • okonomi/js/features/oversikt/oversikt.js

    Avhengigheter: Ingen