UNPKG

xlsx-encrypter

Version:

Service for generating and encrypting Excel/XLSX files

40 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.XlsxGenerator = void 0; const xlsx_1 = require("xlsx"); const XlsxPopulate = require("xlsx-populate"); class XlsxGenerator { createWorkSheet(data, sheetName, headers, cellOrigin) { const options = { header: headers, origin: cellOrigin, }; return { sheet: xlsx_1.utils.json_to_sheet(data, options), name: sheetName, }; } async exportWorkSheetsToFile(filePath, workSheets, password) { const workBook = this.createWorkBook(); for (const workSheet of workSheets) { xlsx_1.utils.book_append_sheet(workBook, workSheet.sheet, workSheet.name); } xlsx_1.writeFile(workBook, filePath); if (password) { await this.encryptXlsxFile(filePath, password); } } createWorkBook() { return xlsx_1.utils.book_new(); } async encryptXlsxFile(filePath, password) { // eslint-disable-next-line @typescript-eslint/no-explicit-any await XlsxPopulate.fromFileAsync(filePath).then(async (workbook) => { await workbook.toFileAsync(filePath, { password, }); }); } } exports.XlsxGenerator = XlsxGenerator; //# sourceMappingURL=index.js.map