MatheusFarias Posted October 1, 2017 Report Share Posted October 1, 2017 Postei aqui, pois não consegui postar em Downloadshttps://matheusfariasdev.wordpress.com/2017/09/14/migrar-csvxls-para-dbf/ toya 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 3, 2017 Report Share Posted October 3, 2017 Matheus, como eu não tenho excel, ele me retorna essa mensagem, tem como fazer para usar o BROffice.org? CATCH oerro MsgAlert("Atenção não é possível abrir a planilha - erro Tecnico! - "+oerro:description,"Alerta") lvolta:=.t. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 3, 2017 Report Share Posted October 3, 2017 #include "Fivewin.ch" Function Main() Local oDlgPrincipal Local vcampo_destino,vcampo_origem,nprogresso REQUEST DBFCDX RDDSETDEFAULT("DBFCDX") * Store SPACE(100) to vcampo_destino,vcampo_origem nprogresso := 0 * Define Dialog oDlgPrincipal RESOURCE "DLG_XLS2DBF" Title "XLS2DBF" REDEFINE GET ocampo_origem VAR vcampo_origem ID 4001 OF oDlgPrincipal ; ACTION pegaArquivo(@vcampo_origem,ocampo_origem) REDEFINE GET ocampo_destino VAR vcampo_destino ID 4003 OF oDlgPrincipal ; ACTION pegaArquivo(@vcampo_destino,ocampo_destino) REDEFINE METER oprogresso VAR nprogresso ID 4005 OF oDlgPrincipal TOTAL 100 REDEFINE BUTTON obtnIniciar ID 4007 OF oDlgPrincipal ; ACTION converte(vcampo_destino,vcampo_origem,nprogresso,oprogresso,oDlgPrincipal) ; WHEN !Empty(vcampo_origem) .AND. !Empty(vcampo_destino) REDEFINE BUTTON obtnSair ID 4008 OF oDlgPrincipal ; ACTION oDlgPrincipal:End() Activate Dialog oDlgPrincipal centered __quit() RETURN NIL Function pegaArquivo(vcaminho,ocaminho) local xcaminho := "" xcaminho := cGetFile("*.*","Informe o arquivo") if !Empty(xcaminho) vcaminho := xcaminho ocaminho:refresh() endif RETURN NIL * Function Converte(vcampo_destino,vcampo_origem,nprogresso,oprogresso,oDlgPrincipal) * VALID EXTENSAO XLS IF UPPER(cFileExt(vcampo_origem)) # "XLS" IF UPPER(cFileExt(vcampo_origem)) # "XLSX" MsgAlert("No Arquivo de Origem não é aceito a extensão "+UPPER(cFileExt(vcampo_origem)),"Atenção") RETURN .F. ENDIF ENDIF IF UPPER(cFileExt(vcampo_destino)) # "DBF" MsgAlert("No Arquivo de Destino não é aceito a extensão "+UPPER(cFileExt(vcampo_destino)),"Atenção") RETURN .F. ENDIF hColunaCabeca := {=>} lvolta:=.f. TRY oExcel := CreateObject( "Excel.Application" ) oBook := oExcel:WorkBooks:Open( vcampo_origem,; OleDefaultArg(), ; OleDefaultArg(), ; OleDefaultArg(), ; OleDefaultArg(), ; '1111') oSheet := oExcel:Get("ActiveSheet") CATCH oerro MsgAlert("Atenção não é possível abrir a planilha - erro Tecnico! - "+oerro:description,"Alerta") lvolta:=.t. END IF lvolta RETURN .T. ENDIF oDlgPrincipal:SetText("XLS2DBF - Aguarde um momento ...") nTotalLinhas := 0 nColuna := 0 WHILE .T. nColuna++ cColuna := oSheet:Cells(1,nColuna):Value if !Empty(cColuna) HSet(hColunaCabeca,alltrim(cValToChar(cColuna)),nColuna) ELSE EXIT ENDIF SYSREFRSH() END WHILE .T. nTotalLinhas++ cCampo := oSheet:Cells(nTotalLinhas,1):Value if Empty(cCampo) nTotalLinhas-- EXIT ENDIF SYSREFRESH() END oprogresso:SetTotal(nTotalLinhas) oprogresso:refresh() DbUseArea(.T.,"DBFCDX",VCAMPO_DESTINO,"ARQ",.F.,.F.,NIL,NIL) IF NetErr() MsgAlert("Atenção o arquivo não pode está em uso !","Alerta") CLOSE DATA RETURN .T. ENDIF aEstrutura:= DbStruct() For nLinha:=2 to nTotalLinhas select arq append blank For nColunaDBF := 1 to len(aEstrutura) cColuna := aEstrutura[nColunaDBF][1] cTipo := aEstrutura[nColunaDBF][2] nColunaEXCEL:=0 TRY nColunaEXCEL:=hColunaCabeca[cColuna] CATCH END IF nColunaEXCEL > 0 cValor := oSheet:Cells(nLinha,nColunaEXCEL):Value IF cTipo == "C" replace &cColuna WITH ALLTRIM(cValToChar(cValor)) ENDIF IF cTipo == "N" replace &cColuna WITH VAL(cValToChar(cValor)) ENDIF IF cTipo == "L" replace &cColuna WITH IIF(cValToChar(cValor) == '1',.T.,.F.) ENDIF ENDIF oprogresso:set(nLinha) oprogresso:refresh() SysRefresh() next next TRY oExcel:Quit() catch end Release oExcel close data RETURN NIL // FIM Quote Link to comment Share on other sites More sharing options...
MatheusFarias Posted October 3, 2017 Author Report Share Posted October 3, 2017 Tem sim, manda o link da sua versao do broffice para que eu faça aqui no meu pc Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 4, 2017 Report Share Posted October 4, 2017 Na mão: https://www.4shared.com/rar/pe-VmPA6ei/BROFFICE.html Quote Link to comment Share on other sites More sharing options...
HERGON Posted October 4, 2017 Report Share Posted October 4, 2017 Bom dia Tentei rodar o exemplo mas deu o erro abaixo: Error: Unresolved external '_hb_partdt' referenced from H:\FWH1608\LIB\FIVEHX.LIB|VALTOSTR Esse exemplo é para xHarbour ou Harbour? Se for para Harbour como passo para funcionar com xHarbour? Herberson Gontijo Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted October 5, 2017 Report Share Posted October 5, 2017 Postei aqui, pois não consegui postar em Downloadshttps://matheusfariasdev.wordpress.com/2017/09/14/migrar-csvxls-para-dbf/ Voltoucom td em amigo!! Ainda não vi o seu vídeo, até o fim de semana vejo e te retorno. []s, Quote Link to comment Share on other sites More sharing options...
MatheusFarias Posted October 5, 2017 Author Report Share Posted October 5, 2017 Bom dia Tentei rodar o exemplo mas deu o erro abaixo: Error: Unresolved external '_hb_partdt' referenced from H:\FWH1608\LIB\FIVEHX.LIB|VALTOSTR Esse exemplo é para xHarbour ou Harbour? Se for para Harbour como passo para funcionar com xHarbour? Herberson Gontijo O exemplo é em xHarbour sim, foi compilada com xHarbour 1.2.3 Intl. (SimpLex) (Build 20150603) Copyright 1999-2015, http://www.xharbour.org http://www.harbour-project.org/ As libs que tem nos meus projetos são essas echo FiveHx.lib FiveHC.lib + >> "b32.bc" echo rtl.lib + >> "b32.bc" echo vm.lib + >> "b32.bc" echo gtgui.lib + >> "b32.bc" echo lang.lib + >> "b32.bc" echo macro.lib + >> "b32.bc" echo rdd.lib + >> "b32.bc" echo codepage.lib + >> "b32.bc" echo dbfntx.lib + >> "b32.bc" echo dbfcdx.lib + >> "b32.bc" echo dbffpt.lib + >> "b32.bc" echo hbsix.lib + >> "b32.bc" echo common.lib + >> "b32.bc" echo pp.lib + >> "b32.bc" echo ct.lib + >> "b32.bc" echo lang.lib + >> "b32.bc" echo pcrepos.lib + >> "b32.bc" echo png.lib + >> "b32.bc" echo tip.lib + >> "b32.bc" echo zlib.lib + >> "b32.bc" echo hbzip.lib + >> "b32.bc" echo cw32.lib + >> "b32.bc" echo import32.lib + >> "b32.bc" echo nddeapi.lib + >> "b32.bc" echo iphlpapi.lib + >> "b32.bc" echo rasapi32.lib + >> "b32.bc" echo shell32.lib + >> "b32.bc" Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.