Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Gerar txt sem a linha de cabeçalho.

Olá, pessoal!

Eu estou tentando gerar um arquivo txt como saída, através da função STORE, porém não quero que na primeira linha do arquivo venham os cabeçalhos das colunas. Fiz várias pesquisas aqui, mas ainda não encontrei o que eu queria. Alguém tem alguma dica?

Grato,

Marcelo

3 Replies
Not applicable
Author

Já evoluí um pouco na questão, mas ainda não consegui resolver em definitivo.

Através de um botão é possível criar a ação de exportar para um arquivo. Com a flag para "incluir nome do campo" desmarcada eu consigo gerar o arquivo do jeito que preciso. Porém, não posso deixar dessa forma pois não vai ter ninguém pra ficar clicando no botão e isto precisará ficar agendado no servidor.

Estou partindo pra macro. Já evoluí utilizando o código abaixo, mas o cabeçalho continua saindo, mesmo ocultando os cabeçalhos no meu objeto.

set obj = ActiveDocument.GetSheetObject("TB04")
Obj.Export "C:\test.txt", "/"

Tá difícil, já pesquisei bastante, mas ainda não consegui resolver. Se alguém tiver alguma idéia, por favor.

Grato,

Marcelo



Not applicable
Author

Boa tarde Marcelo

Usando macro você pode tentar o código abaixo para tentar resolver seu problema é só linkar com o evento ao abrir no menu configurações -> propriedade do documento -> macro. Qualquer dúvidas para a adapção posta ai que tento te ajudar no que puder.

sub ao_abrir
set obj = ActiveDocument.GetSheetObject("TB02")
Const ForAppending = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objTextFile = objFSO.OpenTextFile ("c:\teste.txt", ForAppending, True)
for RowIter = 1 to obj.GetRowCount-1
linha=""
for ColIter =0 to obj.GetColumnCount-1
set cell = obj.GetCell(RowIter,ColIter)
'após o "&" você pode usar o separador que quiser dentro das aspas duplas
if linha<>"" then linha = linha & ","
linha = linha & cell.Text
next
objTextFile.WriteLine (linha)
next
objTextFile.Close
end sub

Not applicable
Author

Obrigado, Mauro!

O problema acabou sendo resolvido de outra forma. Usar o conteúdo da primeira linha como rótulo da única coluna que seria exportada. Não sei se é a melhor forma, mas foi como se conseguiu resolver:

...

Arquivo_Lido:
LOAD @1:n as LINHA,
ROWNO() as NUM_LINHA
FROM $(v_ArqEntrada)
(fix, codepage is 1252);

Primeira_Linha:
LOAD LINHA as LINHA1
RESIDENT Arquivo_Lido
WHERE NUM_LINHA = 1;

LET v_PrimeiraLinha = peek('LINHA1',0,'Primeira_Linha');

Arquivo_Convertido:
LOAD LINHA as [$(v_PrimeiraLinha)]
RESIDENT Arquivo_Lido
WHERE NUM_LINHA <> 1;

STORE * FROM Arquivo_Convertido INTO $(v_ArqSaida) (txt);

...

Abraço,

Marcelo