使用密码保护服务对 Excel 进行密码保护

使用 MS Excel 文件来存储、表示和共享业务数据是一项例行任务。 Excel 工作簿还可能包含机密信息,在组织外部共享时可能会成为安全风险。幸运的是,有一项功能可以使用密码锁定 Excel 电子表格,这样第三方就无法打开文件并访问数据。但是,我们可以使用密码保护服务以编程方式自动化整个过程。此 GroupDocs.Merger Cloud SDK for Node.js 提供了有效使用密码保护 Excel 文件的功能。

本博文将涵盖以下几点:

安装密码保护服务

该密码保护服务的安装过程非常简单。由于我们将在基于 Node.js 的项目中设置此 API,并且 GroupDocs.Merger Cloud SDK for Node.js 可在 NPM 包注册表中找到。

因此,您可以运行以下命令来安装此Node.js SDK来实现文件锁定功能:

npm install groupdocs-merger-cloud

如何获取 API 凭证以使用 GroupDocs.Merger Cloud SDK?

安装成功后,下一步是按照以下步骤获取客户端 ID 和客户端密钥:

  • 导航至仪表板并登录。
  • 创建新的应用程序和存储。
  • 点击“保存”按钮,您可以通过导航到新创建的应用程序来获取 API 凭据。

整个流程如下图所示:

获取密码保护服务的API凭证

在 Node.js 中以编程方式保护 Excel 文件?

我们已准备好使用 GroupDocs.Merger Cloud SDK for Node.js 实现向 Excel 文件添加密码的功能。此外,我们不仅会编写对电子表格进行密码保护的步骤,还会编写将密码无缝添加到 Excel 工作簿的代码片段。

以下是使用此密码保护服务的步骤:

  • 在您的应用程序中包含 groupdocs-merger-cloud 模块。
  • 使用 Client ID 和 Client Secret 初始化配置对象。
  • 使用配置对象初始化 FileApi 类的实例。
  • 从光盘中打开 IOStream 中的文件。
  • 调用fs.readFile方法读取文件。
  • 初始化UploadFileRequest类的对象以发出文件上传请求。
  • 通过调用 uploadFile 方法上传文件。
  • 使用 API 凭据实例化 SecurityApi。
  • 通过设置 filePath、password、outputPath 等值来准备一个 Options 类的对象。
  • 调用 addPassword 方法对 Excel 文件进行密码保护,该文件将在云端保存结果文件。
  • 通过初始化 DownloadFileRequest 类的对象来创建下载结果文件的请求。
  • 通过调用 downloadFile 方法下载文件。

将以下代码复制并粘贴到主文件中,然后运行项目以通过编程方式锁定 Excel 电子表格:

您可以使用要受密码保护的源 Excel 文件。

// 在您的应用程序中包含 groupdocs-merger-cloud 模块。
const groupdocs_merger_cloud = require("groupdocs-merger-cloud");
const fs = require("fs");

clientId = "xxxxxxxxxxxxxxxxx";
clientSecret = "xxxxxxxxxxxxxxxxx";
myStorage = "test";
// 使用 Client ID 和 clientSecret 初始化 Configuration 对象。
const configuration = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

// 使用配置对象初始化 FileApi 类的实例。
var fileApi = new groupdocs_merger_cloud.FileApi(configuration);

// 从光盘中打开 IOStream 中的文件。
var resourcesFolder = '/sample.xlsx';

// 调用fs.readFile方法读取文件。
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 初始化UploadFileRequest类的对象以发出文件上传请求。
  var request = new groupdocs_merger_cloud.UploadFileRequest("sample.xlsx", fileStream, myStorage);
  // 通过调用 uploadFile 方法上传文件。
  fileApi.uploadFile(request).then(()=>{
  // 使用 API 凭据实例化 SecurityApi。
  const securityApi = groupdocs_merger_cloud.SecurityApi.fromKeys(clientId, clientSecret);
  // 通过设置 filePath、password、outputPath 等值来准备一个 Options 类的对象。
  let options = new groupdocs_merger_cloud.Options();
  options.fileInfo = new groupdocs_merger_cloud.FileInfo();
  options.fileInfo.filePath = "sample.xlsx";  
  options.fileInfo.password = "qwerty";  
  options.outputPath = "Output/sample-protected.xlsx";
 // 调用 addPassword 方法对 Excel 文件进行密码保护并保存结果文件。
  securityApi.addPassword(new groupdocs_merger_cloud.AddPasswordRequest(options)).then((data)=>{

    // 通过初始化 DownloadFileRequest 类的对象来创建下载结果文件的请求。
    let request = new groupdocs_merger_cloud.DownloadFileRequest("/Output/sample-protected.xlsx", myStorage);
    
    // 通过调用 downloadFile 方法下载文件。
    fileApi.downloadFile(request).then(function(response){
      fs.writeFile("/sample-protected.xlsx", response, "binary", function (err) { })
      })
    });
  });
});

成功运行后,您将看到文件sample-protected.xlsx下载到您的计算机上。打开此文件后,您将看到下图所示的输出:

为 Excel 添加密码

在线为 Excel 文件添加密码

您可以使用我们的在线工具立即锁定Excel电子表格。此外,它是免费的,您无需任何订阅或创建帐户即可使用它。

在线密码保护 Excel

结论

这篇博文到此结束。我们学习了如何使用 GroupDocs.Merger Cloud SDK for Node.js 对 Excel 文件进行密码保护。此外,我们还完成了该密码保护服务的安装和设置过程。如果您希望以编程方式自动执行锁定 Excel 电子表格的过程,本指南将为您提供帮助。此外,您可以直接在浏览器中与我们的API进行交互,并且您可以在GitHub上找到Node.js SDK的源代码。

此外,我们建议您遵循我们的入门指南

最后,groupdocs.cloud 一直在撰写新文章。所以,请继续关注最新更新。

问一个问题

您可以在我们的论坛上告诉我们您的问题或疑问。

常见问题 – 常见问题解答

如何使用密码保护Excel文件?

您可以使用 GroupDocs.Merger Cloud SDK for Node.js 自动执行向 Excel 工作簿添加密码的过程。另外,请点击此链接了解详细答案。

如何使用Python对Excel文件进行密码保护?

GroupDocs.Merger Cloud SDK for Python 可让您以编程方式对 Excel 文件进行密码保护。请访问文档了解更多详细信息。

也可以看看