Ajude o site desativando o bloqueador de anúncio

ASSINE A NEWSLETTER

Cadastrando...
PIX uDesenv pix deposito

DlgToExcel

Autor: Eurai Criado: 01/01/2016 Atualizado: 27/07/2021

Descrição

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

 

Sintaxe

DlgToExcel( , , , )

 

Parâmetros


Par Nome Tipo Descrição Default Obg Ref
01
cOrigem Caracter Conteúdo fixo definido como: “GETDADOS   X  
02 cTitulo Caracter Nome para exibição da planilha   X  
03 aDadosCab Array Array contendo os nomes dos campos que serão exibidos na planilha   X  
04 aDadosItens Array Array contendo as informações dos campos, de acordo com a ordem do array de cabeçalho   .   X  

 

Retorno

Retorno Tipo Descrição

 

Exemplo

#INCLUDE "TOTVS.CH"
 
User Function DlgToExcel()
Local aCabec		:= {}
Local aItens		:= {}
 
 
aAdd(aCabec, {"A1_FILIAL" 	,"C", 02, 00} )
aAdd(aCabec, {"A1_COD" 		,"C", 06, 00} )
aAdd(aCabec, {"A1_LOJA" 	,"C", 02, 00} )
aAdd(aCabec, {"A1_NOME" 	,"C", 40, 00} )
 
MsgRun("Favor Aguardar.....", "Selecionando os Registros", {|| LoadInfo( aCabec, aItens ) } )
MsgRun("Favor Aguardar.....", "Exportando os Registros para o Excel", {|| DlgToExcel({{"GETDADOS", "Exportação", aCabec,aItens } } ) } )
 
Return( Nil )
 
Static Function LoadInfo( aCabec, aItens )
Local nX	:= 0
 
Local aItem	:= {}
 
dbSelectArea("SA1")
 
Do While SA1->( !EOF() )
 
	aItem := Array( Len(aCabec) )
 
	For nX := 1 to Len(aCabec)
 
		If aCabec[nX][2] == "C"
			aItem[nX] := Chr(160) + SA1->&(aCabec[nX,01])
		Else
			aItem[nX] := SA1->&(aCabec[nX,01])
		Endif
 
	Next nX
 
	aAdd( aItens, aItem )
 
	SA1->( dbSkip() )
EndDo
 
Return( Nil )

Resultado
dlgtoexcel_-_resultado_01  

 

 

Informações adicionais

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

 

 

 

cOrigem

CABECALHO

ENCHOICE

GETDADOS

ARRAY

GETDB

TABELA

 

 

 

 

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