Home

Linha Microsiga Protheus

Páginas filhas
  • Função DlgToExel

Função DlgToExel(): Exportação para EXCEL

A funcionalidade básica de exportação de informações para o Microsoft Excel utiliza a função
DlgToExcel(), a qual permite que as informações em formatos de array sejam geradas em uma
planilha.

----------------------------------------------------------------------------------------------------------------------------------------------------------

DLGTOEXCEL()

Realiza a exportação das informações do ambiente Protheus em formato de arrays para uma planilha do Microsoft Excel.

Sintaxe: DlgToExcel(cOrigem, cTitulo, aDadosCab, aDadosItens)

Parâmetros:

cOrigem: Conteúdo fixo definido como: “GETDADOS”
cTitulo: Nome para exibição da planilha
aDadosCab: Array contendo os nomes dos campos que serão exibidos na planilha.
aDadosItens: Array contendo as informações dos campos, de acordo com a ordem do array de cabeçalho.

Não gera retorno.

OBS:Na exportação das informações para o Microsoft Excel deve-se atentar para as
colunas que possuírem informações alfanuméricas mas que contém apenas
números.

Para que estas colunas sejam exibidas corretamente deve ser
acrescentado um caracter especial no início da string de forma que o Microsoft
Excel as reconheça como texto e não como numéricas.

-----------------------------------------------------------------------------------------------------------------------------------------------------------

Exemplo da utilização da função:

 

#include "protheus.ch"

User Function GExpExcel()

Local aCabExcel :={}
Local aItensExcel :={}

// AADD(aCabExcel, {"TITULO DO CAMPO", "TIPO", NTAMANHO, NDECIMAIS})
AADD(aCabExcel, {"A1_FILIAL" ,"C", 02, 0})
AADD(aCabExcel, {"A1_COD" ,"C", 06, 0})
AADD(aCabExcel, {"A1_LOJA" ,"C", 02, 0})
AADD(aCabExcel, {"A1_NOME" ,"C", 40, 0})
AADD(aCabExcel, {"A1_MCOMPRA" ,"N", 18, 2})

MsgRun("Favor Aguardar.....", "Selecionando os Registros",;
{|| GProcItens(aCabExcel, @aItensExcel)})

MsgRun("Favor Aguardar.....", "Exportando os Registros para o Excel",;
{||DlgToExcel({{"GETDADOS",;
"POSIÇÃO DE TÍTULOS DE VENDOR NO PERÍODO",;
aCabExcel,aItensExcel}})})

Return

-------------------------------------------------------------------------------------------------------------------------------------------------------------

Static Function GProcItens(aHeader, aCols)

Local aItem
Local nX

DbSelectArea("SA1")
DbSetOrder(1)
DbGotop()

While SA1->(!EOF())

aItem := Array(Len(aHeader))

For nX := 1 to Len(aHeader)
IF aHeader[nX][2] == "C"
aItem[nX] := CHR(160)+SA1->&(aHeader[nX][1])
ELSE
aItem[nX] := SA1->&(aHeader[nX][1])
ENDIF
Next nX

AADD(aCols,aItem)
aItem := {}
SA1->(dbSkip())

End

Return

  • Sem rótulos