首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在NodeJS中生成受密码保护的XLSX?

有没有办法在NodeJS中生成受密码保护的XLSX?
EN

Stack Overflow用户
提问于 2019-01-18 17:22:28
回答 2查看 3.7K关注 0票数 4

我正在寻找一个npm包或任何其他变通办法,以能够生成密码的xlsx文件。我不想保护工作表或单元格...我要保护整个文件的密码。我发现很少有很好的包(excel4node,exceljs..)但他们都不能做我需要的事情。

感谢您的任何建议

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-18 17:33:20

您可以使用xlsx-populate模块来执行此操作,例如:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2020-04-07 16:20:14

你可以使用exceljs包,它提供了一种创建写保护的excel的方法,但不提供密码保护的excel工作表。

代码语言:javascript
复制
await worksheet.protect('the-password', options);

参考:https://github.com/exceljs/exceljs#sheet-protection

但是如果你想创建一个受密码保护的excel表格,那么你可以使用xlsx填充包。

支持XLSX敏捷加密和解密,因此您可以读取和写入受密码保护的工作簿。要读取受保护的工作簿,请将密码作为选项传入:

代码语言:javascript
复制
XlsxPopulate.fromFileAsync("./Book1.xlsx", { password: "S3cret!" })
.then(workbook => {
    // ...
});

类似地,要编写密码加密的工作簿:

代码语言:javascript
复制
workbook.toFileAsync("./out.xlsx", { password: "S3cret!" });

参考:https://github.com/dtjohnson/xlsx-populate#encryption

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54250905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档