Qual a melhor forma de migrar planilhas do excel para outro tipo de sistema?

Tendo que, essas planilhas contém muitas formulas que são pesadas e que acabam travando ,pois possuem um grande volume de dados.

Resumindo, gostaria de sugestões de como posso desenvolver um sistema (Linguagem ,IDE, etc…) que realize todas as funções que as macros fazem automaticamente, dentro de uma plataforma só. Assim, dispensaria o trabalho manual de ficar rodando várias planilhas do excel e inserindo os dados atualizados manualmente. Quem puder me ajudar, obrigada :slight_smile:

PowerBI? Sistema de gestão (ERP)?

Pelo o que você passou de informação não dá para traçar exatamente qual a dimensão do problema, então vou supor algumas coisas para responder.

Como você falou que usa planilha, então seu volume de dados não é tão grande assim (acredite, se os seus dados cabem em uma planilha, então não são tantos assim). Desse mesmo ponto, creio que os dados não precisem ser acessados em nuvem já que recursos de macro não são bem suportados nos editores de planilha online.

Como você não citou nada sobre empresa, creio que seja ou de uso pessoal ou para gestão de um pequeno negócio, o que diz que o custo em dinheiro deve ser o menor possível, de preferência nulo, significando apenas um custo em tempo de desenvolvimento e manutenção.

Então, com esse cenário em mente, eu optaria por desenvolver um programa em python.

  • A estrutura de dataframe do pandas é adequada para o tratamento de pequenos volumes de dados (como os que podem ser gravados em planilhas) e a lógica de planilha (caso seja indexada em linha) é facilmente transcrita para operações com dataframes.

  • Ainda falando do pacote pandas, ele consegue realizar a leitura da maior parte dos formatos de arquivos que podem ser usados como entradas de dados (o que reduz a interação do humano com o programa) e, caso necessário, pacotes extras como o openpyxl permitem ao pandas ler planilhas também.

  • Caso seja necessário implementar ou modificar alguma lógica, o fato de não ser necessário gerar um binário do script para executá-lo permite que essas modificações sejam rápidas.

  • Existem pacotes para quase todas as tarefas que podem ser feitas com os dados, tirando assim a necessidade de implementações extras.

  • Caso seja necessária alguma interação com bancos de dados SQL ou efetuar requisições (post, get, etc…) esse processo é trivial.

  • É possível gerir arquivos locais, reduzindo ainda mais a necessidade de interação de humanos com o script.

  • A solução pode ser agnóstica, o que significa que, se o script for montado adequadamente, ele pode ser executado em linux ou windows sem nenhuma modificação.

  • Os dados de saída podem ser salvos em diversos formatos, inclusive formatos mais robustos como o parquet, o que te livra de dores de cabeça como codificação do arquivo.

2 curtidas

Provavelmente a melhor solução vai ser Python + Pandas. Aqui na empresa já usamos em casos “pesados”, com mais de 6 milhões de linhas e umas 40 colunas, e se tomar o devido cuidado de seguir as boas prática da documentação (vetorização, modificação inplace, etc), vai rodar bem.

Apenas cuidem que em alguns cenários vocês podem acabar limitados pela RAM da máquina. Nestes casos pode ser melhor usar uma biblioteca que usa disco para cachear operações, como a polars.

2 curtidas

Realmente, o uso de Python com Pandas ajuda bastante e acelera o processo, mas exige uma curva de aprendizado um pouco maior que o conhecimento que você já tem de Excel. Mas sem dúvidas é um ótimo investimento.

Tenho uma questão parecida com o OP do tópico, tenho muitos controles internos da empresas em diversas planilhas, o que torna o gerenciamento ruim e trabalhoso.
O ideal seria começar a aprender linguagem de programação do “zero” (tenho uma noção das macros do excel) e depois aprender sobre esse Pandas, ou é melhor ir direto no Pandas pra tentar executar sem ter esse background?

Como você vai aprender não é o mais importante, pois cada um tem o seu jeito, o mais importante é começar a aprender e ter paciência.

O maior problema que observo, é que as pessoas saem de uma solução como Excel e vão para a programação sem organização, dai vira um desastre total. Mude apenas quando você tiver uma solução nova pronta, e tiver certeza de que a nova solução realmente traz melhorias.

Muitas planilhas com muitas operações, são uma indicação de que o projeto não vai ser pequeno. Sem um pouco de engenharia e metodologia, tem uma grande chance de vira um problema maior que o Excel ao longo do tempo.

2 curtidas

Eu sugiro ter uma noção básica da sintaxe da linguagem python, pq tu vai usar isso bastante. Mas focar mesmo no pandas…

Tem um livro que gosto muito, que dá uma boa introdução no assunto com uso de Python para Análise de Dados: https://amzn.to/3SKqDJw

A linguagem dele é muito boa.

3 curtidas

Basicamente qualquer um, o problema está em como extrair os dados, você vai ter 2 trabalhos aí:

O primeiro vai ser converter de Excel para alguma linguagem de banco de dados, como por exemplo SQL, isso pode ser feito com o DAX Studio

Depois é relativamente simples, você cria as telas que inserem os dados no banco de dados… Se o que você quer é recriar essas planilhas sob a forma de aplicativos o Pandas não vai resolver seu problema

O Powershell tem uma sintaxe bem fácil para manipular arquivos de Excel, dependendo da dimensão do sua rotina é possível automatizar em simples scripts as operações. No Windows você pode usar o PowerShell ISE que já vem nativamente instalado.

Para “grande volume de dados” o ideal é usar um banco de dados e não planilha.

Algo que usa servidor apache + mariadb + navegador web seria legal.

Planilha com 1 MB para cima demora para abrir.