我正在寻找一个npm包或任何其他变通办法,以能够生成密码的xlsx文件。我不想保护工作表或单元格...我要保护整个文件的密码。我发现很少有很好的包(excel4node,exceljs..)但他们都不能做我需要的事情。
感谢您的任何建议
发布于 2019-01-18 17:33:20
您可以使用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" });
});如果用户希望访问工作簿,则生成的工作簿将要求用户输入正确的密码。
发布于 2020-04-07 16:20:14
你可以使用exceljs包,它提供了一种创建写保护的excel的方法,但不提供密码保护的excel工作表。
await worksheet.protect('the-password', options);参考:https://github.com/exceljs/exceljs#sheet-protection
但是如果你想创建一个受密码保护的excel表格,那么你可以使用xlsx填充包。
支持XLSX敏捷加密和解密,因此您可以读取和写入受密码保护的工作簿。要读取受保护的工作簿,请将密码作为选项传入:
XlsxPopulate.fromFileAsync("./Book1.xlsx", { password: "S3cret!" })
.then(workbook => {
// ...
});类似地,要编写密码加密的工作簿:
workbook.toFileAsync("./out.xlsx", { password: "S3cret!" });https://stackoverflow.com/questions/54250905
复制相似问题