FoxPro/Visual FoxPro - tabla dbf a excel

 
Vista:

tabla dbf a excel

Publicado por jorge leon (258 intervenciones) el 11/01/2011 20:35:09
Hola amigos de LWP.. mi pregunta es la siguiente, tengo un archivo DBF creado en VisualFoxpro 9 y quiero exportarla a excel 2003 y excel 2007, pero lo mas importante es que quiero que los campos de regitro dbf queden en celdas especificas dentro de una hoja de excel ya diseñada???????? ejemplo el campo de NOMBRE del registro del archivo DBF se copie en la celda A15 de la hoja1 en mi archivo de excel..... el campo DIRECION en la celda C15... el campo COLONIA en la celda E15 y asi sucesivamente......... las celdas en el archivo de excel ya tiene su formato............ de antemano muchas gracias por sus respuestas o donde puedo conseguir informacion para realizar esto................
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:tabla dbf a excel

Publicado por saul (728 intervenciones) el 12/01/2011 19:08:39
Te doy un ejemplo como yo lo hago, no se si eso es lo que necesitas..

Saludos

Saul

PRIVATE lcTextFile
lcTextFile = ''
xD = SYS(5)

lcTextFile = xd+"\Aperson\Enlaces\Sistemas\Excel\Informe_Financiero.xls"

crutinaerroractual = ON("Error")
lhuboerror = .F.
ON ERROR LHUBOERROR = .T.
oexcel = CREATEOBJECT("Excel.Application")
ON Error &cRutinaErrorActual
IF lhuboerror
nresp = MESSAGEBOX( ;
"¿Desea generar una lista sin formato?", ;
35, ;
"Excel NO esta instalado en esta computadora." ;
)
IF nresp = 6
generacsv()
ENDIF
ELSE
generahojaelectronica()
ENDIF
RETURN
ENDPROC

**Genera un Hoja
PROCEDURE GeneraCSV

carchivo = GETFILE("Hoja excel:XLS", "Libro de compras.", "Grabar", 0)

IF EMPTY(carchivo)
= MESSAGEBOX("Debe seleccionar un nombre de archivo.", 64, "Error")
ELSE
COPY TO (carchivo) TYPE XLS
= MESSAGEBOX("El archivo fue grabado satisfactoriamente", 0, "")
ENDIF
ENDPROC

**
PROCEDURE GeneraHojaElectronica
WAIT WINDOW NOCLEAR NOWAIT "Generando Libro Excel, Espere un momento por favor."
*oexcel.workbooks.add()
oexcel.workbooks.Open(lcTextFile,,.t.)

**DATOS PARA LA HOJA NUMERO 1 ACUERDO
WITH oexcel.worksheets(1)
WAIT WINDOW NOCLEAR NOWAIT "Generando Hoja No. 2 Acuerdo, Un momento por favor."

**Barre toda la Tabla
SELECT _CurTotActivos
GOTO TOP
j = 8 &&Linea Inicial
SCAN ALL
cj = ALLTRIM(STR(j, 10, 0))

.range("B" + cj).value = codigo_bc
.range("C" + cj).value = Nombre_bc
.range("D" + cj).value = Nombre_com
.range("E" + cj).value = Integrantes
.range("F" + cj).value = Ciclo_dci
.range("G" + cj).value = Fechaini_dci
.range("H" + cj).value = FechaFin_dci
.range("I" + cj).value = Cartera_ceside
.range("J" + cj).value = Cartera_Banco

*-Calculos
.range("L" + cj).value = "=REDONDEAR(K" + cj + "/I" + cj + ",2)"
.range("M" + cj).value = "=REDONDEAR(J" + cj + "/K" + cj + ",2)"
.range("N" + cj).value = "=K" + cj + "-J" + cj
.range("P" + cj).value = "=O" + cj + "-N" + cj
.range("Q" + cj).value = "=REDONDEAR(I" + cj + "* 0.25" + ",2)"
.range("R" + cj).value = "=REDONDEAR((I" + cj + "* 0.25) * 0.67" + ",2)"


j = j + 2

SELECT _CurTotActivos
ENDSCAN

ENDWITH
******************FINAL ACUERDO********************

oexcel.visible = .T.
RELEASE oexcel
WAIT CLEAR
= MESSAGEBOX("La hoja fue generada satisfactoriamente.", 0, "")
ENDPROC
**
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:tabla dbf a excel

Publicado por jorge leon (258 intervenciones) el 15/01/2011 20:47:02
Gracias amigo Saul, voy a tratar de entender el codigo... ya que no se mucho de VBA, pero para iniciar, dentro de este codigo donde le pongo el nombre del archivo dbf el cual contiene la información
de antemano muchas gracias su amigo Jorge..........
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