我正在寻找一个npm软件包或任何其他解决方法,以能够生成带有密码的xlsx文件。我不想保护工作表或单元格...我希望保护整个文件的密码。 我发现很少有很好的程序包(excel4node,exceljs ..),但是它们都不能够满足我的需要。
任何建议表示赞赏
答案 0 :(得分:0)
您可以使用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" });
});
生成的工作簿将要求用户输入正确的密码才能访问它。
答案 1 :(得分:0)
您可以使用exceljs包,它提供了一种创建受写保护的excel的方法,但不提供受密码保护的excel工作表。
await worksheet.protect('the-password', options);
参考:https://github.com/exceljs/exceljs#sheet-protection
但是,如果要创建一个受密码保护的Excel工作表,则可以使用xlsx-populate程序包。
XLSX支持敏捷加密和解密,因此您可以读写受密码保护的工作簿。要阅读受保护的工作簿,请输入密码作为选择:
XlsxPopulate.fromFileAsync("./Book1.xlsx", { password: "S3cret!" })
.then(workbook => {
// ...
});
类似地,编写一个密码加密的工作簿:
workbook.toFileAsync("./out.xlsx", { password: "S3cret!" });