Excel ワークシートのセルを保護する

Microsoft Excel は、スプレッドシートの作成と管理に広く使用されているツールです。 Excel の中核機能の 1 つは、データの整合性を維持するために特定のセルを保護する機能です。このチュートリアルでは、Aspose.Cells for .NET を使用して Excel スプレッドシート内の特定のセルを保護する方法を段階的に説明します。 Aspose.Cells for .NET は、優れた柔軟性と高度な機能を備えた Excel ファイルの操作を容易にする強力なプログラミング ライブラリです。表示された手順に従って、重要なセルを保護し、データを安全に保つ方法を学びましょう。

ステップ 1: 環境をセットアップする

開発環境に Aspose.Cells for .NET がインストールされていることを確認してください。 Aspose 公式 Web サイトからライブラリをダウンロードし、インストール手順についてはドキュメントを確認してください。

ステップ 2: ワークブックとワークシートの初期化

まず、新しいワークブックを作成し、セルを保護するワークシートへの参照を取得する必要があります。次のコードを使用します。

//ドキュメントディレクトリへのパス。
string dataDir = "YOUR DOCUMENTS DIRECTORY";
//ディレクトリがまだ存在しない場合は作成します。
bool exists = System.IO.Directory.Exists(dataDir);
if (! exists)
     System.IO.Directory.CreateDirectory(dataDir);

//新しいワークブックを作成する
Workbook workbook = new Workbook();

//最初のワークシートを取得する
Worksheet sheet = workbook.Worksheets[0];

このコード スニペットでは、最初に Excel ファイルが保存されるディレクトリへのパスを定義します。次に、の新しいインスタンスを作成します。Workbookクラスを作成し、次を使用して最初のワークシートへの参照を取得します。Worksheets財産。

ステップ 3: セルのスタイルを定義する

次に、保護するセルのスタイルを定義する必要があります。次のコードを使用します。

//スタイルオブジェクトを定義する
Styling styling;

//ワークシート内のすべての列をループし、ロックを解除します
for (int i = 0; i <= 255; i++)
{
     style = sheet.Cells.Columns[(byte)i].Style;
     style. IsLocked = false;
     leaf.Cells.Columns[(byte)i].ApplyStyle(style, new StyleFlag { Locked = true });
}

このコードでは、ループを使用してワークシート内のすべての列をループし、スタイルの設定によってセルのロックを解除します。IsLocked財産をfalse。次に、ApplyStyleメソッドを使用して列にスタイルを適用します。StyleFlagセルをロックするフラグ。

ステップ 4: 特定の細胞を保護する

次に、ロックしたい特定のセルを保護します。次のコードを使用します。

// 3 つのセルをロックします: A1、B1、C1
style = sheet.Cells["A1"].GetStyle();
style. IsLocked = true;
sheet.Cells["A1"].SetStyle(style);

style = sheet.Cells["B1"].GetStyle();
style. IsLocked = true;
sheet.Cells["B1"].SetStyle(style);

style = sheet.Cells["C1"].GetStyle();
style. IsLocked = true;
sheet.Cells["C1"].SetStyle(style);

このコードでは、次のメソッドを使用して特定の各セルのスタイルを取得します。GetStyleメソッドを設定し、IsLockedスタイルのプロパティをtrueセルをロックします。最後に、更新されたスタイルを各セルに適用します。SetStyle方法。

ステップ 5: ワークシートを保護する

保護するセルを定義したので、ワークシート自体を保護できます。次のコードを使用します。

//ワークシートを保護する
leaf.Protect(ProtectionType.All);

このコードでは、Protect指定された保護タイプでワークシートを保護するメソッド (この場合)ProtectionType.Allこれにより、ワークシート内のすべての項目が保護されます。

ステップ 6: Excel ファイルを保存する

最後に、変更を加えた Excel ファイルを保存します。次のコードを使用します。

//Excelファイルを保存します
workbook.Save(dataDir + "output.xls", SaveFormat.Excel97To2003);

このコードでは、Save指定されたディレクトリにワークブックを保存するメソッドExcel97To2003フォーマット。

Aspose.Cells for .NET を使用した Excel ワークシートのセルの保護のサンプル ソース コード

//ドキュメントディレクトリへのパス。
string dataDir = "YOUR DOCUMENT DIRECTORY";
//ディレクトリが存在しない場合は作成します。
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
//新しいワークブックを作成します。
Workbook wb = new Workbook();
//ワークシート オブジェクトを作成し、最初のシートを取得します。
Worksheet sheet = wb.Worksheets[0];
//スタイルオブジェクトを定義します。
Style style;
//スタイルフラグオブジェクトを定義する
StyleFlag styleflag;
//ワークシート内のすべての列をループし、ロックを解除します。
for (int i = 0; i <= 255; i++)
{
    style = sheet.Cells.Columns[(byte)i].Style;
    style.IsLocked = false;
    styleflag = new StyleFlag();
    styleflag.Locked = true;
    sheet.Cells.Columns[(byte)i].ApplyStyle(style, styleflag);
}
// 3 つのセル (A1、B1、C1) をロックします。
style = sheet.Cells["A1"].GetStyle();
style.IsLocked = true;
sheet.Cells["A1"].SetStyle(style);
style = sheet.Cells["B1"].GetStyle();
style.IsLocked = true;
sheet.Cells["B1"].SetStyle(style);
style = sheet.Cells["C1"].GetStyle();
style.IsLocked = true;
sheet.Cells["C1"].SetStyle(style);
//最後に、シートを保護します。
sheet.Protect(ProtectionType.All);
// Excel ファイルを保存します。
wb.Save(dataDir + "output.xls", SaveFormat.Excel97To2003);

結論

おめでとうございます! Aspose.Cells for .NET を使用して Excel スプレッドシート内の特定のセルを保護する方法を学習しました。この手法を独自のプロジェクトに適用して、Excel ファイルのセキュリティを向上できるようになりました。

よくある質問

Q: Excel スプレッドシートのセルを保護するために、Aspose.Cells for .NET を使用する必要があるのはなぜですか?

A: Aspose.Cells for .NET は、Excel ファイルの操作を容易にする強力なライブラリです。セルの保護、範囲のロック解除などの高度な機能を提供します。

Q: 個々のセルではなくセル範囲を保護することは可能ですか?

A: はい、保護する特定のセル範囲を定義できます。ApplyStyle適切な方法でStyleFlag.

Q: 保護された Excel ファイルを保存した後に開くにはどうすればよいですか?

A: 保護された Excel ファイルを開くときは、ワークシートを保護するときに指定したパスワードを入力する必要があります。

Q: Excel スプレッドシートに適用できる他の種類の保護はありますか?

A: はい、Aspose.Cells for .NET は、構造保護、ウィンドウ保護など、複数の種類の保護をサポートしています。ニーズに応じて、適切な種類の保護を選択できます。