A tiny ODS generator (OpenDocument Spreadsheet) in TypeScript for Node and browser
npm install minimalist-odsPequeñísima librería para generar archivos .ods (OpenDocument Spreadsheet) en Node o navegador.
Nota: Tomado de https://github.com/tachomex/minimalist-ods
``bash``
npm i minimalist-ods
`ts
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();
`
`ts
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);
}
`
* new MinimalistODS(saveAsPath?: string, creator = "minimalist-ods")openTable(name: string, cols: number): void
* addRow(row: (string|number|boolean|null|undefined)[]): void
* closeTable(): void
* closeFile(): Promise
* — genera el .odssaveToDisk(path: string): Promise
* — helper Node (usa import dinámico de fs/promises)
* La entrada mimetype se agrega como primera entrada del ZIP y sin compresión, como recomienda ODF.office:value-type="float"
* Los valores numéricos se escriben con y su representación en