Executando verificação de segurança...
2

[DÚVIDA] - Excel como banco de dados em Javascript, é possível ?

Pessoal, tenho uma dúvida e não sei exatamente como explicar de forma que o que preciso seja claro para que entendam, peço que me ajudem.

Sou estudante de ADS e assistente em uma empresa onde temos MUITAS planilhas de Excel e não temos um sistema integrado, porém, vejo a necessidade de centralizar as diversas informações que possuo da minha área (Controladoria / Contas a Receber) para que eu possa gerenciar melhor meu workflow.

Minha Ideia:

Criar um sistema (para uso próprio em minhas tarefas), que no limite do possível seja simples e com a seguinte função, receber e exportar dados em .xlsx ou .pdf, me permitindo gerar relatórios com base em necessidades pontuais. Hoje tenho uma planilha em Excel no qual torno todas essas necessidades em abas com planilhas dinâmicas, porém não é algo 100% intuitivo e possui problemas com a integridade dos dados, podendo, caso determinadas ações na base de dados sejam realizadas, as planilhas dinâmicas simplesmente quebram, e se o arquivo tiver sido salvo todos os filtros (segmentação de dados) são perdidas, junto com a planilha dinâmica, o que me faz não querer seguir "confiando" nas planilhas dinâmicas. Além desses pontos, existem outras planilhas no qual eu manualmente tenho que fazer um "link" dos dados para conseguir todas as informações que necessito, sem que tenha que existir 1 base de dados única.

Necessidades (além de outras):

  • Relatório mensal de Emissões de Notas Fiscais;
  • Relatório mensal de indicador de Emissões de Notas Fiscais;
  • Relatório de Notas Fiscais em aberto;
  • Relatório de Multas e Juros (com recalculo diário).

Minhas skills no momento são:

  • Bons conhecimentos de Excel, tirando a parte de MACRO/VBA eu posso dizer com segurança que domino as demais ferramentas e tenho extrema facilidade em aprender novas em caso de necessidade;
  • html, css e Javascript em um nível bem inicial, porém já o suficiente para conseguir ler e entender a lógica em um código e saber o que esse código se propõe a fazer;
  • Conhecimento vago sobre o conceito de API (sei que existem e entendi para que servem, mas nunca utilizei);
  • Conhecimento vago (universidade) sobre os bancos de dados, relacional e não relacional.

Minhas maiores dúvidas:

  • É possível montar um sistema com a interface e interações com base nos dados de uma planilha em Excel e que eu precise escolher alguns itens (botões e listas suspensas) e obter um relatório que eu possa exportar para Excel ou PDF;
  • Exatamente como acima, mas o contrário, inserir dados neste sistema e ele alimentar a planilha "mãe";
  • Não tenho a necessidade de usuários ou logins, é possível que caso mais algum colaborador da empresa precise ver os dados, eles possam usar a planilha na rede corporativa como fazem hoje. (já um plus, se alguém abrir a planilha e eu alterar os dados no meu sistema, o que acontece? nada é salvo ou é criado uma cópia?);
  • é possível fazer isso de forma "offline"? sem que seja necessário contratar hospedagem/domínio?
  • Caso a resposta acima seja não, soluções (preferencialmente grátis) já que é algo para mim e não para a empresa, e preferencialmente serviços confiáveis devido a LGDP.

Pessoal, no mais é isso, com base nas respostas/interações (caso existam) eu complemento mais ou retiro o que não for relevante, peço que respondam só o que acharam relevante, casa interação irá contribuir imensamente com meu conhecimento.

Carregando publicação patrocinada...
2

Bom Leo, é bem provável que dê sim. Não manjo tanto de JS, sou desenvolvedor C#/.NET, mas já trabalhei várias vezes com planilhas, através de bibliotecas prontas especificamente pra isso, tanto para leitura quanto escrita.

No entanto, seria bem mais interessante se você fizesse como descreveu na sua ideia, usar as planilhas apenas para importar e exportar os dados, salvando elas num banco, e tratando da forma que você quisesse quando fosse exportar.

Você não precisa criar uma API pra isso, pode criar uma aplicação console que tem como input, um arquivo XLSX numa pasta pré determinada. Ai toda vez que ele encontrasse um arquivo nessa pasta, subiria todo o conteúdo pro banco. Os relatórios e demais "outputs" que você quisesse gerar, podem ser escolhidos com base em comandos no próprio console mesmo. Pra você que ainda tem um conhecimento básico, seria um super projeto pro teu portfólio.

Recomendo que dê uma estudada em SQL, e caso queira fazer em Node mesmo... recomendo que estude programação orientada a objetos e algum ORM de Node (sequelize, por exemplo), que será o responsável por realizar a conexão com o seu banco.

Bons estudos e sucesso!

1
1
1
1

entendi, então é bem possível, você só precisa se atentar a algumas coisas, como por exemplo o tipo de dado que vc quer armazenar, como vc pretende usar esses dados depois pra usar, não sei se seria possível fazer um comando "order by" por exemplo

1

Saber que é possível já é um caminho, o amigo ali iagodippolito, deu a ideia de forma resumida em usar o Excel como importação e exportação de dados, e tratar os dados em um banco de dados "tradicional", de fato entendo esse ser o mais simples a ser feito, só vou precisar aprender como eles funcionam, pois não tenho esse conhecimento.

1

Boa tarde leonardo!

Sugiro você aprender power query, que fica dentro do excel mesmo, que resolve todos os problemas mencionados, exceto dos botões, que resolveria com VBA.

1

GTEX,

Minha ideia com isso também seria usar como um desafio pessoal para melhorar meus conhecimentos em desenvolvimento Javascript, não queria seguir para dentro do Excel (quero gradualmente me desapegar dele) entendo que o Excel me "limita" pois tenho diversas ideias que não posso pôr em prática por não saber como fazer (e em muitas vezes o que fazer), e sim usá-lo (excel) somente como base de dados (neste projeto), entendo que como um Estudante de ADS terei de ver e compreender um pouco de cada coisa da área, mesmo que não vá usar "na vida", assim como ocorreu em minha primeira graduação em Administração, onde aprendi muitos conceitos que não possuíam e ainda não possuem valor agregado em minha carreira, outras somente descobri valor, quando conheci na prática o mundo da gestão de projetos, então de forma resumida, agradeço a ideia (de verdade), mas não seria o foco que quero (mesmo que possa ser a solução deste problema).

2
1

Pode deixar, não sei quanto tempo levarei para isso, mas assim que finalizado, dando tudo certo faço de bom grado um tutorial aqui no TabNews, pois entendo que é algo que possa ser de utilizade para muitos.