Exportar os dados contidos em uma variável ARRAY OF RECORD para uma planilha excel no formato XML, no mesmo formato de planilhas exportadas a partir dos GRIDs metadado.
RESTRIÇÃO DE USO
O uso desta função está restrito para uso em processos no modo gráfico até o pacote 12.1.2411, ou seja, não pode ser utilizada em modo JOB ou TELNET devido a uso de funções de cálculo de tamanho de fontes disponíveis apenas no modo gráfico.
A partir do pacote 12.1.2503 a função pode ser utilizada também para processos JOB ou TELNET.
Sintaxe
_ADVPL_ExportArrayToExcelXML( < u4GLRec >, < cXMLFilePath >, < cTitle >, < cColumns >, < nRowsCount > )
Parâmetros
Nome | Tipo | Obrigatório? | Descrição |
|---|---|---|---|
u4GLRec |
| Sim | Variável 4GL do tipo ARRAY OF RECORD que contém os dados a serem exportados. |
cXMLFilePath |
| Não | Caminho completo do arquivo a ser gravado no servidor. Se for enviado nome de arquivo sem extensão, irá assumir extensão ".xml".
|
cTitle |
| Não | Texto a ser incluído como título no conteúdo dos dados exportados no excel. Este texto será o título na primeira linha da planilha.
|
cColumns |
| Não | Lista com o nome dos elementos do array de record 4GL que deverão ser exportados.
nomecoluna1^label coluna1|nomecoluna2^label coluna2
nomecoluna1^label coluna1^largura coluna1 (em pixels)|nomecoluna2^label coluna2^^largura coluna2 (em pixels)
nomecoluna1|nomecoluna2
NULL |
nRowsCount |
| Não | Número de linhas a serem exportadas do array, considerando sempre a linha inicial como 1.
|
Retorno
Nome | Tipo | Descrição |
|---|---|---|
cXMLFilePath |
| Caminho completo do arquivo com formato XML gerado no servidor. Caso tenha ocorrido qualquer tipo de erro durante a geração do arquivo ou extração dos dados do array, o retorno desta função será NULL. |
Exemplo
DEFINE ma_dados ARRAY[3] OF RECORD
codigo SMALLINT,
texto CHAR(10)
END RECORD
#-------------------------------------------#
FUNCTION ExportArrayToExcelXML_test()
#-------------------------------------------#
DEFINE l_xmlFile CHAR(300)
LET ma_dados[1].codigo = 49
LET ma_dados[1].texto = 'linha 01'
LET ma_dados[2].codigo = 27
LET ma_dados[2].texto = 'linha 03'
LET ma_dados[3].codigo = 5
LET ma_dados[3].texto = 'linha 02'
#Exportar toda grid para um arquivo XML automatico no appserver
LET l_xmlFile = _ADVPL_ExportArrayToExcelXML(ma_dados)
CALL conout("PLANILHA 1 GERADA NO ARQUIVO "||l_xmlFile CLIPPED)
#Exportar todos dados até a linha 2 da grid para um arquivo XML automatico no appserver e registrar o Titulo como "Exportação parcial até a linha 2"
LET l_xmlFile = _ADVPL_ExportArrayToExcelXML(ma_dados,NULL,"Exportação parcial até a linha 2",NULL,2)
CALL conout("PLANILHA 2 GERADA NO ARQUIVO "||l_xmlFile CLIPPED)
#Exportar apenas o valor da coluna 1 com label "Primera Coluna" para todas linhas da grid para um arquivo XML de nome automático no appserver.
LET l_xmlFile = _ADVPL_ExportArrayToExcelXML(ma_dados,NULL,NULL,"codigo^Primeira Coluna")
CALL conout("PLANILHA 3 GERADA NO ARQUIVO "||l_xmlFile CLIPPED)
END FUNCTION
Informações
Fontes: array.prw
Observações
Disponível a partir do pacote Logix 12.1.2311.