@lacspace/xlsx
Write real Excel (.xlsx) files with zero dependencies and no headless browser — objects or arrays to a workbook, correct types (string/number/boolean/Date), bold headers, column widths, multiple sheets. Isomorphic (Node, edge, browser).
npm i @lacspace/xlsxUsage
import { jsonToXlsx } from "@lacspace/xlsx";
import { writeFileSync } from "node:fs";
const bytes = jsonToXlsx([
{ name: "Ada Lovelace", signups: 12, active: true, joined: new Date("2026-01-15") },
{ name: "Alan Turing", signups: 7, active: false, joined: new Date("2026-02-01") },
]);
writeFileSync("users.xlsx", bytes); // Node
// or serve a download:
return new Response(bytes, {
headers: {
"content-type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"content-disposition": 'attachment; filename="users.xlsx"',
},
});
// ...and READ one back — bulk import from an uploaded sheet.
// Handles real Excel exports (STORE + DEFLATE), shared strings and dates.
const rows = await xlsxToJson(bytes);
// [{ name: "Ada Lovelace", signups: 12, active: true, joined: <Date> }, ...]Exports 8
WorkbookaoaToXlsxcolumnLetterjsonToXlsxreadWorkbookxlsxToJsonsheetToJsonsheetToAoaKeywords
xlsxexcelexcel-exportxlsx-writerspreadsheetexport-to-excel