スプレッドシート ファイルを不正アクセスから保護する方法を学びましょう。以前、違法な使用を避けるためにExcel スプレッドシートにテキストと画像の透かしを追加するについて説明しました。この記事では、C# を使用して Excel ファイルをパスワード保護する方法を説明します。さらに、既存のパスワードを変更し、Excel ファイルのロックを解除するためのパスワードを削除する方法も学習します。

Excel ファイルをプログラムでパスワードで保護 - ロック解除

以下のトピックについて説明します。

Excel ファイルをロックおよびロック解除するための .NET API

ドキュメントのロックとロック解除には、GroupDocs.Merger for .NET を使用します。この API を使用すると、.NET アプリケーション内のドキュメントのパスワード セキュリティ機能を追加、変更、削除できます。 Excel スプレッドシートの保護および保護解除に加えて、API は、ドキュメント で説明されている結合や分割など、さらに多くの機能を提供します。

ダウンロード セクション から DLL または MSI インストーラーをダウンロードするか、NuGet 経由で .NET アプリケーションに API をインストールできます。

PM> Install-Package GroupDocs.Merger

C# を使用して Excel ファイルをパスワード保護する - スプレッドシートをロックする

スプレッドシートをパスワードでロックする

まず、ファイルをパスワードでロックして保護を追加しましょう。次の手順では、C# を使用して Excel スプレッドシートにパスワード セキュリティを追加する方法を示します。

  • AddPasswordOptions クラスを使用してパスワードを定義します。
  • Mergerクラスを使用してExcelファイル(XLS/XLSX)を読み込みます。
  • AddPassword メソッドを使用してパスワードを追加し、ファイルをロックします。
  • Save メソッドを使用して、保護されたスプレッドシートを保存します。

次の C# コードは、セキュリティのために Excel ファイルにパスワードを追加します。

/*
 * C# を使用して Excel スプレッドシート ファイル (XLS/XLSX) にパスワード保護を追加する
 */
string filePath = @"path/spreadsheet.xlsx";

AddPasswordOptions addOptions = new AddPasswordOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath))
{
    merger.AddPassword(addOptions);
    merger.Save(@"path/protected-spreadsheet.xlsx");
}

上記のコードの出力は次のとおりです。スプレッドシート ファイルを開こうとすると、編集者または閲覧者は権限を証明するためにパスワードを要求します。

保護されたファイルにパスワードを入力してください

C# を使用して Excel ファイルの既存のパスワードを更新する

あなたのパスワードは本当に公開されていますか?次回からはもっと気をつけてください。すぐにプログラムで新しい、少し難しいものに変更してみましょう。次の手順では、C# の .NET アプリケーション内のスプレッドシート ファイルの現在のパスワードを変更できます。

  • まず、現在のパスワードを使用して読み込みオプションを準備します。
  • 次に、新しいパスワードを使用してパスワード更新オプションを準備します。
  • 次に、Merger クラスとロード オプションを使用して XLS/XLSX ファイルをロードします。
  • ここで、UpdatePassword メソッドを使用して既存のパスワードを変更します。
  • 最後に、Save メソッドを使用して、パスワードを変更したロックされたファイルを保存します。

以下は、スプレッドシート ファイルの現在のパスワードを変更するコード スニペットです。

/*
 * C# を使用して保護された Excel スプレッドシートのパスワードを変更する
 */
string filePath = @"path/protected-spreadsheet.xlsx";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");
UpdatePasswordOptions updateOptions = new UpdatePasswordOptions("TOPSECRET_pa22WORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.UpdatePassword(updateOptions);
    merger.Save(@"path/pwd-changed-spreadsheet.xlsx");
}

C# を使用してパスワードを削除して Excel スプレッドシート ファイルの保護を解除する - XLS/XLSX のロックを解除する

スプレッドシートのロックが解除されました - パスワードが削除されました

スプレッドシートが安全な場所にある場合は、パスワードを削除して簡単にアクセスできます。次の手順では、C# を使用してパスワードを削除して Excel ファイルのロックを解除する方法を示します。

  • ファイルのパスワードを使用して読み込みオプションを準備します。
  • Merger クラスとロード オプションを使用してスプレッドシート ファイルをロードします。
  • RemovePassword メソッドを使用して既存のパスワードを削除します。
  • Save メソッドを使用して、ロック解除されたファイルを保存します。

次の C# コード スニペットは、既存のパスワードを削除して Excel ファイルのロックを解除するため、誰でも承認なしで Excel ファイルにアクセスできます。

/*
 * C# を使用して Excel スプレッドシートからパスワード保護を削除する
 */
string filePath = @"path/protected-spreadsheet.xlsx";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.RemovePassword();
    merger.Save(@"path/unlocked-spreadsheet.xlsx");
}

結論

今日学んだことをまとめましょう。まずは単純な Excel スプレッドシート (XLS/XLSX) ファイルから始めて、パスワード保護を追加しました。次に、その保護されたスプレッドシートの既存のパスワードを変更しました。最終的に、保護されたファイルのパスワードを削除して Excel スプレッドシートの保護を解除する方法を学びました。これで、.NET API を使用して独自のパスワード プロテクタおよびパスワード リムーバ アプリケーションを構築できるようになりました。

GroupDocs.Merger for .NET の詳細については、ドキュメント を参照してください。ご質問がある場合は、フォーラム 経由でご連絡ください。

無料の API ライセンスを取得する

評価制限なしで API を使用するために、無料の一時ライセンスを取得できます。

関連項目