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.
Abaixo um print de exportação de cliente e fornecedor.
E abaixo um print de pedido de venda.
Vídeo tutorial de como usar:
Abraços e até a próxima.



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
Grande Carneiro, eu que agradeço.
Um grande abraço.
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?
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.
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!
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.
Não entendi como usar o código, compilei o arquivo mas quando chamo no menu diz que não existe.
Boa tarde Lucas.
Me adicione no Skype, que te oriento como usar.
Abraços.
Estou com o mesmo problema, como foi solucionado?
Bom dia.
Qual problema Mario?
Não consigo fazer funcionar, dá até msg de erro Memory.
Não consigo fazer funcionar, informar uma msg de erro de Memory.
Bom dia jovem.
Se possível, mande o erro completo, ou print do error log.
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.
Bom dia,
Sabe me dizer se eu consigo fazer a seguinte peripécia:
Criar uma planilha e posicionar ela na SB1 e toda vez que for criado um novo produto ela atualiza automaticamente a planilha sem precisar de executar alguma rotina ?
Bom dia Gabriel, tudo joia?
Eu nunca precisei fazer. Mas uma ideia, seria ser em um arquivo .csv, onde sempre você atualiza ele e joga o conteúdo novo no final.
Ai depois você pode abrir no Excel esse arquivo CSV.
Tenha uma ótima e abençoada terça feira.
Um forte abraço.