Archivos Excel - Forum

Forum Navigation
You need to log in to create posts and topics.

Archivos Excel

se puede importar un archivo de excel en visual neo para trabajar con el?

si es asi existe algun ejemplo ?

@gustavo1973 Puedes cargar los datos de un archivo Excel utilizando el plugin neoSQL.
Aquí tienes un ejemplo
(incluido con VisualNEO Web).

Saludos.

@luishp

El archivo tiene que estar en la misma carpeta donde se compila la aplicacion o hay que cargarlo en una variable antes?

Otra cOsa,veo que en la subrutina de parseo no veo acciones

el archivo que necesito sacar informacion de de consumo electrico de una casa que esta por fechas

Uploaded files:
  • You need to login to have access to uploads.

@gustavo1973, neoSQL espera que la primera fila sea donde se definen los campos de la tabla.
Una vez que tu hoja de Excel esta correcta, todo lo que necesitas es una llamada al comando neoSqlExcel:

neoSqlExcel "sample.xlsx" "sheet1" "[theQuery]" [data] "todoHecho"

Cuando los datos esten dispoibles, se llamara a la subrutina todoHecho.
Esa subrutina sirve para saber que los datos ya han sido cargados en [data] (formato JSON).

@luishp

Por algun motivo no me funciona,

lo que hago es recibir en la subrutina el (data) en formato json, en la subrutina no pongo ninuna variable a recibir (cuando se recibe datos de mysql se define una variable en la subrutina como  String) , en tu ejemplo no hay ninguna variable definida en la subrutina, es asi?

Ya que lo que recibo es un Json segun explicas tu mas arriba , intento usar "ParseJson" en la subrutiona para asi obtener el objeto y poder trabajarlo tal lo hago con lo que recibo en mysql pero sin resultado positivo

El codigo que intento usar es el siguiente

ParseJSON "[data]" [miobj]
ArrayLen [miobj] [largo]
SetVar [fecha] "[miobj(0)('date')]"

Adjunto que si hago un console log me dice que hay un error de sintaxis, que el Json no es valido, se podria ver el archivo excel de tu ejemplo para ver como esta armado

Error: SyntaxError: "undefined" is not valid JSON
    at JSON.parse (<anonymous>)
    at $scope.parseData (main.js:7:19)
    at main.js:27:1403

 

@gustavo1973 no necesitas utilizar ParseJSON porque el objeto ya está creado y parseado.

en tu ejemplo no hay ninguna variable definida en la subrutina, es asi?

No hace falta.
Eso sí, asegúrate de estar utilizando neoPhp Server u otro servidor web o no funcionará, ya que necesita un contexto seguro de ejecución.

@luishp

Como estas, estoy usando PHPServer como dices, no logro hacerlo funcionar, si dices que el objeto ya esta creado, deberia poder trabjarlo tal cual lo hago con los datos que recibo cuando trabajo con datos mysql?

como en este ejemplo :

CreateEmptyObject [miobj]
SetVar [miobj] [data]
ArrayLen [miobj] [totalRows]

setvar "[Boleta_Tipo]" [miobj(0)('Boleta_Tipo')]

o se hace de manera diferente?

Quizas mi archivo de excel este mal armado en su contenido, tienes el archivo de muestra que usas en el demo publicado por ti para verlo como esta estructurado

Algun ejemplo donde el manejo de los datos recibidos del archivo excel se haga en la subrutina y no como en tu ejemplo que esta el codigo en el html del container'

@gustavo1973 en tu ordenador ve a la siguiente carpeta:

MisDocumentos\VisualNeoWeb\Sample Apps\neoSql

Allí encontrarás el archivo Excel y la app de ejemplo.

Ejemplo completo neoSql (en este caso los datos no son cargados desde un Excel sino que se crea una base de datos en la memoria y utilizo un Wait en lugar de hacer un callback a una subrutina, pero es exáctamente lo mismo):

CreateEmptyObject [myjson]
CreateEmptyObject [mydata]
neoSqlJson [myjson] "CREATE TABLE test (language INT, saludo STRING)" [myjson] ""
neoSqlJson [myjson] "INSERT INTO test VALUES (1,'Hello!')" [myjson] ""
neoSqlJson [myjson] "INSERT INTO test VALUES (2,'Aloha!')" [myjson] ""
neoSqlJson [myjson] "INSERT INTO test VALUES (3,'Bonjour!')" [myjson] ""
neoSqlJson [myjson] "SELECT * FROM test WHERE language > 1" [mydata] ""
Wait 100
   jsAlert [mydata(0)("saludo")]
EndWait

 

@luishp

Ahi pude recibir y leer los datos, lo que no puedo ver es la cantidad de registros recibidos en la consulta, intento con array len sin resultado positivo:

ArrayLen [data] [totalRows]

jsAlert [data(0)("Fecha")]
jsAlert [data(0)("Consumo")]

siempre me devuelve "0"

@gustavo1973 prueba con esto:

SetVar [totalRows] [data.length]

Si no funciona tampoco, haz un "ConsoleLog [data]" para que podamos ver la estructura de tus datos.