Páginas filhas
  • _ADVPL_exportArrayToExcelCSV


Exportar os dados contidos em uma variável ARRAY OF RECORD para uma planilha no formato CSV, onde os dados são exportados linha a linha e suas informações ficam separadas por ";" (ponto vírgula) em cada linha do arquivo.


(informação) A extensão do arquivo de saída será .CSV no formato que pode ser aberto para visualização com ferramenta Excel ou outra ferramenta de edição/visualização de planilhas neste formato CSV


ATENÇÃO! O formato CSV pode apresentar problemas para valores numéricos que contenham valores decimais, pois o separador de casas decimais será vírgula ou ponto, conforme estiver configurado a variável de ambiente DBMONEY para o AppServer.

Sintaxe


_ADVPL_ExportArrayToExcelCSV( < u4GLRec >, < cCSVFilePath >, < 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.

cCSVFilePath

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

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

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 no array de record.


FORMATO para cColumns:    

    • lista dos elementos do array de record que serão extraidos, separados por "|" (pipe)

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

cCSVFilePath

CHAR

Caminho completo do arquivo com formato CSV 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 ExportArrayToExcelCSV_test()
#-------------------------------------------#
  DEFINE l_csvFile 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 CSV automatico no appserver
  LET l_csvFile = _ADVPL_ExportArrayToExcelCSV(ma_dados)
  CALL conout("PLANILHA 1 GERADA NO ARQUIVO "||l_csvFile CLIPPED)

  #Exportar todos dados até a linha 2 da grid para um arquivo CSV automatico no appserver 
  LET l_csvFile = _ADVPL_ExportArrayToExcelCSV(ma_dados,NULL,NULL,2)
  CALL conout("PLANILHA 2 GERADA NO ARQUIVO "||l_csvFile CLIPPED)
 
  #Exportar todas as linhas, apenas o valor da coluna 1 para um arquivo CSV de nome automático no appserver.
  LET l_csvFile = _ADVPL_ExportArrayToExcelCSV(ma_dados,NULL,"codigo")
  CALL conout("PLANILHA 3 GERADA NO ARQUIVO "||l_csvFile CLIPPED)
END FUNCTION

Informações


Fontes: array.prw

Observações


Disponível a partir do pacote Logix 12.1.2311.