hrms-report-template/test-run/xlsx-template.ts
2023-10-07 17:29:53 +07:00

21 lines
972 B
TypeScript

// 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();
})()