minimalist-ods
v1.0.0
Published
A tiny ODS generator (OpenDocument Spreadsheet) in TypeScript for Node and browser
Downloads
19
Maintainers
Readme
Pequeñísima librería para generar archivos .ods (OpenDocument Spreadsheet) en Node o navegador.
Nota: Tomado de https://github.com/tachomex/minimalist-ods
Instalación
npm i minimalist-odsUso rápido (Node)
import { MinimalistODS } from "minimalist-ods";
async function main() {
const ods = new MinimalistODS(undefined, "minimalist-ods");
ods.openTable("Hoja1", 3);
ods.addRow(["Nombre", "Edad", "Saldo"]);
ods.addRow(["Ana", 29, 1234.56]);
ods.addRow(["Luis", 31, 987.65]);
ods.closeTable();
// Guardar a disco (Node)
await ods.saveToDisk("ejemplo.ods");
}
main();Uso en navegador
import { MinimalistODS } from "minimalist-ods";
async function demo() {
const ods = new MinimalistODS(undefined, "web-client");
ods.openTable("Sheet1", 2);
ods.addRow(["A", "B"]);
ods.addRow(["Hola", 123]);
ods.closeTable();
const bytes = await ods.closeFile();
const blob = new Blob([bytes], { type: "application/vnd.oasis.opendocument.spreadsheet" });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "demo.ods";
a.click();
URL.revokeObjectURL(url);
}API
new MinimalistODS(saveAsPath?: string, creator = "minimalist-ods")openTable(name: string, cols: number): voidaddRow(row: (string|number|boolean|null|undefined)[]): voidcloseTable(): voidcloseFile(): Promise<Uint8Array>— genera el.odssaveToDisk(path: string): Promise<void>— helper Node (usa import dinámico defs/promises)
Notas
- La entrada
mimetypese agrega como primera entrada del ZIP y sin compresión, como recomienda ODF. - Los valores numéricos se escriben con
office:value-type="float"y su representación en<text:p>.
