FoxPro/Visual FoxPro - Problemas Excel y VFP?

   
Vista:
Imágen de perfil de Mauricio

Problemas Excel y VFP?

Publicado por Mauricio (1368 intervenciones) el 09/12/2009 15:57:09
Este problema de compatibilidad entre excel y vfp:
Pueden leer este link:
http://www.portalfox.com/index.php?name=Sections&req=viewarticle&artid=169
Parte del articulo dice:
Los comandos APPEND FROM y COPY TO de Visual FoxPro 9.0 son incompatibles con los nuevos formatos de archivo de Excel 2007 (XLS, XLSX, xlsb, y XLSM). Habrá notado que incluí XLS y usted cree que es soportado, pero sólo intente guardar su libro XLS Excel 97-2003 en el modo de compatibilidad de Excel 2007 y, a continuación, utilice el comando APPEND FROM sobre éste. VFP se quejará de la validez del archivo, en resumen, no funciona. Y, el comando COPY TO esta simplemente atascado en los oscuros años del XLS y XL5 disponibles. Bien, entonces todo esto es el primer problema.

El segundo problema con los comandos APPEND FROM y COPY TO es que no permiten especificar las columnas o los campos; una cláusula WHERE o FOR; o especificar un rango o área de impresión. Estamos bastante atascados con especificar un libro, APPEND FROM permite un parámetro opcional para la Hoja, pero eso no es adecuado ni super atractivo.

El tercer problema es que la solución habitualmente sugerida para los problemas de arriba, es utilizar automatización, y la automatización es super lenta debido al consumo efectuado por COM. Esto también introduce una dependencia adicional de tener instalado Excel 2007 en la máquina en la que el código se ejecuta. Lo "lento" nunca es aceptable (las aplicaciones VFP puede tener sus cosas, pero la lentitud no es una de ellas) y la dependencia adicional, aceptable en algunos casos, es un freno si se están ejecutando estos tipos de operaciones sobre un servidor web que no tiene instalado Excel 2007.

La Solución
Yo estaba trabajando en una solución para un cliente mío, que requería que consuma y cree archivos XLS, XLSX, xLSB y XLSM, sin que el usuario necesite tener instalado Excel 2007. Después de lanzar unas pruebas conjuntamente, yo incluí la ayuda de mi amigo Bo Durban. El código proporcionado en un archivo .ZIP al final de este artículo, es lo que surgió después de un par de intensas sesiones de codificación. Un agradecimiento especial a mi cliente por permitir compartirlo.

El Código
El código incluye 2 funciones principales: AppendFromExcel() y CopyToExcel(). También hay 4 funciones de ayuda: AWorkSheets(), AWorkSheetColumns(), CreateExcelTemplate(), y EmptyFieldToNull() que le puede resultar útil o interesante. El código:

No requiere de Office 2007
Pueden añadir de formatos de archivo xls, xlsx, xlsm, y xlsb
Puede crear y copiar a los formatos de archivo xls, xlsx, xlsm, y xlsb
Soporta todas las tablas de Excel (hojas de trabajo, rangos, áreas de impresión)
Permite que las columnas de la hoja de cálculo y los campos de las tablas puedan ser especificados
Permite que la cabecera de la fila en la hoja de trabajo pueda contener espacios en los nombres de las columnas, encerrandolos entre corchetes, por ejemplo [Mi Columna # 1]
Proporciona soporte para expresiones con cláusulas WHERE de SQL o cláusula FOR de VFP
Es super rápido
Probablemente hace algunas otras cosas que no estoy pensando ahora :)
De todas formas, descargue y descomprima el PRG, descomente y/o modifique el código del ejemplo de uso de la parte superior del PRG a su gusto, y diviértase!

Originalmente incluí el código en la parte inferior de este artículo, pero el código hacía locuras con el ancho de este blog, porque contiene algunas líneas muy largas con binarios. Por lo tanto, aquí está el vínculo para la descarga del archivo PRG que contiene las cosas que necesita ...

