Saltar al contenido principal

CSV

Procesar archivos PDF personalizados.

Introducción​

Netuno genera archivos CSV mediante el recurso CSV, que permite una abstracción low-code de Apache Commons CSV para los distintos lenguajes de programación compatibles con Netuno.

La aplicación que viene con Netuno denominada demo (aplicación de demostración) contiene bastantes ejemplos de las posibles implementaciones de código en varios lenguajes, incluida la demostración de la exportación a CSV mediante el servicio csv que se encuentra en:

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

Crear un archivo CSV​

Para crear un archivo CSV primero es necesario inicializar un CSVPrinter de Apache Commons CSV. Para ello necesitamos pasar el nombre de la carpeta y el nombre del archivo, así como el formato del CSV. En el ejemplo, vamos a generar el archivo dentro del storage de la aplicación:

const impresoraCsv = _csv.printer(
_storage.filesystem("server", "datos.csv"),
_csv.format("EXCEL")
)

Los formatos compatibles se describen aquí.

Escribiendo​

Para escribir líneas en el archivo CSV:

impresoraCsv.printRecord("id", "nombreUsuario", "nombre", "apellido", "fechaNacimiento")
impresoraCsv.printRecord(1, "juan73", "Juan", "Pérez", 123)

Cerrando​

Al final es necesario cerrar el CSVPrinter:

impresoraCsv.close()

Leer un archivo CSV​

Para leer un archivo CSV primero es necesario inicializar un CSVParser de Apache Commons CSV. Para ello necesitamos pasar el nombre de la carpeta y el nombre del archivo. En el ejemplo, vamos a leer el archivo dentro del storage de la aplicación:

const analizadorCsv = _csv.parser(_storage.filesystem("server", "datos.csv"))

Líneas​

Ahora es posible iterar sobre los CSVRecord de Apache Commons CSV, que representan cada línea del archivo CSV:

for (const registro of analizadorCsv) {
const columnaUno = registro.get(0)
const columnaDos = registro.get(1)
}

O tomar cada línea con el método getRecord de Apache Commons CSV. En este ejemplo, el primer get toma la primera línea. El segundo get toma el primer campo/valor de esa línea:

analizadorCsv.getRecords().get(0).get(0)

Cerrando​

Al final es necesario cerrar el CSVParser:

analizadorCsv.close()