Duvida Delphi e Excel.

15/04/2003

0

Ola mocada, td joia??

Pediria uma ajuda a vcs se puderem contribuir comigo.

Eh o segte, eu estou fazendo uma aplicacao ao qual necessito exportar dados de um arquivo *.txt com formatacao tabulada para o excel.

Ateh consegui fazer o algoritmo para exportar, pois a aplicacao abre este arquivo em um richedit e depois eh soh mandar exportar.
Mas o grande problema eh que esses arquivos *.txt que terei que exportar tem em media 11.500 linhas e seu tamanho varia entre 1.3M a 1.6M e por isso fica inviavel com o algoritmo que fiz, pq a aplicacao trava e em algumas tentativas a maquina tbem.

Para resolver este problema, eu precisaria fazer atraves do delphi, uma macro que abrisse pelo excel este arquivo *.txt, o que eh possivel e muito rapido (para tirar as duvidas basta abrir um arquivo txt pelo excel que ele te guia passo a passo), para dai entao tornar uma aplicacao funcional, mas estou encontrando problemas na codificacao de criar as macros.

Estou usando o componente da paleta servers ExcelApplication.

A linha da aplicacao ao qual estou encontrando problemas eh esta aki:

ExcelApplication.Workbooks.OpenText(´C:\Projetos\BLOCO_~1.txt´,
xlWindows, 7, xlDelimited, xlDoubleQuote, False, True, False, False, False, False, 1,2,3,4); --> nao sei se esta correto estes paramentros

// esta linha me retorna o erra de biblioteca invalida ou antiga
// outro erro que me retorna se mudar os paramentro
// eh OLE as 000888FFF e uns numero loko

Com esta linha de programa no delphi, era pro excel executar uma macro ao qual abre o arquivo especificado, bastando clickar no botao, mas os parametros devem estar errados ou alguma outra coisa ao qual eu nao sei.

Sera que alguem pode me ajudar??

Gente, qq tentativa de ajuda ou exemplo, indicacao de sites e tals, ficarei muito grato a vcs, oks!!!!!

Obrigado.


Edmar Zatarin

Edmar Zatarin

Responder

Posts

16/04/2003

Data

Tente a seguinte linha de comando.
ExcelApplication.Workbooks.OpenText(´C:\Projetos\BLOCO_~1.txt´,
xlWindows, 1, xlDelimited, xlDoubleQuote, False, False, True, False, False, False, Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1));

Nesta linha, o separador de campos é o ;

Boa sorte. Qualque coisa, meu e-mail é dta@mailcity.com


Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar