Page 1 of 1
Importar de excel a DBF
Posted: Thu Oct 14, 2010 6:24 pm
by ACC69
Hola buenas tardes,tengo la clase FILEXLS,y necesitaria importar a mi archivo base de datos de Excel,alguien tendrá alguna rutina o que lo haya hecho o un ejemplo, que me pueda darme la idea de importar desde mi sistema el archivo excel ?
Es con el fin de no capturar dos veces,el usuario captura datos en excel, y yo desde mi sistema necesitaria importar desde excel, todo lo capturado por el usuario y asi en mi sistema, una vez importado los datos de excel,el usuario pueda agregarle mas datos, calculos, etc etc .
Espero haberme explicado y que puedan ayudarme al respecto antes mencionado.
Gracias y se los agradeceré mucho a todos los colegas.
Atte: Adrian C. C.
acc69@hotmail.com
Re: Importar de excel a DBF
Posted: Thu Oct 14, 2010 6:53 pm
by horacio
Podrias utilizar texcelscrip. funciona de maravillas. saludos
Re: Importar de excel a DBF
Posted: Thu Oct 14, 2010 7:46 pm
by ACC69
horacio wrote:Podrias utilizar texcelscrip. funciona de maravillas. saludos
Buenas tardes Horacio, algun ejemplo que me pueda proporcionar y donde consigo la clase que recomienda o alguien que me pueda proporcionar la clase, o colegas, que puedan aportar sus experiencias en importar a su dbf, desde excel
Gracias y saludos
Re: Importar de excel a DBF
Posted: Thu Oct 14, 2010 7:53 pm
by acuellar
Adrian, aqui un ejemplio sin Clase
Code: Select all | Expand
Function ExcelToDBF()
LOCAL oExcel, oHoja, nRows, nCols,nRow, nCol
LOCAL aDBF := {"EMPLEADOS" }
LOCAL aHOJAS:= { "Hoja1" }
PRIVATE cDbf
oExcel:= TOleAuto():New( "Excel.Application" )
*oExcel:WorkBooks:Open(cGetFile("C:\*.XLS", "Seleccione Fichero"))
oExcel:WorkBooks:Open("C:\PLANILLA.XLS")
If empty( oExcel )
Retur nil
Endif
cDbf:= aDbf[i] + ".DBF"
USE (cDbf) ALIAS Base EXCLUSIVE
DBZAP()
oExcel:Sheets(aHojas[I]):Select()
oHoja=oExcel:ActiveSheet
nRows := oHoja:UsedRange:Rows:Count()
nCols := oHoja:UsedRange:Columns:Count()
oDbfNam:SetText( "Convirtiendo " + aDbf[i] )
For nRow := 2 TO nRows
APPEND BLANK
FOR nCol := 1 TO nCols
xValue := oHoja:Cells(nRow,nCol):Value
FieldPut(nCol,xValue)
SysRefresh()
Next
Memory(-1)
Next I
oExcel:Quit()
Base->( dBCloseArea() )
Retu Nil
Saludos,
Adhemar
Re: Importar de excel a DBF
Posted: Fri Oct 15, 2010 2:28 pm
by ACC69
acuellar wrote:Adrian, aqui un ejemplio sin Clase
Code: Select all | Expand
Function ExcelToDBF()
LOCAL oExcel, oHoja, nRows, nCols,nRow, nCol
LOCAL aDBF := {"EMPLEADOS" }
LOCAL aHOJAS:= { "Hoja1" }
PRIVATE cDbf
oExcel:= TOleAuto():New( "Excel.Application" )
*oExcel:WorkBooks:Open(cGetFile("C:\*.XLS", "Seleccione Fichero"))
oExcel:WorkBooks:Open("C:\PLANILLA.XLS")
If empty( oExcel )
Retur nil
Endif
cDbf:= aDbf[i] + ".DBF"
USE (cDbf) ALIAS Base EXCLUSIVE
DBZAP()
oExcel:Sheets(aHojas[I]):Select()
oHoja=oExcel:ActiveSheet
nRows := oHoja:UsedRange:Rows:Count()
nCols := oHoja:UsedRange:Columns:Count()
oDbfNam:SetText( "Convirtiendo " + aDbf[i] )
For nRow := 2 TO nRows
APPEND BLANK
FOR nCol := 1 TO nCols
xValue := oHoja:Cells(nRow,nCol):Value
FieldPut(nCol,xValue)
SysRefresh()
Next
Memory(-1)
Next I
oExcel:Quit()
Base->( dBCloseArea() )
Retu Nil
Saludos,
Adhemar
Hola buenos dias como esta , gracias por el ejemplo Adhemar, probare y le confirmo que tal va, otro detalle, Adhemar se podria importar unicamente los datos que yo necesito ? no necesito importar todo el contenido de excel a mi dbf ,solo lo indispensable, y algun ejemplo, para poder iniciarme y adaptarlo a mis necesidades,gracias y le agradezco su ejemplo.
Saludos y buen dia
Adrian C. C.
Re: Importar de excel a DBF
Posted: Fri Oct 15, 2010 3:40 pm
by acuellar
Adrian
Tenes que saber que columnas queres.
Code: Select all | Expand
xValue := oHoja:Cells(nRow,nCol):Value //nCol te indica la columna que queres.1
FieldPut(nCol,xValue)
//Podes hacer asi:
xValue := oHoja:Cells(nRow,2):Value ; FieldPut(2,xValue)
xValue := oHoja:Cells(nRow,5):Value ; FieldPut(5,xValue)
Saludos,
Adhemar