Integração do Protheus com Excel – populando arquivos

Olá pessoal…

Hoje irei mostrar uma forma de integrar o Protheus com o Excel (ou LibreOffice), utilizando arquivo .XML, populando seu conteúdo.


Recentemente, tive que criar uma classe que abre um arquivo excel (com extensão xml – tipo de arquivo Excel XML 2003), e o seu conteúdo teria que ser manipulado, sendo que seria possível alterar colunas, ordenação, quais campos mostrar, para isso, tentei criar da forma mais genérica possível, a classe se chama zExcelXML e segue abaixo, juntamente com um fonte de testes e os xmls utilizados.

Link para download:
Clique Aqui

Com isso, é possível parametrizar um relatório como deseja e em pouco tempo, consumindo pouco recurso de desenvolvimento.

Ressalto que não preparei a classe para trabalhar com mais de uma planilha (aba do Excel).

Ah, como a extensão é .xml, o LibreOffice / OpenOffice também consegue abrir esses arquivos.

Abaixo um print de exemplo de uma exportação de produtos.

Exemplo de Produtos

Exemplo de Produtos

Abaixo um print de exportação de cliente e fornecedor.

Exemplo de Clientes / Fornecedores

Exemplo de Clientes / Fornecedores

E abaixo um print de pedido de venda.

Exemplo de Pedido de Vendas

Exemplo de Pedido de Vendas

Vídeo tutorial de como usar:



Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

15 Responses

  1. Fábio Alves Carneiro disse:

    Show de bola Atílio…. muito boa a publicação… me lembrei daquele dia que precisei disso e vc me ajudou…. parabéns mais uma vez pelas suas dicas!!!!!!

    Grande abraço

  2. Vitor Nunes disse:

    Olá Atílio, boa tarde!

    Por acaso você conhece alguma forma da integração excel na contabilidade funcionar como multiempresa? Ou seja, ao invés de ter que reiniciar a integração com outro empresa toda vez que preciso de dados de outra empresa. Você pode me ajudar?

    • Dan_Atilio disse:

      Boa noite Vitor, tudo bem?
      Então, quase todas as rotinas do Protheus trabalham exclusivamente por empresa, se for alguma rotina customizada, dá para fazer algumas manutenções alterando as variáveis padrão cEmpAnt e cFilAnt.
      Porém se for uma rotina padrão, infelizmente não é possível, há não ser que abra algum chamado e o pessoal desenvolva.
      Um grande abraço.

  3. Marcos Aleluia disse:

    Olá Atílio, boa tarde!

    Parabéns pelas publicações!! São de alto nível!!!

    Conhece alguma função que leia dados de uma planilha Excel para que possa importar para o Protheus?

    Grande abraço!

    • Dan_Atilio disse:

      Fala Marcos, tudo bem?
      Rapaz, obrigado pelas palavras, se tiver alguma dica ou sugestão, pode entrar em contato.
      Então, até onde sei, somente arquivos csv, xls nunca realizei importação e desconheço =/.
      Abraços.

  4. Não entendi como usar o código, compilei o arquivo mas quando chamo no menu diz que não existe.

  5. Mario Ronca disse:

    Estou com o mesmo problema, como foi solucionado?

  6. Mario Ronca disse:

    Não consigo fazer funcionar, dá até msg de erro Memory.

  7. Mario Ronca disse:

    Não consigo fazer funcionar, informar uma msg de erro de Memory.

  8. fearlesse2c172b9e0 disse:

    Blz cara, essa função eu consigo pegar uma planilha com abas e alimentar também, tem algum função pra mudar a aba da planilha que preciso alimentar.

    • Bom dia Luiz, tudo joia?

      Então, essa função de 2015 ela foi descontinuada. Mas se você quiser adaptar a sua necessidade, talvez daria para você fazer o seguinte:
      1. No arquivo XML, analise onde que tem a quebra de planilhas, de uma para outra
      2. Crie um método na classe, tipo “a partir de qual planilha analisar”
      3. Ai nesse método você recebe um número e depois pula o número de linhas até chegar na planilha para fazer as tratativas

      Tenha uma ótima e abençoada quinta feira.

      Um grande abraço.

Deixe uma resposta

Terminal de Informação