暗号化復号化Excelファイル

MS Excelは、スプレッドシート内のデータを許可されていないユーザーから保護するための暗号化メカニズムを提供します。暗号化を適用するとともに、Excelファイルを開くために必要なパスワードを指定できます。この記事では、.NETアプリケーション内からExcelファイルの暗号化を実行する方法について説明します。特に、C#を使用してExcelファイルを暗号化および復号化する方法を学習します。

Excelファイルを暗号化または復号化するC#API

この記事では、Excelファイルに対して暗号化および復号化操作を実行するために、Aspose.Cells for .NETAPIを使用します。 APIは、必要な暗号化タイプでExcelファイルを暗号化およびパスワード保護する簡単な方法を提供します。 APIをダウンロードするか、NuGetを使用して.NETアプリケーションにインストールできます。

Install-Package Aspose.Cells

C#を使用してExcelファイルを暗号化する

Aspose.Cells for .NETは、MS Excelと同じ方法でExcelファイルを暗号化するために、SHAおよびAES暗号化タイプをサポートしています。 Excel 2003ファイルの場合、次の暗号化タイプから選択できます。

  • XOR
  • 互換性(Office 97/2000互換)
  • 強化された暗号化プロバイダーV1
  • 強力な暗号化プロバイダー

以下は、C#を使用してExcelファイルを暗号化する手順です。

次のコードサンプルは、C#を使用してExcelファイルを暗号化する方法を示しています。

// Excelファイルを開く
Workbook workbook = new Workbook("Book1.xls");

// XOR暗号化タイプを指定します
workbook.SetEncryptionOptions(EncryptionType.XOR, 40);

// 強力な暗号化タイプを指定する(RC4、Microsoft強力な暗号化プロバイダー)
workbook.SetEncryptionOptions(EncryptionType.StrongCryptographicProvider, 128);

// ファイルをパスワードで保護する
workbook.Settings.Password = "1234";

// Excelファイルを保存します
workbook.Save("encryptedBook.xls");

C#を使用してExcelファイルを復号化する

以下は、Aspsoe.Cells for.NET APIを使用してExcelファイルを復号化する手順です。

  • Workbookクラスのコンストラクターにパスとパスワードを指定して、Excelファイルをロードします。
  • Workbook.Settings.Passwordプロパティを使用して、パスワードをnullに設定します。
  • Workbook.Save(string)メソッドを使用してブックを保存します。

次のコードサンプルは、C#を使用してExcelファイルを復号化する方法を示しています。

// Excelファイルを開く
Workbook workbook = new Workbook("encryptedBook.xlsx", new LoadOptions { Password="1234" });

// パスワードをnullに設定します
workbook.Settings.Password = null;

// Excelファイルを保存します。
workbook.Save("decryptedBook.xlsx");

C#を使用して暗号化されたExcelファイルのパスワードを確認する

Aspose.Cells for .NETでは、暗号化されたExcelファイルのパスワードを確認することもできます。このためには、以下の手順に従うことができます。

  • FileStreamクラスを使用してExcelファイルをロードします。
  • パスワードを確認するには、bool値を返すFileFormatUtil.VerifyPassword(FileStream, string)メソッドを使用します。
  • 戻り値がtrueの場合、パスワードは有効です。それ以外の場合、パスワードは無効です。

次のコードサンプルは、C#を使用して暗号化されたExcelファイルのパスワードを確認する方法を示しています。

// Streamオブジェクトを作成します
FileStream fstream = new FileStream("EncryptedBook1.xlsx", FileMode.Open);

// パスワードを照合します
bool isPasswordValid = FileFormatUtil.VerifyPassword(fstream, "1234");

// 結果を印刷する
Console.WriteLine("Password is Valid: " + isPasswordValid);

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

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

結論

この記事では、.NETアプリケーション内からC#を使用してExcelファイルを暗号化および復号化する方法を学習しました。さらに、暗号化されたExcelファイルのパスワードを確認する方法を見てきました。 ドキュメントを使用して、C#Excel自動化APIの詳細を調べることができます。

関連項目