有什么方法可以在 NodeJS 中生成受密码保护的 XLSX?
Is there any way to generate password protected XLSX in NodeJS?
我正在寻找 npm 包或任何其他解决方法,以便能够生成带密码的 xlsx 文件。我不想保护 sheet(s) 或单元格...我想保护整个文件密码。
我发现很少有很好的软件包(excel4node、exceljs..),但其中 none 能够满足我的需求。
任何建议表示赞赏
您可以使用 xlsx-populate 模块来执行此操作,例如:
const XlsxPopulate = require('xlsx-populate');
XlsxPopulate.fromBlankAsync().then(workbook => {
workbook.sheet("Sheet1").cell("A1").value("Some sample text");
return workbook.toFileAsync("./test.xlsx", { password: "$secret_password" });
});
生成的工作簿将要求用户输入正确的密码才能访问它。
你可以使用exceljs包,它提供了创建写保护的方法excel,但不提供密码保护excel sheet.
await worksheet.protect('the-password', options);
参考:https://github.com/exceljs/exceljs#sheet-protection
但是如果你想创建一个密码保护 excel sheet 那么你可以使用 xlsx-populate 包。
支持XLSX Agile加密解密,可以读写受密码保护的工作簿。要阅读受保护的工作簿,请将密码作为选项传递:
XlsxPopulate.fromFileAsync("./Book1.xlsx", { password: "S3cret!" })
.then(workbook => {
// ...
});
同理,写一个密码加密的工作簿:
workbook.toFileAsync("./out.xlsx", { password: "S3cret!" });
我正在寻找 npm 包或任何其他解决方法,以便能够生成带密码的 xlsx 文件。我不想保护 sheet(s) 或单元格...我想保护整个文件密码。 我发现很少有很好的软件包(excel4node、exceljs..),但其中 none 能够满足我的需求。
任何建议表示赞赏
您可以使用 xlsx-populate 模块来执行此操作,例如:
const XlsxPopulate = require('xlsx-populate');
XlsxPopulate.fromBlankAsync().then(workbook => {
workbook.sheet("Sheet1").cell("A1").value("Some sample text");
return workbook.toFileAsync("./test.xlsx", { password: "$secret_password" });
});
生成的工作簿将要求用户输入正确的密码才能访问它。
你可以使用exceljs包,它提供了创建写保护的方法excel,但不提供密码保护excel sheet.
await worksheet.protect('the-password', options);
参考:https://github.com/exceljs/exceljs#sheet-protection
但是如果你想创建一个密码保护 excel sheet 那么你可以使用 xlsx-populate 包。
支持XLSX Agile加密解密,可以读写受密码保护的工作簿。要阅读受保护的工作簿,请将密码作为选项传递:
XlsxPopulate.fromFileAsync("./Book1.xlsx", { password: "S3cret!" })
.then(workbook => {
// ...
});
同理,写一个密码加密的工作簿:
workbook.toFileAsync("./out.xlsx", { password: "S3cret!" });