Hoja de cálculo: escribe por lotes, revisa antes y guarda de una vez.
Para quien captura 200 filas al día. En vez de 200 formularios, escribes en una grilla parecida a Excel. El sistema revisa todo antes y guarda en una sola transacción.
Una grilla para capturar varias filas de una vez
Las filas están numeradas. Arriba tienes +10 filas, Deshacer, un contador de filas completadas y los botones Validar y Guardar.

Cada columna con su tipo, hasta lista de la base de datos
Cada columna tiene su tipo: texto, número, moneda, fecha o lista de la base de datos, con búsqueda dentro de la propia celda. Es el caso de la columna 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="Nombre" required /><mad-sheet-col field="situacao" label="Situación" /><mad-sheet-col field="codigo_ibge" label="Código IBGE" /></mad-sheet> Validar antes, guardar después
Validar revisa el lote completo: campos obligatorios, tipos y referencias a otras tablas. Las celdas con problemas quedan marcadas. Guardar graba todo en una única transacción, y si algo falla, no se guarda nada.

Cuándo usar la hoja de captura
Úsala cuando alguien carga muchos registros parecidos, uno tras otro. La persona escribe todo en la grilla y guarda de una vez, en vez de abrir un formulario por fila.
- Conteo de inventario. Producto y cantidad escritos durante el inventario, con la suma en la fila de totales.
- Movimientos financieros. Los gastos del mes, con valor y fecha en cada fila.
- Presupuesto. Cantidad y valor unitario por fila, y una columna calculada muestra el total de cada una.
- Horas del equipo (RR. HH.). Empleado, fecha y horas, con el empleado elegido en una lista de la base de datos.
Para filtrar, sumar o exportar lo que ya existe, usa el listado. Para un registro con muchos campos o con ítems, como una venta, usa el formulario. La hoja se arma en el editor visual, como las demás pantallas.
Lo que configuras
Además de la tabla y las columnas, estos ajustes cambian el día a día de quien escribe.
- Obligatoria
required - Una celda vacía en esa columna reprueba el lote.
- Valor inicial
default - Completa las filas nuevas, como la fecha de hoy, y ahorra escribir lo mismo en cada fila.
- Columna calculada
compute - Hace la cuenta en cada fila, como cantidad por valor. La columna es de solo lectura y no se guarda.
- Lista que depende de otra
depends-on - En la misma fila, una columna filtra las opciones de la otra, como categoría y producto. Cambiar la primera limpia la segunda.
- Máscara
mask - CPF, CNPJ, código postal, teléfono, patente y otras. CPF y CNPJ tienen los dígitos verificadores comprobados en el servidor.
Lo que va al proyecto Laravel
La hoja es una clase en app/Control con la vista <mad-sheet>. El guardado pasa por puntos donde puedes entrar con tu código:
- Revisar y guardar son métodos separados.
onValidateBatchrevisa el lote sin guardar, yonSaveBatchguarda. Los errores vuelven por celda, con la fila y el campo. - Un punto antes de cada fila. En una clase tuya que extiende la de la hoja,
beforeSaveRow()recibe cada fila antes de guardar. Ahí grabas una columna calculada o completas usuario, empresa y unidad. Una excepción en ese punto deshace el lote completo. - Un punto después del lote.
afterSaveBatch()recibe los registros guardados, por ejemplo para actualizar un saldo.
Como toda pantalla de MadBuilder, esos archivos se abren en tu editor, van a tu Git y aceptan código a mano en bloques protegidos, que siguen ahí cuando la pantalla se genera de nuevo. Mira cómo se genera el código.
Preguntas sobre la hoja de captura
¿La hoja también edita registros que ya existen?
No. Sirve para escribir registros nuevos. Para cambiar lo que ya está guardado, usa el listado, que edita el valor en la propia celda.
¿Se pueden pegar datos de Excel en la hoja?
Sí. Pega en la grilla un bloque de celdas copiado de Excel. Valores como 1.234,56 y fechas en dd/mm/aaaa se convierten al formato de la base de datos.
¿Cuántas filas se pueden guardar de una vez?
Por defecto, hasta 2.000 filas por lote, y puedes cambiar ese límite.
¿Se puede capturar solo con el teclado?
Sí. Enter y las flechas se mueven entre las celdas, Ctrl+D repite el valor de arriba y Ctrl+Z deshace.
Y más
Crea la cuenta, arma una pantalla, descarga el proyecto.
Sin demo agendada ni llamada de descubrimiento. Si el Laravel que sale no pasa la revisión de tu equipo, perdiste una tarde.
- Crea la cuentaBeta abierta, sin tarjeta.
- Arma una pantallaEn el editor visual, en código o pidiéndoselo a la IA.
- Descarga el .zipUn proyecto Laravel que corre donde quieras.