Como disse o colega GVC, pode ser gerado arquivo texto, e ainda chamar a planilha dreto no Excel. Desta forma o proprio Excel, se encarrega de interpretar o arquivo. O arquivo deverá ser gerado com extensão .CSV e cada coluna/campo deverá ser separada através de "
," (vírgula).
Hehe... essa questão da vírgula me faz lembrar quando cheguei ao Brasil e comecei numa escola brasileira por primeira vez e ainda na primeira aula que tive, foi diretamente a aula de português.... meu !! que difícil que é o nosso português... lembro que nesse dia a professoa disse:
- Pablo, vem cá nessa primeira cadeira da frente, para você será melhor e para mim poderei te acompanhar de perto. (não porque eu tenha sido capeta na classe... hehe).
Então ela começou um DITADO. E me disse que eu escrevesse do jeito que eu entendia... (imagine só !) O ditado começava assim:
Joãozinho, (vírgula)
Daí eu escreví: YOACIÑO VIRGULA (quando eu escriví a palavra VÍRGULA) ela deu um grito, e disse: Pablo, não é para você escrever á palavra vírgula (e ela mostrou gráficamente no quadro o que representava aquela tal de VÍRGULA), a turma toda da sala riu pacarambas.... hehehe desculpem pessoal, fugir um pouco do tema... é que as vezes vem boas lembranças...
voltando... ao tema:
Depois é só chamar o Excel (com o path completo), claro que para isto tem que ser guardado o caminho onde o Excell estiver instalado (geralmente é default o caminho). Ahhh lembrando que pode ser colocado na 1ª linha o cabeçalho de cada coluna. Geralmente começo gerar o arquivo com "
??" para não deixar nenhuma linha em branco no começo do arquivo. Outra coisa que é relevante, é "traduzir" os caracteres que estão no BD (banco de dados) que foram gravados no padrão DOS e precisam ser convertidos no padrão WINDOWS. Pra isso utilizo a minha função que está disponível em
Clique aqui pra ver esta função a incorporo na hora de gerar, por exemplo:
SET ALTERNATE TO (VPAT_DOC+"\COPIAS.CSV")
SET ALTERNATE ON
?? "Nº COPIAS,TITULO,CATEGORIA,GENERO"
DO WHILE QFAZ="COP" .AND. (1->(!EOF()))
VQC:=CONTA_COP(COD_TIT,VQFAZ)
IF VQC>=VNCOP .AND. VCPODE1(VQFAZ,(1->COD_TIT))=.T.
VPRO:=WINCAR(ALLTRIM(QPROM1(1->PROMOCAO)))
VGEN:=WINCAR(ALLTRIM(QGEN1(1->GENERO)))
VTIT:=WINCAR(ALLTRIM(1->TITULO))
? STR(VQC,2,0)+","+VTIT+","+VPRO+","+VGEN
ENDIF
SKIP
ENDDO
SET ALTERNATE OFF
SET ALTERNATE TO
ALERT("Arquivo "+CHR(34)+"COPIAS.CSV"+CHR(34)+" gerado com sucesso na pasta:;;"+VPAT_DOC)
Caso que não seja aberto em Excel na hora, eu aviso ao usuário que está disponível no VPAT que é a variavel onde irá gravar que geralmente é em "Meus documentos". Esses caminhos poderão serem obtidos previamente atarvés da função GETSYSTEMINFO do WAPI do colega Maligno.
Bem tudo depende da vontade de fazer as coisas. Mas eu não vejo problemas sobre isso.
Um clip-abraço :)Pos