tag:blogger.com,1999:blog-8847231238348131912.post2119986856343288565..comments2024-03-18T09:05:30.791-03:00Comments on Comunidad de Visual FoxPro en Español: Exportar Cursor VFP a EXCELLuis Mariahttp://www.blogger.com/profile/01349796512778225709noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-8847231238348131912.post-64009408011232824312023-03-01T13:57:30.380-03:002023-03-01T13:57:30.380-03:00Efectivamente el código es muy rápido, aunque en l...Efectivamente el código es muy rápido, aunque en la hoja Excel resultante los campos numéricos son pasados como texto, no como números, por lo que no permiten operar con ellos. Pienso que la rapidez es debida a que los datos no se traspasan celda a celda, sino que se crea un archivo de texto (txt) para ser traspasado, este archivo luego es borrado. El inconveniente está en que los datos numéricos los traspasa también como texto.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-10317785491315003492023-02-28T18:29:54.810-03:002023-02-28T18:29:54.810-03:00Efectivamente el traspaso se hace muy rápido. Pero...Efectivamente el traspaso se hace muy rápido. Pero, tanto con este código como con el anterior, lo datos numéricos son traspasados como tipo texto, por lo que no se puede operar con ellos. En realidad creo que que es tan rápido porque los datos no se transfieren celda a celda, sino un fichero texto (.txt) que luego es borrado, pero en ese traspaso lo datos los de tipo numérico se pasan como texto. Esto impide cualquier operación numérica con ellos. Es una lástima porque es muy rápido. A ver si puedes averiguar dónde está la solución.Antonionoreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-78418522781157020322023-02-28T16:10:28.849-03:002023-02-28T16:10:28.849-03:00En la hoja resultante los campos numéricos dan err...En la hoja resultante los campos numéricos dan errores de !VALOR al intentar operar con ellos.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-52364451416243591412021-04-23T10:50:16.864-03:002021-04-23T10:50:16.864-03:00Estimado!, excelente el código! Muchas gracias!
T...Estimado!, excelente el código! Muchas gracias!<br /><br />Tengo una consulta, como puedo hacer para que en la exportación, las celdas que en el cursor son TEXTO (ej: "004433") me respete el formato de origen?, porque en la salida me las toma como "4433".<br /><br />MUCHAS GRACIAS!EldoRembohttps://www.blogger.com/profile/12734933150940777315noreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-92210052927023260592019-05-27T14:50:25.908-03:002019-05-27T14:50:25.908-03:00Checa que sera 32 bits, con 64 bits no funciona.Checa que sera 32 bits, con 64 bits no funciona.CésarPechhttps://www.blogger.com/profile/13159257404751791619noreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-28346056503252682122019-05-27T14:08:38.439-03:002019-05-27T14:08:38.439-03:00Buenas tardes.
tengo el siguiente codigo para env...Buenas tardes.<br /><br />tengo el siguiente codigo para enviar mis registros de una tabla .dbf a excel:<br />*!* GENERACION A MICROSOFT EXCEL<br /> **--------------------------------------------**<br /> LError = ON('error')<br /> ON ERROR xlapp = NULL<br /> xlapp = GETOBJECT('Excel Application')<br /> ON ERROR &LError<br /> IF ISNULL(xlapp)<br /> xlapp = CREATEOBJECT('Excel.Application')<br /> ENDIF<br /> WITH xlapp<br /> .VISIBLE = 'True'<br /> .DisplayAlerts = 'False'<br /> .Workbooks.ADD()<br /> ENDWITH<br /> <br /> xlsheet = xlapp.ActiveSheet<br /> WITH xlsheet<br /> .COLUMNS("A:A").ColumnWidth = 15.00<br /> .COLUMNS("B:B").ColumnWidth = 18.00<br /> .COLUMNS("C:C").ColumnWidth = 18.00<br /> .COLUMNS("D:D").ColumnWidth = 18.00<br /> .COLUMNS("E:E").ColumnWidth = 18.00<br /> .COLUMNS("F:F").ColumnWidth = 37.00<br /> .COLUMNS("G:G").ColumnWidth = 12.00<br /> .COLUMNS("H:H").ColumnWidth = 15.00<br /> .COLUMNS("I:I").ColumnWidth = 22.00<br /> ENDWITH<br /><br />Estoy utilizando Excel 2013. pero en una PC que tiene Office 365 me marca el siguiente error:<br /><br />Class definition EXCEL.APPLICATION is not found.<br /><br />Alguien sabe cómo usar este tipo de exportacion pero con office 365 ???<br /><br />Gracias!Anonymoushttps://www.blogger.com/profile/11239955980592443305noreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-50222052295440531412018-08-10T15:24:06.250-03:002018-08-10T15:24:06.250-03:00Yo lo solucioné haciendo un ajuste en la sección d...Yo lo solucioné haciendo un ajuste en la sección de titulo de columnas:<br /><br /> **********************************<br /> *** Coloca títulos de Columnas ***<br /> **********************************<br /> nAsc = ASC('A')<br /> nAsc2 = nAsc<br /> cColBase = ''<br /> FOR i = 1 TO lnCuantos<br /> lcName = aCampos(i,1)<br /> lcCampo = ALLTRIM(cCursor) + '.' + aCampos(i,1)<br /> XLSheet.Cells(lnRowTit,i).VALUE=lcname<br /> XLSheet.Cells(lnRowTit,i).FONT.bold = .T.<br /> XLSheet.Cells(lnRowTit,i).Interior.ColorIndex = 15<br /> XLSheet.Cells(lnRowTit,i).Interior.PATTERN = 1<br /> XLSheet.RANGE(XLSheet.Cells(lnRowTit,i),XLSheet.Cells(lnRowTit,i)).BorderAround(7)<br /><br /> cCol = cColBase + CHR(nAsc)<br /> DO case<br /> CASE aCampos(i,2) = 'C'<br /> oExcel.Columns(cCol+':'+cCol).Select<br /> oExcel.Selection.NumberFormat = "@"<br /> CASE aCampos(i,2) = 'D'<br /> oExcel.Columns(cCol+':'+cCol).Select<br /> oExcel.Selection.NumberFormat = "dd/mmm/yy"<br /> CASE aCampos(i,2) = 'N' AND aCampos(i,4) = 2<br /> oExcel.Columns(cCol+':'+cCol).Select<br /> oExcel.Selection.NumberFormat = "#,##0.00"<br /> *CASE aCampos(nI,2) = 'N'<br /> *oExcel.Columns(cCol+':'+cCol).Select<br /> * oExcel.Selection.NumberFormat = "#,##0" <br /> ENDCASE <br />* oExcel.Cells(1,nI).Font.Bold = .t.<br />* oExcel.Cells(1,nI).FormulaR1C1 = aCampos(nI,1)<br /><br /><br /> nAsc = nAsc + 1<br /> IF CHR(nAsc - 1) = 'Z'<br /> cColBase = CHR(nAsc2)<br /> nAsc = ASC('A')<br /> nAsc2 = nAsc2 + 1<br /> ENDIF <br /> <br /> NEXT<br /><br /> XLSheet.RANGE(XLSheet.Cells(lnRowTit,1),XLSheet.Cells(lnRowTit,lnCuantos)).HorizontalAlignment = 3<br />CésarPechhttps://www.blogger.com/profile/13159257404751791619noreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-75671042099572583222018-05-14T21:57:46.277-03:002018-05-14T21:57:46.277-03:00hola me tope con esto ... lo pudiste resolver ???hola me tope con esto ... lo pudiste resolver ???joseluissilvahttps://www.blogger.com/profile/08930748595682731454noreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-29179094631888494542017-09-26T18:33:52.540-03:002017-09-26T18:33:52.540-03:00no funcionó el codeno funcionó el codeAnonymoushttps://www.blogger.com/profile/16928554954312538050noreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-5960582679178945862017-09-22T13:34:04.591-03:002017-09-22T13:34:04.591-03:00 Buenos días,estuve observando el código y es perf... Buenos días,estuve observando el código y es perfecto para lo que necesito pero me he dado cuenta que el formato numérico me sale con mas ceros de los que realmente trae el número, por ejemplo en el cursor<br />viene 330,500.00 y en el excel este se transforma en 3.305.000.000 me podrías colaborar dándome un guía de como solucionar esto, te lo agradecería mucho, gracias<br />Bucarohttps://www.blogger.com/profile/04629517590989032422noreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-55606099205234065372017-09-15T12:10:52.770-03:002017-09-15T12:10:52.770-03:00Muchas Gracias es genial!!
Solo que por cosas de ...Muchas Gracias es genial!! <br />Solo que por cosas de la vida un cursor me dio 91.601 registros y al dividir entre 65.000 solo creo una hoja, pero lo solucione reemplazando esta linea...:<br /> *************************************************<br /> *** Verifica la cantidad de hojas necesarias ***<br /> *** en el libro para la cantidad de datos ***<br /> *************************************************<br /> lnHojas = ROUND(RECCOUNT(cCursor)/65000,0)<br /><br /><br /><br />*!*.....POR ESTAS ;<br /> *************************************************<br /> *** Verifica la cantidad de hojas necesarias ***<br /> *** en el libro para la cantidad de datos ***<br /> *************************************************<br /> lnHojas = (RECCOUNT(cCursor)/65000)<br /> nDecimal = lnHojas - INT(lnHojas) <br /> IF nDecimal > 0.0<br /> lnHojas = INT(lnHojas + 1)<br /> ENDIF Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-43740358634284358272017-05-20T19:47:03.246-03:002017-05-20T19:47:03.246-03:00Gracias por el aporte pero no sé cómo utilizarlo.
...Gracias por el aporte pero no sé cómo utilizarlo.<br />Copié el código fuente en un archivo .prg lo llamo con DO NombreProgama|NombreProcedimiento [IN NombrePrograma WITH ListaParametro pero no creó el archivo de exportación a MSO Excel es un error o hay un truco.<br />Me gustaría saber cómo exportar directamente los Reportes (REPORT FORM ("Reports\NombreArchivo") TO PRINTER PROMPT SUMMARY<br />o REPORT FORM ("Reports\NombreArchivo") PREVIEW<br />) creados en VFP9 a cualquier formatos ("HTML, XML, SHTML, XHTML, DHTML, XSD, XSLT, PDF, XLSX, DOCX" etc.) funcional y explicado de cómo usarlo detalladamente pero sin tantas palabras de adornos (directo, preciso, conciso, locuaz, etc.). Gracias.AnToR999https://www.blogger.com/profile/15457878093437525330noreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-81380084815449592142016-05-18T09:32:20.567-03:002016-05-18T09:32:20.567-03:00He utilizado esta rutina, pero si tengo datos con ...He utilizado esta rutina, pero si tengo datos con la letra 'Ñ' solo sale un simbolo en su reemplazo. ¿como hago para evitar esto?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-8847231238348131912.post-71207965933893329142016-05-09T14:34:38.487-03:002016-05-09T14:34:38.487-03:00Buen dìa
Oscar Calderón Fuentes
Muy buen trabaja ...Buen dìa<br />Oscar Calderón Fuentes<br /><br />Muy buen trabaja muy limpio y fácil de entender y de utilizar Felicidades.<br /><br />Me preguntaba si te interesa apoyarme algunos proyectos de programación en VFP ? Tu me informas por medio Skype se me facilita, No podríamos de acuerdo lo que necesito y tu me indicas tiempo y costos ?<br /><br />Saludos Cordiales.<br />Raúl Orea Tirado.<br /><br />Nota: Para utilizar este código que costo tiene o donación a donde lo podría hacer para continua esta aportando a esta comunidad.<br />me contactas raul.orea.t@gmail.com o siconeterp@gmail.com Soporte SICONEThttps://www.blogger.com/profile/16584838471055525289noreply@blogger.com