Clipper On Line • Ver Tópico - Conversão de Xls em DBF

Conversão de Xls em DBF

Discussão sobre ferramentas de apoio à programação (Clipper/[x]Harbour)

Moderador: Moderadores

 

Conversão de Xls em DBF

Mensagempor lugab » 06 Jan 2019 20:54

Bom dia, pessoal

Achei o código abaixo aqui no fórum. Ele compila normal, mas na hora de executar da o erro da foto na função SaveAs().
Alguém sabe o que fazer ? Eu uso Hb32 console
#define xlDbf3 8
*************
Function Main //  (Arq1,Arq2)
*************************
setmode(25,80)
clea
Arq1="D:\mmv3\test1.xls"           // "D:\mmv3\test1"
Arq2="D:\mmv3\TESTE9.dbf"       //"D:\mmv3\TESTE9" ** esse Arquivo sera criado em tempo de execucao
XLS2DBF( Arq1, Arq2 )
return nil

**************************************
FUNCTION XLS2DBF( cXlsName, cDbfName )
**************************************
*
* Purpose: convert an Excel spreadsheet to a dBase III+ table
*     but does not leave Excel open
*
  LOCAL oExcel := Win_OleCreateObject( "Excel.Application" )
  LOCAL oWorkBook, oSheet

  oWorkbook = oExcel:WorkBooks:Open( cXlsName )

  oSheet = oExcel:ActiveSheet

  oSheet:SaveAs( cDbfName, xlDbf3 )

  oWorkBook:Close( False )

  oExcel:Quit()
  oSheet := NIL
  oWorkBook := NIL
  oExcel := NIL

RETURN( NIL )

Feliz 2019 a todos !
Anexos
TOLEDO-EXCEL.jpg
Erro na funcao SaveAs()
lugab
lugab
Colaborador

Colaborador
 
Mensagens: 843
Data de registro: 19 Mai 2009 15:58
Curtiu: 126 vezes
Mens.Curtidas: 38 vezes

Conversão de Xls em DBF

Mensagempor fladimir » 06 Jan 2019 23:31

Troca essa linha

#define xlDbf3 8


por

#define xlDbf3 56


e testa
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Conversão de Xls em DBF

Mensagempor lugab » 06 Jan 2019 23:50

Valeu, Fladimir, executou e gerou o DBF....
Pena que o DBF gerado é corrompido, não da nem pra abrir. Pode ser a versão do DBF gerado... Tem alguma sugestão ??
F1 F2 F3 F4 F5 F6 F7 F8
Help Open Create Save Browse Utility Move Set
────────────────────────────────────────────────────────────────────────────
xDBU - O DBU 32 bits compilado com xHarbour
Error DBFNTX/1012 Corruption detected: TESTE9.DBF

Error at ...: DBUSEAREA(0) in Module:
Called from : NETUSE(109) in Module: DBUNET.PRG
Called from : DBU(427) in Module: DBU.PRG
lugab
lugab
Colaborador

Colaborador
 
Mensagens: 843
Data de registro: 19 Mai 2009 15:58
Curtiu: 126 vezes
Mens.Curtidas: 38 vezes

Conversão de Xls em DBF

Mensagempor fladimir » 07 Jan 2019 23:12

Amigo desculpe, eu acabei confundindo...
É o seguinte vou explicar

O método SaveAs q vc usou recebe 2 parametros o primeiro é o nome do arquivo a ser salvo e o segundo é o tipo de arquivo

Eu vi q vc passou uma constante q esta definida como 8 e eu consultei no meus fontes pesquisando rapido por SAVEAS e vi q lá estava 56 e falei pra vc substituir e ai q ocasionou o erro q vc teve...

Vc vai entender...

O segundo parametro como eu disse é o tipo de arquivo, 56 = Excel Versao 8 (e não DBF), ai vc tentou abrir um arquivo q supostamente pensava ser DBF mas ele foi salvo como XLS ou seja não era isso q vc queria...

Ai vou passar um link com os tipos de arquivo q teriam q ser aceitos, mas o estranho é q lá consta o q vc usou como DBF mas não funcionou contigo né... ai já não saberia dizer o pq, mas veja q no link tem CSV e tb outros tipos de arquivo como outra versão de DBF o tipo 11 por exemplo é DBF versão 4 quem sabe alguma delas resolva.

Segue link
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes




Retornar para Ferramentas de Apoio

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro