FoxPro/Visual FoxPro - Crear una tabla a partir de archivos .txt

   
Vista:

Crear una tabla a partir de archivos .txt

Publicado por Darío (6 intervenciones) el 17/07/2010 00:19:17
Hola a todos, tengo una consulta con el tema de referencia. Lo que necesito saber es (si puede) cómo puedo crear una tabla utilizando Visual FoxPro exclusivamente, ya que es lo único que hay en mi trabajo, el problema es el siguiente:
tengo cinco archivos.txt creados por una macro en otra plataforma, los mismos contienen una serie de datos pero igual cantidad, a partir de estos tengo que crear un archivo .xls donde la primera fila va a tener rotulado los nombres de los .txt y guardeel xls. En apariencia creo que es algo simple para alguien que conozca, recién ahora estoy aprendiendo Visual Fox por el tema del trabajo, asique no lo conozco demasiado, si alguien puede adarme una ayuda, muchísimas gracias.

Darío
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauricio

Crear una tabla a partir de archivos .txt

Publicado por Mauricio (1368 intervenciones) el 17/07/2010 23:19:57
puedes usar el COPY TO, tambien puedes usar el APPEND FROM, revisalo en la ayuda.................
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear una tabla a partir de archivos .txt

Publicado por Darío (6 intervenciones) el 18/07/2010 21:08:59
Gracias por la respuesta, estuve viendo un poco el contexto de COPY TO por Internet, pero cómo manipulo los cinco .txt para que me crea el archivo excel con las cinco respectivas columnas? Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear una tabla a partir de archivos .txt

Publicado por Darío (6 intervenciones) el 18/07/2010 23:48:02
Estuve practicando un poco en mi casa, el problema que tengo es cómo colocar en las cuatro columnas los cuatro archivos txt, hasta ahora pude hacerlo con uno solo. El código sería:

cd 'C:\Documents and Settings\USUARIO\Mis documentos'
Use REH_.DBF
append from 'C:\Documents and Settings\USUARIO\Mis documentos\cuentas.txt' sdf
select reh_
export to 'C:\Documents and Settings\USUARIO\Mis documentos\total.xls' type xls

así funciona correctamente, pero necesito copiar los otro tres archivos.txt a las otras tres columnas que quedan.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear una tabla a partir de archivos .txt

Publicado por Edgar Zambrano (31 intervenciones) el 21/07/2010 21:42:45
exactamente asi es pero debes concatenar los archivos en un solo para que se te pueda generar el XLS perfectamente como tu lo quieres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear una tabla a partir de archivos .txt

Publicado por Edgar Zambrano (31 intervenciones) el 21/07/2010 22:05:14
perdon deje incompleto el comentario anterior...

para concatenar archivos puedes utilizar las funciones strtofile() y filetostr.

algo asi

strtofile(filetostr("archivo1.txt")+","+filetostr("archivo2.txt")+","+filetostr("archivo3.txt"),"destino.txt")

",", seria la separación para los datos que estas pasando ya que al momento de enviarlos a la tabla tiene que tener ese caracter de separacion.

Espero sea lo que buscas


"Lo imposible es el fantasma de los timidos y el refugio de los cobardes."
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear una tabla a partir de archivos .txt

Publicado por Darío (6 intervenciones) el 23/07/2010 00:04:03
Hola gracias por la ayuda, pero lo terminé haciendo de esta manera, no sé si es la más eficaz, pero creé los dbf de cada columna con un append from para cada txt, y luego un do while para que me escriba en la tabla final que necesitaba, después lo exporté a un excel, el código quedó más o menos así, el problema es que antes tuve que crear las tablas donde se alojarìan los campos:
select a

use emplea exclusive

zap

append from 'ruta' sdf *apendea los datos a la tabla final que también tiene los demás campos (los que siguen)



sele b

use carpeta

dele all

append from carpetas.txt sdf



sele c

use plan

dele all

append from plan.txt sdf

sele d

use oficina

dele all

append from oficina.txt sdf


sele e

use localidad

dele all

append from localidad.txt sdf


sele f

use fecha

dele all

append from fecha.txt sdf


sele g

use accion

dele all

append from accion.txt sdf



sele h

use contratista

dele all

append from contratista.txt sdf



select a

use emplea

n1 = 1

n2 = 1

n3 = 1

n4 = 1

n5 = 1

n6 = 1

n7 = 1



go top * va al primer registro

do while .not. eof() * mientras haya registros en el primer campo

xcuenta = dato


sele b

go n1

n1 = n1 + 1

xcarp = carpeta





sele c

go n2

n2 = n2 + 1



xplan = plan



sele d

go n3

n3 = n3 + 1

xoficina = oficina



sele e

go n4

n4 = n4 + 1



xlocalidad = localidad


sele f

go n5

n5 = n5 + 1

xfecha = fec_emisio




sele g

go n6

n6 = n6 + 1

xaccion = accion



sele h

go n7

n7 = n7 + 1

xcontratista = contratist



sele a

replace carpeta with xcarp

replace plan with xplan

replace oficina with xoficina

replace localidad with xlocalidad

replace fec_emisio with xfecha

replace accion with xaccion

replace contratist with xcontratista

skip



enddo


export to 'ruta type xls * acá creo que sería mejor poner xl8 para que no haya porblemas


* lo siguente es para abrir el excel exportado anteriormente, le tengo que agregar el formato
loXls = CREATEOBJECT("Excel.Application")

loXls.Workbooks.Open("ruta")

loXls.Visible = .T.

RELEASE loXls
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar