- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- uso da função DlgToExcel
×
Linguagem de Programação ADVPL
Perguntas uso da função DlgToExcel
- zebastiao
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
10 anos 7 meses atrás #22250
por zebastiao
uso da função DlgToExcel foi criado por zebastiao
Preciso implementar uma regra para exportar dados para o Excel e achei a função DlgToExcel. O que ocorre é ela não está preenchendo na planilha os valores referente a ultima coluna. Executei um exemplo da TDN da Totvs e não exporta corretamente. Alguem já passou por isso ? Abaixo código utilizado
#include "protheus.ch"
User Function FSTESTE()
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
#include "protheus.ch"
User Function FSTESTE()
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
Por favor Acessar ou Registrar para participar da conversa.
- rcaps
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 69
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- uso da função DlgToExcel
Tempo para a criação da página:0.101 segundos