MS Excelは、スプレッドシート内のデータを許可されていないユーザーから保護するための暗号化メカニズムを提供します。暗号化を適用するとともに、Excelファイルを開くために必要なパスワードを指定できます。この記事では、.NETアプリケーション内からExcelファイルの暗号化を実行する方法について説明します。特に、C#を使用してExcelファイルを暗号化および復号化する方法を学習します。
- Excelファイルを暗号化または復号化するC#API
- C#を使用してExcelファイルを暗号化する
- C#を使用してExcelファイルを復号化する
- 暗号化された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ファイルを暗号化する手順です。
- Workbookクラスを使用してExcelファイルをロードします。
- Workbook.SetEncryptionOptions(EncryptionType, int)メソッドを使用して、目的の暗号化を適用します。
- Workbook.Settings.Passwordプロパティを使用してパスワードを設定します。
- Workbook.Save(string)メソッドを使用してブックを保存します。
次のコードサンプルは、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ファイルを復号化する
以下は、Aspose.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の詳細を調べることができます。