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.Upload do arquivo para o armazenamento, não para a memória do servidor (Upload de arquivos no backend: tamanho, tipo e armazenamento).
- 2.Processamento em segundo plano numa fila (Filas e jobs em background: tirando tarefas pesadas da requisição).
- 3.Leitura em fluxo (streaming), linha a linha, sem carregar o arquivo inteiro.
- 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.Gravação em lotes, dentro de transações quando fizer sentido (Transações no banco: quando duas operações precisam acontecer juntas).
- 6.Progresso visível para o usuário.
- 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
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.
Continue lendo
Tudo sobre Backend & APIs- Ler artigo
Backend & APIs3 min
Filas e jobs em background: tirando tarefas pesadas da requisição
O usuário clica em "gerar relatório" e espera 40 segundos com a tela travada. Veja como tirar tarefas pesadas da requisição com filas e jobs.
- Ler artigo
Backend & APIs3 min
Upload de arquivos no backend: tamanho, tipo e armazenamento
Upload que trava com arquivos grandes, enche o disco do servidor e expõe documentos de clientes. Veja como estruturar uploads no backend.
- Ler artigo
Backend & APIs3 min
Datas e fusos horários: o bug que aparece às 21h
O pedido feito às 22h aparece com a data do dia seguinte e o relatório do mês não fecha. Bugs de fuso horário — e como evitá-los.