VFPExcel2007Functions.zip (19,14 KB)

Nota: Adicionalmente una reestructuración del código (refactoring) es necesaria, y definitivamente esto clama por una clase que se deba construir, pero el código funciona completamente como está.

Si tienen algún problema ejecutando el código (especialmente si aparece el diálogo de Seleccionar un origen de datos) es posible que deba comprobar el proveedor OLEDB y observar las alternativas proporcionadas en el código.
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

RE:Problemas Excel y VFP?

Publicado por Pablo (Argentina) (433 intervenciones) el 10/12/2009 13:27:08
Hola Mauricio, Excelentes tus comentarios y solucion a exte problema que se genera con el excel, me parece barbaro que quieras compartir la solucion con toda la gente del foro, esto le hace bien a todos.

Ahora como hago para conseguir el VFPExcel2007Functions.zip (19,14 KB)

porque aca en el foro no esta el Link, de donde descargar dicho archivo.

Muchas Gracias por todo y suerte!!!!!

Pablo - Argentina
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
Imágen de perfil de Mauricio

Problemas Excel y VFP?

Publicado por Mauricio (1368 intervenciones) el 10/12/2009 14:16:08
aca esta el link donde pueden bajarlo:
http://www.portalfox.com/index.php?name=News&file=article&sid=2654
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:Problemas Excel y VFP?

Publicado por alexcoinc (449 intervenciones) el 10/12/2009 22:09:50
Buenas tardes:

Bueno, ya lo baje... chevere; ahora como lo ensayo ?? y mori su funcionalidad

Gracias por sus comentarios

alexcoinc
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

Problemas Excel y VFP?

Publicado por Javier Caamal (1 intervención) el 29/05/2015 19:44:48
Estimado Mauricio quisiera bajar el archivo voy al Link proporcionado pero me dice que no existe, le agracere que me pueda ayudar. Saludos
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:Problemas Excel y VFP?

Publicado por yoan (1 intervención) el 28/07/2010 02:17:45
como bajo el VFPExcel2007Functions.zip (19,14 KB
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:impresion en VFP?

Publicado por RUBEN (2 intervenciones) el 23/09/2010 19:31:03
por favor, si alguien puede ayudarme, necesito saber cmo cambiar el area de impresion de mis reportes, en este caso del kardex, lo que pasa es que tengo que estar configurando manualmente en la impresora, y bueno quisiera que esto este sonfigurado directamente en vfp.
ademas como hago si quiero imprimir en A5, PARA EVITAR DESPERDICIO,
YA QUE EL TAMAÑO ESTA PREDETERMINADO EN CARTA
BUENO OJALA PUEDAN AYUDARME -...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:impresion en VFP?

Publicado por RUBEN (2 intervenciones) el 23/09/2010 19:45:07
por favor, si alguien puede ayudarme, necesito saber cmo cambiar el area de impresion de mis reportes, en este caso del kardex, lo que pasa es que tengo que estar configurando manualmente en la impresora, y bueno quisiera que esto este sonfigurado directamente en vfp.
ademas como hago si quiero imprimir en A5, PARA EVITAR DESPERDICIO,
YA QUE EL TAMAÑO ESTA PREDETERMINADO EN CARTA
BUENO OJALA PUEDAN AYUDARME -...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

Problemas Excel y VFP?

Publicado por Pedro Angarita (1 intervención) el 05/04/2016 02:31:06
Buenas tardes,
de antemano es bien interesante el código pero no se si se pueda para VFP 7.0, he intentado hacer cambios como por ejemplo cambiar la variable que recibe el código binario xlsx por un cursor puesto que no existe ese tipo de variable en vfp 7.0, aún así no se como cambiar el cursoradapter que tampoco existe en vfp 7.0; ahora, cuando genera el excel (xlsx) dice que no está bien formado el archivo.

Hay posibilidades de que me puedas orientar para hacerlo con VFP 7.0?

principalmente en el tema del cursoradapter.

saludos y muchas 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