Pular para o conteúdo

Importação de planilhas grandes sem travar o servidor

O cliente sobe uma planilha com 80 mil linhas e o servidor trava. Como importar arquivos grandes com validação, progresso e relatório de erros.

Por Equipe We Codex3 min de leitura

Importar planilhas é uma das funcionalidades mais pedidas — e uma das mais subestimadas. Com dez linhas, qualquer implementação funciona. Com dezenas de milhares, as ingênuas estouram memória, ultrapassam o tempo da requisição ou gravam metade dos dados antes de falhar.

O fluxo robusto

  1. 1.Upload do arquivo para o armazenamento, não para a memória do servidor (Upload de arquivos no backend: tamanho, tipo e armazenamento).
  2. 2.Processamento em segundo plano numa fila (Filas e jobs em background: tirando tarefas pesadas da requisição).
  3. 3.Leitura em fluxo (streaming), linha a linha, sem carregar o arquivo inteiro.
  4. 4.Validação de cada linha com o mesmo esquema da aplicação (Validação rigorosa de dados: prevenindo falhas de segurança e dados inconsistentes com Zod e TypeScript).
  5. 5.Gravação em lotes, dentro de transações quando fizer sentido (Transações no banco: quando duas operações precisam acontecer juntas).
  6. 6.Progresso visível para o usuário.
  7. 7.Relatório final: quantas linhas importadas, quais falharam e por quê, com arquivo de erros para corrigir.

Decisões de produto

  • Tudo ou nada, ou importar o que é válido e reportar o resto?
  • Atualizar existentes ou só criar novos? Qual coluna identifica um registro?
  • Pré-visualização antes de confirmar.

Problemas comuns de planilhas reais

Codificação de caracteres (acentos quebrados), separador ponto e vírgula, datas em formatos variados (Datas e fusos horários: o bug que aparece às 21h), números com vírgula decimal, linhas em branco e colunas renomeadas.

Segurança

Arquivos podem conter fórmulas maliciosas que executam ao serem reabertos em planilhas. Neutralize ao exportar.

Importações são o primeiro passo de muitos projetos que saem da planilha (Da planilha ao sistema: quando a empresa precisa dar esse passo).

A We Codex constrói importações robustas em sistemas web. Fale com a gente.

  • Importação
  • CSV
  • Backend
  • Filas
CompartilharWhatsAppLinkedIn

Resolver de vez, com quem faz isso todo dia

Precisa de uma API ou integração que não caia quando o negócio crescer?

Este artigo mostra o caminho. A implementação sob medida — o detalhe que muda o resultado no seu caso — é o trabalho da We Codex, empresa de engenharia do grupo Wocom.