Planilha: digite em lote, confira antes e grave de uma vez.
Para quem lança 200 linhas por dia. Em vez de 200 formulários, você digita numa grade parecida com o Excel. O sistema confere tudo antes e grava numa transação só.
Uma grade para lançar várias linhas de uma vez
As linhas são numeradas. No topo, você tem +10 linhas, Desfazer, um contador de linhas preenchidas e os botões Validar e Salvar.

Cada coluna com o seu tipo, até lista do banco
Cada coluna tem o seu tipo: texto, número, moeda, data ou lista do banco, com busca dentro da própria célula. É o caso da coluna Estado:
<mad-sheet model="Cidade" database="maderp" rows-min="10" max-rows="2000"><mad-sheet-col field="estado_id" label="Estado" type="combo"model="Estado" key="id" display="{nome}" order-by="nome" width="220px" /><mad-sheet-col field="nome" label="Nome" required /><mad-sheet-col field="situacao" label="Situação" /><mad-sheet-col field="codigo_ibge" label="Código IBGE" /></mad-sheet> Validar antes, gravar depois
Validar confere o lote inteiro: campos obrigatórios, tipos e referências a outras tabelas. As células com problema ficam marcadas. Salvar grava tudo numa única transação, e se algo falhar, nada é gravado.

Quando usar a planilha de lançamento
Use quando alguém lança muitos registros parecidos, um atrás do outro. A pessoa digita tudo na grade e grava de uma vez, em vez de abrir um formulário por linha.
- Contagem de estoque. Produto e quantidade digitados durante o inventário, com a soma na linha de totais.
- Lançamentos financeiros. As despesas do mês, com valor em reais e data em cada linha.
- Orçamento. Quantidade e valor unitário por linha, e uma coluna calculada mostra o total de cada uma.
- Horas da equipe (RH). Funcionário, data e horas, com o funcionário escolhido numa lista do banco.
Para filtrar, somar ou exportar o que já existe, use a listagem. Para um cadastro com muitos campos ou com itens, como uma venda, use o formulário. A planilha se monta no editor visual, como as outras telas.
O que você configura
Além da tabela e das colunas, estes ajustes mudam o dia a dia de quem digita.
- Obrigatória
required - Uma célula vazia nessa coluna reprova o lote.
- Valor inicial
default - Preenche as linhas novas, como a data de hoje, e poupa a mesma digitação em cada linha.
- Coluna calculada
compute - Faz a conta em cada linha, como quantidade vezes valor. A coluna é só de leitura e não é gravada.
- Lista que depende de outra
depends-on - Na mesma linha, uma coluna filtra as opções da outra, como categoria e produto. Trocar a primeira limpa a segunda.
- Máscara
mask - CPF, CNPJ, CEP, telefone, placa e outras. CPF e CNPJ têm os dígitos verificadores conferidos no servidor.
O que vai para o projeto Laravel
A planilha é uma classe em app/Control com a view <mad-sheet>. A gravação passa por pontos em que você pode entrar com o seu código:
- Conferir e gravar são métodos separados.
onValidateBatchconfere o lote sem gravar, eonSaveBatchgrava. Os erros voltam por célula, com a linha e o campo. - Um ponto antes de cada linha. Numa classe sua que estende a da planilha,
beforeSaveRow()recebe cada linha antes da gravação. É ali que você grava uma coluna calculada ou preenche usuário, empresa e unidade. Uma exceção nesse ponto desfaz o lote inteiro. - Um ponto depois do lote.
afterSaveBatch()recebe os registros gravados, por exemplo para atualizar um saldo.
Como toda tela do MadBuilder, esses arquivos abrem no seu editor, vão para o seu Git e aceitam código à mão em blocos protegidos, que continuam lá quando a tela é gerada de novo. Veja como o código é gerado.
Perguntas sobre a planilha
A planilha também edita registros que já existem?
Não. Ela serve para digitar registros novos. Para mudar o que já está gravado, use a listagem, que edita o valor na própria célula.
Dá pra colar dados do Excel na planilha?
Dá. Cole na grade um bloco de células copiado do Excel. Valores como 1.234,56 e datas em dd/mm/aaaa viram o formato do banco.
Quantas linhas dá pra gravar de uma vez?
Por padrão, até 2.000 linhas por lote, e você pode mudar esse limite.
Dá pra lançar só pelo teclado?
Dá. Enter e as setas andam entre as células, Ctrl+D repete o valor de cima e Ctrl+Z desfaz.
E mais
Crie a conta, monte uma tela, baixe o projeto.
Sem demo agendada e sem call de descoberta. Se o Laravel que sair não passar na revisão do seu time, você perdeu uma tarde.
- Crie a contaBeta aberto, sem cartão.
- Monte uma telaNo visual, no código ou pedindo à IA.
- Baixe o .zipUm projeto Laravel que roda onde você quiser.