yamQuery-excelAnalizer

1.0.5 • Public • Published

YamilQuery-ExcelAnalizer

Permite analizar y procesar grandes volumentes de información de archivos xls, xlsx y csv, mediante archivos de configuración JSON.

  • Este analizador permite lo siguiente.
    • Leer ficheros xls, xslx y csv
    • Obtener datos de columnas y celdas especificando criterios o condiciones
    • Aplicar filtros a los datos obtenidos y almacenar el resultado en un objeto

Versión

1.0.5

Requerimientos

YamilQuery-ExcelAnalizer requiere:

Instalación

YamilQuery-ExcelAnalizer requiere Node.js v4+ para ejecutarse correctamente.

$ npm install yamQuery-excelAnalizer --save

Uso

El analizador de archivos utiliza archivos de configuración en formato json. A continuación un ejemplo con la estructura requerida:

example.json
{
    "file""./test/xlsx/example.xlsx",
    "resource_name""EXAMPLE YamQuery-ExcelAnalizer",
    "sheet_name""usageReport (14)",
    "conditions": [{
        "column": 0,
        "alias""information",
        "where"{
            "contains""Account "
        }
    }],
    "results": [{
        "alias""id_information",
        "column": 0,
        "regex""\\d+"
    }, {
        "alias""information",
        "column": 0
    }{
        "alias""jan-2016",
        "column": 10,
        "relative": 2
    }{
        "alias""feb-2016",
        "column": 11,
        "relative": 2
    }{
        "alias""mar-2016",
        "column": 12,
        "relative": 2
    }{
        "alias""abr-2016",
        "column": 13,
        "relative": 2
    }]
}

Las opciones del archivo de configuración son:

  • file (Opcional): Ruta del archivo a analizar
  • directory (Opcional): Ruta del directorio donde se localizan los archivos a analizar
  • sheet_name (Opcional): Nombre de la hoja de excel por analizar
  • conditions: Objeto con criterios o condiciones necesarias que deben cumplir las celdas para obtener los resultados deseados
    • column: Especifica el número de columna donde buscará dentro de la fila en la ejecución actual
    • cell: Especifica una fila y columna en particular
    • alias: Alias para identificar el criterio
    • where: Objeto llave-valor con criterio y valor esperado o puede especificar un solo Criterio como tipo String
      • contains (Object)
      • isNumber (String)
      • equals (Object)
      • notEquals (Object)
  • results: Objeto con posiciones de las columnas, celdas o rangos a obtener cuando se han cumplido todas las condiciones
    • column: Especifica el número de columna donde buscará dentro de la fila en la ejecución actual
    • column_range: Objecto con dos valores de rango de columnas (Se sumarán para el resultado)
    • cell: Especifica una fila y columna en particular
    • alias: Otorga un alias al resultado, mismo que será devuelto al final
    • relative: Cuando el valor que requieres no se encuentra en la fila actual puedes incrementar o disminuir el indice de la fila de donde obtendrá el valor

Nota: Al menos una de las opciones file o directory deberán especificarse en el archivo de configuración

Obtener resultados

Invocamos al analizador para obtener los resultados.

example.js
analizer = require('yamQuery-excelAnalizer')
var configAnalizer = JSON.parse(fs.readFileSync('./config/example.json''utf8'))
analizer.getResults(configAnalizer).then(function(data){
    console.log(data) // Your result is ready!
})
Usar con co generator

Gracias a Promises (https://www.promisejs.org/) podemos utilizar yield de la siguiente forma:

example.js
co = require('co')
analizer = require('yamQuery-excelAnalizer')
co(function*(){
    var configAnalizer = JSON.parse(fs.readFileSync('./config/example.json''utf8'))
    var data = yield analizer.getResults(configAnalizer)
    console.log(data) // Your result is ready!
})

Test

Run npm test

Package Sidebar

Install

npm i yamQuery-excelAnalizer

Weekly Downloads

1

Version

1.0.5

License

MIT

Last publish

Collaborators

  • yamilquery