// npx ts-node xlsx-template.ts import * as readline from 'node:readline/promises'; // This uses the promise-based APIs import { stdin as input, stdout as output } from 'node:process'; import {xlsxTemplateX} from '../src/libs/xlsx-template-lib' import {templateData} from '../src/libs/report-template' import fs from 'fs'; (async ()=>{ const rl = readline.createInterface({ input, output }); const e = await rl.question('Output extension(xlsx,pdf,ods): '); const ext =e?e:"xlsx" const dpath = await rl.question('JSON data path(./xlsx.json): '); const datapath = dpath?dpath:"./xlsx.json" const data_raw = fs.readFileSync(datapath); const tdata:templateData = JSON.parse(data_raw.toString()); const bpath = await rl.question('Base path of templates-docx(..): '); const basepath = bpath?bpath:".." let buffer = await xlsxTemplateX(basepath,tdata,ext) fs.writeFileSync(tdata.reportName+"."+ext, buffer); rl.close(); })()