Páginas filhas
  • _ADVPL_ExportArrayToExcelXML

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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.

Informações
iconfalse
(informação) A extensão do arquivo de saída será .XML no formato Open XML Document e pode ser aberto para visualização com ferramenta Excel ou outra ferramenta de

...

edição/visualização de planilhas neste formato XML.
Aviso
titleRESTRIÇÃ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

...

Bloco de código
_ADVPL_ExportArrayToExcelXML( < u4GLRec >, < cXMLFilePath >, < cTitle >, < cColumns >, < nRowsCount > )

Parâmetros

...

Nome

Tipo

Obrigatório?

Descrição

u4GLRec

ARRAY OF RECORD

Sim

Variável 4GL do tipo

 

ARRAY OF RECORD que contém os dados a serem exportados.

cXMLFilePath

CHAR

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".

(aviso)  Se não for enviado um caminho de diretório, o valor do parâmetro deverá ser NULL. Neste caso a função irá considerar automaticamente a pasta de destino como uma pasta temporária do AppServer.

(aviso)  Se for informado um caminho de diretório inválido ou não existente no servidor, a função será interrompida, retornando valor NULL, indicando que houve algum problema na extração dos dados.

cTitle

CHAR

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.

(aviso) ATENÇÃO! Quando informar o parâmetro cAttr para considerar TODOS os atributos (cAttr = NULL), o valor a ser informado aqui deverá respeitar o tipo de dado para todos os atributos do RECORD 4GL. O valor NULL é válido para qualquer tipo de dado entre os elementos de um RECORD 4GL.

cColumns

CHAR

Não

Lista com o nome dos elementos do array de record 4GL que deverão ser exportados. 

(informação) Informe NULL para considerar exportação de todos os elementos

definidos

 definidos no array de record.


FORMATO para cColumns:    

    • Quando quiser especificar lista de elementos do array de record e também um label pra cada uma deles

nomecoluna1^label coluna1|nomecoluna2^label coluna2  

    • Quando quiser especificar lista de elementos do array de record e também um label pra cada uma deles e ainda, opcionalmente, definir uma largura fixa para a coluna da informação (disponível a partir do pacote Logix 12.1.2503 ou Logix Framework 12.1.2411 (fix01))

nomecoluna1^label coluna1^largura coluna1 (em pixels)|nomecoluna2^label coluna2^^largura coluna2 (em pixels)

    • Quando não quiser especificar label, apenas a lista dos elementos do array de record que serão extraidos

nomecoluna1|nomecoluna2

    • Irá assumir automaticamente todos os elementos do array de record

NULL 

nRowsCount

INTEGER

Não

Número de linhas a serem exportadas do array, considerando sempre a linha inicial como 1.

(informação) Quando não informado será considerado todas as linhas.

Retorno

...

Nome

Tipo

Descrição

cXMLFilePath

CHAR

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

...

Bloco de código
languageruby
themeConfluence
linenumberstrue
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 appseverappserver.
  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.

...