Editor de CSV y XLSX
English version: README.en.md
Editor standalone de archivos CSV, TSV y XLSX. Sin dependencias npm, sin build step — un servidor HTTP mínimo en Node.js sirve un frontend estático con módulos ES nativos. Extraído del editor integrado de DataB Flow.
Cargás un archivo CSV, TSV o XLSX y lo editás directamente en una interfaz tipo planilla:
- Edita celdas directamente con doble clic
- Dividir columnas por delimitador
- Eliminar, agregar, reordenar y renombrar columnas
- Formatear: mayúsculas/minúsculas, recorte de espacios, búsqueda y reemplazo, agregar texto, presets de número/moneda/porcentaje/fecha
- Quitar caracteres por posición (inicio o fin)
- Merge: combinar dos columnas en una
- Deshacer / rehacer (hasta 30 pasos)
- Exportá el resultado en CSV con un clic
- Interfaz bilingüe (español / inglés) y con tema claro y oscuro
DBEditor Flow necesita Node.js v14 o superior. Si ya lo tenés instalado, podés saltar este paso.
- Abrí el navegador y entrá a https://nodejs.org
- Hacé clic en el botón verde "LTS" (versión recomendada)
- Se descarga un archivo
.pkg— hacé doble clic y seguí el instalador - Para verificar, abrí la app Terminal (
⌘ + Espacio, escribí "Terminal") y ejecutá:Tiene que aparecer algo comonode --version
v22.0.0o superior.
- Abrí el navegador y entrá a https://nodejs.org
- Hacé clic en el botón verde "LTS" (versión recomendada)
- Se descarga un archivo
.msi— hacé doble clic y seguí el instalador (dejá todas las opciones por defecto) - Para verificar, abrí el Símbolo del sistema (buscá "cmd" en el menú Inicio) y ejecutá:
Tiene que aparecer algo como
node --versionv22.0.0o superior.
Abrí una terminal y ejecutá:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejsPara otras distros (Fedora, Arch, etc.), seguí las instrucciones en https://nodejs.org/en/download/package-manager
- Entrá a la página del proyecto en GitHub
- Hacé clic en el botón verde "Code"
- Seleccioná "Download ZIP"
- Descomprimí el archivo en la carpeta que prefieras (ej:
Documentos/dbeditor-flow)
git clone https://github.com/mdmarein/dbeditor-flow.git
cd dbeditor-flowHay dos formas de iniciar DBEditor Flow: desde la terminal o como una app con ícono en el escritorio.
Abrí una terminal en la carpeta del proyecto y escribí:
node server.jsAbrí el Símbolo del sistema en la carpeta del proyecto y escribí:
node server.js
Podés crear un acceso directo con ícono en tu escritorio para abrir DBEditor Flow con doble clic, sin necesidad de usar la terminal.
- Abrí una terminal en la carpeta del proyecto
- Ejecutá:
bash tools/make-mac-app.sh
- Se crea "DBEditor Flow.app" en tu escritorio
- Primera vez: clic derecho sobre el ícono → Abrir (macOS pide confirmación una sola vez)
- Las siguientes veces: doble clic normal
El app inicia el servidor automáticamente y abre el navegador en
http://localhost:3100.
Si el servidor ya está corriendo, solo abre el navegador.
- Abrí la carpeta del proyecto en el Explorador de archivos
- Entrá a la carpeta
tools - Hacé doble clic en
make-win-shortcut.bat - Se crea "DBEditor Flow" en tu escritorio
- Doble clic en el ícono para iniciar la app
Si aparece un error de permisos, clic derecho → Ejecutar como administrador.
Si usás la opción terminal, con el servidor corriendo abrí tu navegador y entrá a:
http://localhost:3100
Si usás el ícono instalado, el navegador se abre automáticamente.
Para cerrar el servidor desde la terminal: presioná Ctrl + C.
Cambiar puerto (opcional):
PORT=8080 node server.js # Mac / Linux
set PORT=8080 && node server.js # WindowsArrastrá tu archivo CSV, TSV o XLSX a la pantalla (o hacé clic para buscarlo). La app detecta automáticamente:
- El separador (coma
,, punto y coma;o tabulación\t) — para CSV/TSV - El encoding del archivo — para CSV/TSV
Para archivos XLSX: se lee la primera hoja. Las fórmulas muestran el valor cacheado. Los formatos de fecha aparecen como número serial de Excel (se pueden reformatear con la herramienta de formato incluida). Requiere Chrome 80+, Firefox 113+ o Safari 16.4+.
La tabla aparece paginada. Podés editar una celda con doble clic, o usar las herramientas del sidebar:
| Herramienta | Qué hace |
|---|---|
| Dividir | Separa una columna en dos por delimitador |
| Eliminar | Borra una o varias columnas |
| Agregar | Inserta una columna vacía |
| Reordenar | Cambia el orden de las columnas |
| Renombrar | Cambia el nombre del header |
| Merge | Combina dos columnas en una |
| Formato | Aplica presets de número, moneda, porcentaje o fecha |
| Mayúsculas/minúsculas | Convierte el case de los valores |
| Espacios | Recorta espacios al inicio/fin o los elimina todos |
| Agregar texto | Añade prefijo o sufijo a los valores |
| Buscar y reemplazar | Reemplaza texto en la columna |
| Quitar por posición | Elimina N caracteres desde el inicio o el final |
Botones ↩ y ↪ en el header — deshacé hasta 30 pasos.
Botón Descargar CSV — descarga el archivo con todos los cambios aplicados.
- Idioma: botón
EN/ESen el header. El idioma cambia al instante sin recargar la página ni perder el archivo abierto. - Tema: botón de sol/luna en el header, oscuro por defecto. No recarga la página.
Ambas preferencias se guardan en localStorage y persisten entre sesiones.
| Ruta | Método | Descripción |
|---|---|---|
/api/prep-formats |
GET | Devuelve presets de formato (número, moneda, porcentaje, fecha) |
/api/prep-formats |
POST | Guarda/actualiza los presets |
/api/health |
GET | Health check |
Cualquier ruta no reconocida sirve estáticos desde public/ con fallback a index.html.
dbeditor-flow/
├── server.js Servidor HTTP (sin deps), 3 endpoints REST + estáticos
├── start.sh / start.bat Arranque manual (Mac/Linux · Windows)
├── tools/
│ ├── make-mac-app.sh Genera DBEditor Flow.app para el Desktop (macOS)
│ ├── make-win-shortcut.bat Genera acceso directo para el Desktop (Windows)
│ ├── launch-windows.vbs Lanzador silencioso (usado por el acceso directo de Windows)
│ └── icons/ AppIcon.icns · dbeditor-flow.ico · dbeditor-flow_icon.png
├── data/
│ └── prep-formats.json Presets de formato número/fecha guardados por el usuario
└── public/
├── index.html Shell: pantalla de import + editor
├── css/styles.css
├── img/ Favicons (16/32/192/512 + .ico) · logo · ícono
└── js/
├── editor-core.js Lógica de la UI: tabla, sidebar, herramientas, edición inline
└── modules/
├── parser.js Parser/serializer CSV (RFC 4180), auto-detección de separador
├── xlsx-parser.js Parser XLSX sin dependencias (ZIP + DecompressionStream nativo)
├── prep.js Transformaciones puras de columnas (split, merge, formato, etc.)
├── i18n.js Diccionario ES/EN
└── utils.js Helpers de DOM, toast, etc.
Un editor standalone de archivos CSV, TSV y XLSX. Corre localmente en el navegador (localhost:3100), con backend Node.js y frontend en JavaScript vanilla. Sin dependencias npm. 100% offline — el servidor solo sirve archivos estáticos y guarda presets de formato; toda la edición ocurre en el cliente.
| Capa | Tecnología |
|---|---|
| Backend | Node.js puro (sin Express), CommonJS, 0 dependencias externas, 3 endpoints REST |
| Frontend | JavaScript ES6 modules + Vanilla JS, CSS3 con variables para temas claro/oscuro |
| XLSX | Parser ZIP + XML nativo (DecompressionStream + DOMParser) — sin librerías externas |
| Undo/Redo | Historial de snapshots completos del CSV en memoria (hasta 30 pasos) |
| Storage | data/prep-formats.json para presets, localStorage para preferencias de UI |
CSV/TSV/XLSX → Parsing client-side → Tabla paginada
→ Herramientas de edición (sidebar) → Transformaciones puras en prep.js
→ Undo/Redo (snapshots en memoria)
→ Export CSV
- Zero deps — sin
npm install, fácil de deployar en cualquier entorno con Node.js - Todo client-side — parsing, edición y export ocurren en el browser; el servidor solo sirve archivos estáticos y persiste presets de formato
- XLSX sin librerías — el parser XLSX descomprime el
.xlsx(que es un ZIP) usandoDecompressionStreamnativo del browser; requiere Chrome 80+, Firefox 113+ o Safari 16.4+ - Transformaciones puras — cada operación es una función
(csv) => newCsvenprep.js, nunca muta el estado en su lugar; facilita undo/redo por snapshots - Keys de localStorage heredadas —
datab-lang,datab-theme,editor_*son herencia de DataB Flow, mantenidas por compatibilidad
GNU Affero General Public License v3.0 — ver LICENSE.md.
DBEditor Flow · Editor de CSV y XLSX · © 2026 mdmarein · GNU AGPLv3
