Vou iniciar um post sobre como fazer uma integração Advpl e Excel, onde iremos exportar uma planilha com dados de clientes de forma simples.
Bom, antes de começar, vamos definir quais campos queremos que apareça em nossa planilha.
Vou definir os seguintes campos:
Código Cliente, Nome, Endereço, Bairro, Cidade e Estado.
Primeiro, vamos implementar a função principal denominada expExcel (esse foi o nome que eu escolhi, você pode optar por qualquer outro nome de sua preferência).
#include "protheus.ch" #include "rwmake.ch" //_________________________________________________________________________________ //¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ //¦¦+---------------------------------------------------------------------------+¦¦ //¦¦¦Programa ¦ EXPEXCEL ¦ Autor ¦ Renan Ramos ¦ Data ¦ 21.01.16 ¦¦¦ //¦¦¦----------+----------------------------------------------------------------¦¦¦ //¦¦¦Descriçäo ¦ Programa que exporta clientes para planilha do excel. ¦¦¦ //¦¦+---------------------------------------------------------------------------+¦¦ //¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ user function expExcel private oReport //exibe um diálogo onde a execução de um processo pode ser monitorada através da régua de progressão. processa({|| oReport := ReportDef(), oReport:PrintDialog()},"Imprmindo dados...") return
Bom, nesta função, além de executar o método processa(<função>,<mensagem>) , também declaramos o objeto oReport que será utilizado para configurarmos os métodos e atributos do relatório.
Bloco de código: esta facilidade é amplamente utilizada no universo ADVPL. Bloco de código não é nada diferente que o seu próprio nome diz, um bloco de código. Para melhor entendimento, vejamos nosso caso:
{|| oReport := ReportDef(), oReport:PrintDialog()}
Bloco de código são códigos diferentes separados por "," (vírgula) e são executados sequencialmente, ou seja, no nosso bloco de código, primeiro será executada o método reportDef() e posteriormente o método do objeto oReport, printDialog().
PrintDialog é a função responsável por abrir a tela de configuração de impressão do sistema.
Veja mais sobre Bloco de código neste post.
PrintDialog é a função responsável por abrir a tela de configuração de impressão do sistema.
Veja mais sobre Bloco de código neste post.
Então, esta função principal (expExcel()) irá executar o método processa() que por sua vez executará o bloco de código definido em seu primeiro parâmetro.
No próximo post vou passar o método reportDef() e prosseguir com a explicação de cada elemento do relatório.
Até mais!
Nenhum comentário:
Postar um comentário