Passa al contenuto principale

CSV

Elaborare file PDF personalizzati.

Introduzione​

Netuno genera file CSV tramite la risorsa CSV che consente un'astrazione low-code di Apache Commons CSV per i vari linguaggi di programmazione supportati da Netuno.

L'applicazione fornita con Netuno denominata demo (applicazione dimostrativa) contiene molti esempi delle possibili implementazioni di codice in vari linguaggi, inclusa la dimostrazione dell'esportazione in CSV tramite il servizio csv che si trova in:

  • netuno/apps/demo/server/services/samples/javascript/csv.js

Creare un file CSV​

Per creare un file CSV è innanzitutto necessario inizializzare un CSVPrinter di Apache Commons CSV. Per farlo dobbiamo passare il nome della cartella e il nome del file, nonché il formato del CSV. Nell'esempio, genereremo il file all'interno dello storage dell'applicazione:

const stampanteCsv = _csv.printer(
_storage.filesystem("server", "dati.csv"),
_csv.format("EXCEL")
)

I formati supportati sono descritti qui.

Scrittura​

Per scrivere righe nel file CSV:

stampanteCsv.printRecord("id", "nomeUtente", "nome", "cognome", "dataNascita")
stampanteCsv.printRecord(1, "mario73", "Mario", "Rossi", 123)

Chiusura​

Alla fine è necessario chiudere il CSVPrinter:

stampanteCsv.close()

Leggere un file CSV​

Per leggere un file CSV è innanzitutto necessario inizializzare un CSVParser di Apache Commons CSV. Per farlo dobbiamo passare il nome della cartella e il nome del file. Nell'esempio, leggeremo il file all'interno dello storage dell'applicazione:

const parserCsv = _csv.parser(_storage.filesystem("server", "dati.csv"))

Righe​

Ora è possibile iterare sui CSVRecord di Apache Commons CSV, che rappresentano ciascuna riga del file CSV:

for (const riga of parserCsv) {
const colonnaUno = riga.get(0)
const colonnaDue = riga.get(1)
}

Oppure ottenere ciascuna riga con il metodo getRecord di Apache Commons CSV. In questo esempio, il primo get recupera la prima riga. Il secondo get recupera il primo campo/valore di quella riga:

parserCsv.getRecords().get(0).get(0)

Chiusura​

Alla fine è necessario chiudere il CSVParser:

parserCsv.close()