Pular para o conteúdo principal

CSV

Processar arquivos PDF customizados.

Introdução

O Netuno gera arquivos CSV através do recurso CSV que permite uma abstração low-code do Apache Commons CSV para as diversas linguagens de programação suportadas pelo Netuno.

A aplicação que vem com o Netuno denominada demo (aplicação de demonstração) contém bastantes exemplos das possíveis implementações de código em várias linguagens, incluindo a demonstração da exportação para CSV através do serviço csv que se localiza em:

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

Criar um arquivo CSV

Para criar um arquivo CSV primeiro é preciso inicializar um CSVPrinter do Apache Commons CSV. Para isso precisamos passar o nome da pasta e o nome do arquivo, assim como o formato do CSV. No exemplo, vamos gerar o arquivo dentro do storage da aplicação:

const csvPrinter = _csv.printer(
_storage.filesystem("server", "data.csv"),
_csv.format("EXCEL")
)

Os formatos suportados estão descritos aqui.

Escrevendo

Para escrever uma linhas no arquivo CSV:

csvPrinter.printRecord("id", "userName", "firstName", "lastName", "birthday")
csvPrinter.printRecord(1, "john73", "John", "Doe", 123)

Fechando

Ao final é necessário fechar o CSVPrinter:

csvPrinter.close()

Ler um arquivo CSV

Para ler um arquivo CSV primeiro é preciso inicializar um CSVParser do Apache Commons CSV. Para isso precisamos passar o nome da pasta e o nome do arquivo. No exemplo, vamos ler o arquivo dentro do storage da aplicação:

const csvParser = _csv.parser(_storage.filesystem("server", "data.csv"))

Linhas

Agora é possível iterar sobre os CSVRecord do Apache Commons CSV, que representam cada linha do arquivo CSV:

for (const record of csvParser) {
const columnOne = record.get(0)
const columnTwo = record.get(1)
}

Ou pegar cada linha com o método getRecord do Apache Commons CSV. Nesse exemplo, o primeiro get pega a primeira linha. O segundo get pega o primeiro campo/valor dessa linha:

csvParser.getRecords().get(0).get(0)

Fechando

Ao final é necessário fechar o CSVParser:

csvParser.close()