C#を使用してExcelドキュメントを保護する方法

Excelドキュメントの保護に関して、最初に頭に浮かぶのはパスワード保護の方法ではないでしょうか。しかしWordとは少し違って、一般に、各Excelワークブックには、多かれ少なかれ特定の数のワークシートが含まれているため、したがって、Excelドキュメントを保護するのは、ワークブックの保護とワークシートの保護という2つの種類に分類されます。Excel 2013で、左上隅にある「ファイル」->「情報」をクリックして、ワークブックの保護と当のワークシートの保護である2つのオプションを見つけます。ファイルのパスワード保護を設定することで、ドキュメントのプライバシーを保護したり、他のユーザーがファイルを変更できないようにしたりできます。もちろん、それを実現する方法がいろいろあります。今日は主にC#プログラミングおよび使いやすいコンポーネントであるSpire.XLS for .NETを使用してExcelドキュメントを保護する方法を記述しています。

 

パート1:ワークブックを保護する

 

詳細な手順:

 

ステップ1:名前空間を使用する:

 

新しいVisual C#プロジェクトを作成し、参照を追加して、次の名前空間を使用します。

using Spire.Xls;

 

ステップ2:新しいワークブックオブジェクトを作成し、保護するExcelドキュメントを読み込みます。

Workbook book = new Workbook();

book.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

 

ステップ3:パスワードで保護されたブックを設定します。

book.Protect("abc-123");

 

パート2:ワークシートを保護する

 

ここでは、保護ワークシートをパスワード保護とパスワードおよび操作モード保護の2つのカテゴリに分けられます。

 

パスワード保護:パスワード保護が設定された後、ユーザーはワークシートに変更を加えることができなくなります。これは読み取り専用に相当します。変更する場合は、パスワードを入力して保護を解除する必要があります。

 

パスワードと操作モードの保護:このモードでは、ユーザーは一部の操作を変更できます。

 

ステップ4:ブックの保護と同様に、保護する必要のあるワークシートを取得し、パスワードと操作保護を設定します(ここでは、最初のワークシートとパスワード保護方法を選択します)。

Worksheet sheet = book.Worksheets[0];

sheet.Protect("def-345", SheetProtectionType.None);

 

ステップ5:ドキュメントを保存して再起動します。

book.SaveToFile("ProtectExcel.xlsx", ExcelVersion.Version2010);

System.Diagnostics.Process.Start("ProtectExcel.xlsx");

 

ワークブックを保護する結果を示す画像:

f:id:uha_noki:20220413115421p:plain

ワークシートを保護する結果を示す画像:

f:id:uha_noki:20220413115439p:plain

完全なるコード一覧

using Spire.Xls;

 

namespace Protect_Excel_Document

{

    class Program

    {

        static void Main(string[] args)

        {

            //ワークブックをロードする

            Workbook book = new Workbook();

            book.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

 

            //ワークブックを保護する

            book.Protect("abc-123");

 

            //パスワードでワークシートを保護する

            Worksheet sheet = book.Worksheets[0];

            sheet.Protect("def-345", SheetProtectionType.None);

 

            //ドキュメントを保存する

            book.SaveToFile("ProtectExcel.xlsx", ExcelVersion.Version2010);

            System.Diagnostics.Process.Start("ProtectExcel.xlsx");

        }

    }

}

 

今回のExcelドキュメントを保護する方法は以上でした、最後まで読んでいただきありがとうございました。