使用密碼保護服務對 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 檔案進行密碼保護。請造訪文件以了解更多詳細資訊。

也可以看看