Página 1 de 1

Importar arquivo Excel para DBF

Enviado: 24 Jan 2014 15:26
por Paulo_CPV
Boa tarde!

Gostaria de saber do colegas do grupo, se você sabem me dizer como faço para importar um arquivo Excel que tem 12 colunas para um DBF que tem 3 campos:

Excel: Colunas 1,2,3 seus conteúdos são os mesmos para as colunas 4,5,6 e 7,8,9 e 10,11,12 respectivamente.

Colunas:
1 2 3 4 5 6 7 8 9 10 11 12
NIT Matricula Valor NIT Matricula Valor NIT Matricula Valor NIT Matricula Valor

Minha dúvida é como gravar estas colunas nos 3 campos do DBF. Os campos que receberam as colunas são: DB_001,DB_002 e DB_003, os campos correspondem a: DB_001 = NIT , DB_002 = Matricula e DB_003 = Valor.

Quem puder me ajudar ficarei grato.

[]'
Paulo
Jacareí/SP

Importar arquivo Excel para DBF

Enviado: 24 Jan 2014 16:59
por Toledo
Paulo, você pode abrir o arquivo do excel e ir pegando o conteúdo de cada coluna e depois gravar no DBF.

Código: Selecionar todos

oExcel := TOleAuto():New( "Excel.Application" )

oExcel:WorkBooks:Open( "nomearquivo.xls" )

oSheet := oExcel:Get( "ActiveSheet" )
oSheet:Cells( 1, 1 ):Select()
nLin:=1
Do While .T.
 v_NIT1:=oSheet:Cells( nLin, 1 ):Value
 v_MAT1:=oSheet:Cells( nLin, 2 ):Value
 v_VLR1:=oSheet:Cells( nLin, 3 ):Value

 v_NIT2:=oSheet:Cells( nLin, 4 ):Value
 v_MAT2:=oSheet:Cells( nLin, 5 ):Value
 v_VLR2:=oSheet:Cells( nLin, 6 ):Value

 v_NIT3:=oSheet:Cells( nLin, 7 ):Value
 v_MAT3:=oSheet:Cells( nLin, 8 ):Value
 v_VLR3:=oSheet:Cells( nLin, 9 ):Value

 v_NIT4:=oSheet:Cells( nLin, 10 ):Value
 v_MAT4:=oSheet:Cells( nLin, 11 ):Value
 v_VLR4:=oSheet:Cells( nLin, 12 ):Value

 //Aqui você grava as variáveis acima no arquivo DBF

 nLin+=1
 //Verifica se na próxima linha tem algum valor
 If Empt(oSheet:Cells( nLin, 1 ):Value)
  Exit    //se estiver vazio, sai do Do While
 Endif
EndDo
oExcel:ActiveWorkbook:Close()
Abraços,