Importar información de Excel a Tabla de VFP

Que tal una molestia abra alguna manera de importar la información de una tabla de excel a una base de datos de VFP es mucho lo que hay que vaciar y la verdad ya me canse quisiera saber si puedo hacer de ante mano

1 Respuesta

Respuesta
1

Primero que nada si tienes una versión nueva de Excel tal que la extensión del mismo sea .xlsx debes guardar el archivo como Libro de Excel 97-2003 (.xls) para que VF lo reconozca..

Luego tienes 2 opciones:

1. Usas el comando Import de VF.

Import From <NombreDelArchivoExcel.xls> Type XLS

Puedes hacer mención a una hoja en particular agregando..

Import From <NombreDelArchivoExcel.xls> Type XLS Sheet <NombreDeLaHoja>

Esto te creará en la carpeta definida por Set Default To un archivo DBF con el contenido del archivo excel.

2. La seguna opción es que te crees una tabla o tabla cursor conteniendo los campos equivalente a los del excel y luego usas..

Use <TablaVacia>
Append From <ArchivoExcel.xls> Type XLS

Ok esto imagino que tengo que realizarlo desde un formulario donde tengo que colocar en un botón el comando para importar el archivo de Excel que colocaste arriba y para no meterme en mas problemas que Excel me cree el esqueleto de la nueva base y solo agregar los campos que me falten estoy en lo correcto? 

Para mi lo ideal es eso mismo para que no sea el fromato de excel un formato estático; cuando usas IMPORT te crea un DBF (Tabla) conteniendo todos los datos contenidos en el Excel tomando los nombres de campos como A, B, C, ... nnn; y si le has agregado un titulo que definía el nombre del campo estará en el registro 1 así que podrías usar éste mismo registro para identificar que datos van en que registro de tabla... no se si soy claro; veamos un ejemplo:

Excel.

A B

Cliente Deuda

Fulano 1000

Mengano 2000

Este mismo formato lo tendrá la tabla entonces buscas el registro 1 en donde dice Cliente sabrás que la columna esa corresponde a eso mismo los Clientes.

Excelente, se me ocurrió que como esos datos los exporto a un archivo de excel para publicarlos en una pagina web, puedo ocupar ese archivo que genera la misma aplicación de VFP para colocar los datos he importarlos solo tengo una duda ya sabes algo lento como es que debo manejar el botón de importación en el formulario?

No comprendo la consulta. ¿Manejar el botón en el formulario?.

Así es solo coloco el comando import en un botón, en el primero me marca que no existe ya sea el archivo o mi base de datos, el segundo comando donde indico la tabla y el documento de excel se cierra la aplicación de visual por completo y no me marca ningún error se que algo ando haciendo mal pero no ubico que

Estoy ocupando un botón para elegir el archivo:

valor = GETFILE("xls?","Abrir","Importar",2,"Buscar Archivo")
thisform.label1.Caption = ALLTRIM(valor)

En el boton de importar que debo colocar para ser mas especifico?

Al principio te habia comentado que tu archivo excel no debe ser xlsx sino, simplemente xls, para eso debes abrirlo en excel y guardarlo como Libro Excel 97-2003, de otro modo VF no puede cargar dicho archivo.

Ahora, siguiendo tu propio ejemplo haremos lo siguiente:

valor = GETFILE("xls","Abrir","Importar",2,"Buscar Archivo")
if !Empty(valor)
     thisform.label1.Caption = ALLTRIM(valor)
Endif

Supongo que la acción de importar la realiza tu otro botón, el cual podrias escribir lo siguiente..

valor = thisform.label1.caption
if empty(valor)
     return
endif
import from (valor) type xls
Browse

Si por ejemplo tu nombre de archivo XLS fuese algo como esto...

Mis Datos de Apuntes.xls

El resultado de Import será:

Mis_Datos_de_Apuntes.dbf

¿Ok así lo tengo como un archivo en modo compatibilidad ahora mi duda es cuando importe este documento a la base creara una nueva o sobre escribe la que ya existe por que estamos usando un archivo de la cual se exporto?

Ya realice los cambios mis botones y cuando lo ejecuto busco el archivo lo selecciono y doy clic en el botón importar y se cierra la aplicación de fox ¿qué estoy haciendo mal?

No debería cerrarse, pero debe ser algún ajuste que hayas hecho al formulario..

Revisa por el lado de los métodos del formulario:

Deactivate

Destroy

Lostfocus

O algún otro método que haga que al perder el foto el formulario se cierre.

Creo que es mi sistema por que intente importar desde las opciones de la aplicación de fox no del formulario y cuando está trabajando en la importación se cierra me dice que visual dejo de funcionar estoy usando Windows 10 32 bits lo probare en Windows 7 más tarde 

Respecto a la consulta anterior, como te decía creará una tabla DBF en la misma carpera/directorio donde estés situado.

Este puedes averiguarla con el comando:

sys(5)+sys(2003)

o

Curdir()

El nombre de la tabla DBF creada será el mismo nombre del archivo XLS pero lo renombrará a DBF y si además el nombre del XLS tuviese espacios, reemplazará los espacios por guion bajo (_)

por ej.: Archivo de datos.xls

dará como resultado Archivo_de_datos.dbf

Y si en la carpeta donde estés posicionado hubiese un archivo del mismo nombre te consultara si lo sobreescribes.

Ah, es posible entonces que sea por compatibildiad con el SO, no uso W10 así que no sabría decirte si será realmente ese el problema o si no se instaló correctamente el VF.

Mira si te sirve el análisis de otro usuario que te adjunto:

http://articulos.softonic.com/como-ejecutar-programas-viejos-en-windows-8 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas