DlgToExcel
Autor: Eurai Criado: 01/01/2016 Atualizado: 27/07/2021Descriçã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
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! 😎