Boa noite galera.
Seguinte eu recebo um arquivo TXT com registros de clientes, e preciso editar este arquivo e gerar um .xls dele.
Segue o TXT:
%!
%%DocumentMedia: papel1 595 842 75 white normal
%%+papel2 595 842 75 blue azul
%XRXrequeriments: duplex
%%BeginFeature: *Duplex True
<</Duplex true>> setpagedevice
%%EndFeature
(|) SETDBSEP
(va44.dbm) STARTDBM
ESTIPULANTE|APOLICE|NUM_CERTIF|DT_VIG|SEGURADO|CPF|CAPIT1|CAPIT2|CAPIT3|CAPIT4|CAPIT5|CAPIT6|CAPIT7|CAPIT8|CAPIT9|CAPIT10|DT_CAPIT|CONTA_DEBITO|CUSTO|DIA_COB|BENEF1|PARENT1|PART1|BENEF2|PARENT2|PART2|BENEF3|PARENT3|PART3|BENEF4|PARENT4|PART4|BENEF5|PARENT5|PART5|DTPOSTAGEM|NUMOBJETO|DESTINATARIO|ENDERECO|BAIRRO|CIDADE|UF|CEP|REMETENTE|REMET_ENDERECO|REMET_BAIRRO|REMET_CIDADE|REMET_UF|CODIGO_CIF|POSTNET|REMET_CEP|N_CUSTO|DATADIA|CLIENTE|DT_VIG1|DT_VIG2|TEXTO
dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados
dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados
dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados
%%EOF
%!
(|) SETDBSEP
(va52.dbm) STARTDBM
ESTIPULANTE|APOLICE|NUM_CERTIF|DT_VIG|SEGURADO|CPF|CAPIT1|CAPIT2|CAPIT3|CAPIT4|CAPIT5|CAPIT6|CAPIT7|CAPIT8|CAPIT9|CAPIT10|DT_CAPIT|CONTA_DEBITO|CUSTO|DIA_COB|BENEF1|PARENT1|PART1|BENEF2|PARENT2|PART2|BENEF3|PARENT3|PART3|BENEF4|PARENT4|PART4|BENEF5|PARENT5|PART5|DTPOSTAGEM|NUMOBJETO|DESTINATARIO|ENDERECO|BAIRRO|CIDADE|UF|CEP|REMETENTE|REMET_ENDERECO|REMET_BAIRRO|REMET_CIDADE|REMET_UF|CODIGO_CIF|POSTNET|REMET_CEP|N_CUSTO|DATADIA|CLIENTE|DT_VIG1|DT_VIG2|TEXTO
dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados
dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados
%%EOF
%!
(|) SETDBSEP
(sf13.dbm) STARTDBM
SEGURADO|BILHETE|NUMSORTEIO|DTPOSTAGEM|NUMOBJETO|DESTINATARIO|ENDERECO|BAIRRO|CIDADE|UF|CEP|REMETENTE|REMET_ENDERECO|REMET_BAIRRO|REMET_CIDADE|REMET_UF|REMET_CEP|CODIGO_CIF
dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados
%%EOF
O que eu preciso é tratar as informações da seguinte forma:
Onde aparece por exemplo “(sf13.dbm)” é o nome de um formulário, logo abaixo desta linha aparece o nome dos campos, tanto o nome do formulário quanto o nome dos campos não serão impressos, porem preciso criar um “if” no nome do formulário pois terei que para cada tipo de formulário inserir umas informações no inicio e no final de cada linha de acordo com o nome do formulário.
Ou seja o TXT acima ficcaria assim:
VA44|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|MENSAGEM AAAAAAAA
VA44|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|MENSAGEM AAAAAAAA
VA44|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|MENSAGEM AAAAAAAA
VA52|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|MENSAGEM BBBBBBBB
VA52|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|MENSAGEM BBBBBBBB
SF13|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|dados|MENSAGEM CCCCCCCCC
Observação: cada formulário pode ter mais ou menos campos. A mensagem no final de cada formulário é padrão para cada tipo de formulário.
Depois de tratar isso preciso gerar um excel, no caso eu uso o “poi” porem também preciso de uma luz de como que em JAVA eu converto “|” para colunas.
Já pesquisei bastante mas não consegui nenhuma lógica para eu conseguir resolver o problema.
Galera obrigado pela atenção.