docs.sheetjs.com/docz/static/nuxt/2/sheetformer.ts

15 lines
531 B
TypeScript
Raw Normal View History

2023-08-17 20:30:13 +00:00
// @ts-ignore
import { defineTransformer } from "@nuxt/content/transformers/utils";
import { read, utils } from "xlsx";
import { readFileSync } from "node:fs";
2025-05-18 20:09:19 +00:00
import { resolve } from "node:path";
2023-08-17 20:30:13 +00:00
export default defineTransformer({
name: 'sheetformer',
extensions: ['.xlsx'],
parse (_id: string, rawContent: string) {
const wb = read(readFileSync(resolve("./content/" + _id.slice(8))));
2025-04-24 00:30:01 +00:00
const body = wb.SheetNames.map(name => ({ name, data: utils.sheet_to_json(wb.Sheets[name]!)}));
2023-08-17 20:30:13 +00:00
return { _id, body };
}
});