Generar Datos Sintéticos para Excel con OpenCode
Tamaño carta — Escritorio\documentos-ia — Node.js + npm + exceljs
Objetivo
Usar OpenCode + Node.js + dependencia exceljs para generar un libro Excel con datos sintéticos realistas (4 hojas tipo bdTienda), guardado en Escritorio\documentos-ia\, listo para importar/migrar a Access.
Ubicación obligatoria
mkdir "%USERPROFILE%\Desktop\documentos-ia"
mkdir "%USERPROFILE%\Desktop\documentos-ia\excel-datos"
C:\Users\TuUsuario\Desktop\documentos-ia\excel-datos\
Pre-requisitos
- Node.js LTS + OpenCode (Guía Windows). Verifica
node --version,npm --version,opencode --version. - Excel para abrir y verificar. Repasa estructura bdTienda/bdFarmacia.
Paso 1 — Plan con OpenCode (Tab)
cd "%USERPROFILE%\Desktop\documentos-ia\excel-datos"
opencode
Entra a Plan (Tab) y copia:
Actúa como analista de datos del Instituto Nueva Tecnología.
TAREA: Genera un libro Excel con datos sintéticos realistas usando Node.js y npm con la dependencia exceljs (npm install exceljs). El libro debe imitar la estructura de bdTienda-v1.xlsx y servir para practicar migración a Access.
HOJAS Y VOLUMEN (tamaño carta, impresión horizontal):
- VENDEDOR: 10 filas. Columnas: IdVendedor (1..10), Nombre, Apellido, Zona (La Paz/Cochabamba/Santa Cruz), Telefono (7xx-xxxx)
- PRODUCTO: 30 filas. Columnas: IdProducto, Descripcion, Categoria (4 categorías), PrecioUnitario (50-500 Bs), StockActual (10-100), StockMinimo (5-15)
- VENTA: 100 filas. Columnas: IdVenta, Fecha (ene-mar 2026 aleatoria), IdVendedor (FK), MetodoPago (Efectivo/QR/Transferencia)
- DETALLE_VENTA: 250 filas. Columnas: IdDetalle, IdVenta (FK), IdProducto (FK), Cantidad (1-5), PrecioVenta (=PrecioUnitario)
TECNOLOGÍA OBLIGATORIA: Node.js + npm + exceljs. Configura impresión tamaño CARTA (Letter) y márgenes 0.7" en cada hoja, con encabezados en negrita y filtros automáticos. Propón primero el plan: archivos en "%USERPROFILE%\Desktop\documentos-ia\excel-datos\" (package.json, generate.js), cómo generarás datos aleatorios coherentes (FK válidas) y validaciones, sin generar aún.
Revisa el plan → Tab a Build.
Paso 2 — Generar el .xlsx con exceljs
Genera en "%USERPROFILE%\Desktop\documentos-ia\excel-datos\" el proyecto Node.js:
- package.json con dependencia exceljs
- generate.js que use exceljs para crear DatosTienda_Sintetico_TuNombre.xlsx TAMAÑO CARTA (pageSetup.paperSize = Letter, margins 0.7, orientation landscape donde convenga) con las 4 hojas y datos sintéticos coherentes (FKs válidas, sin huérfanos). Añade filtros y congela fila 1.
Indica comandos: npm install y node generate.js. Valida que el xlsx abre en Excel y que VENTA/DETALLE respetan integridad.
npm install
node generate.js
Abre DatosTienda_Sintetico_TuNombre.xlsx en Excel: verifica 4 hojas, filtros, y que DETALLE_VENTA.IdVenta existe en VENTA.
Variación
Pide: “Ahora genera una variante bdFarmacia sintética con 15 empleados y 40 medicamentos, mismo esquema docx pero con exceljs” — practica reuso del prompt cambiando dominio.
Paso 3 — Verificación tamaño carta
- Excel → Diseño de página → Tamaño → Carta → Orientación Horizontal (si la tabla es ancha) → Márgenes 0.7″.
- Vista preliminar (
Ctrl+P) debe mostrar 1 página ancho × N alto, sin cortes de columnas. - Si sale en A4, corrige en generate.js con
worksheet.pageSetup.paperSize = 1 // Lettery regenera.
Check con OpenCode
Revisa "%USERPROFILE%\Desktop\documentos-ia\excel-datos\DatosTienda_Sintetico_TuNombre.xlsx" y valida: 1) 4 hojas con columnas correctas, 2) Tamaño carta, 3) Filtros y fila congelada, 4) FKs sin huérfanos, 5) Generado con Node.js+exceljs. Dame 2 mejoras.
Entregable (Escritorio\documentos-ia\excel-datos\)
generate.js+package.json(exceljs).DatosTienda_Sintetico_TuNombre.xlsxtamaño carta + su.pdfde impresión.- Link
/sharede Plan → Build.