チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»xlsnetsecurity

Displaying items by tag: xlsnetsecurity

デジタル署名は、電子署名の一種で、デジタルドキュメントの真正性と整合性を確認するために使用できます。受信者は、デジタルドキュメントがどこから来たのか、署名後に第三者によって変更されていないかを確認できます。この記事では、C# で Spire.XLS for .NET を使用して、Excel ファイルにデジタル署名を追加または削除する方法を説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

C# で Excel ファイルにデジタル署名を追加する

デジタル署名を追加することで、Excel ファイルの整合性を保護できます。デジタル署名が追加されると、ファイルは読み取り専用になり、さらなる編集を防ぎます。誰かがファイルを変更すると、デジタル署名は直ちに無効になります。

Spire.XLS for .NET は、Workbook クラスの AddDigitalSignature メソッドを提供しており、これを使用して Excel ファイルにデジタル署名を追加できます。手順は以下の通りです:

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • 指定された証明書 (.pfx) ファイルのパスと .pfx ファイルのパスワードを使用して、X509Certificate2 クラスのインスタンスを初期化します。
  • DateTime クラスのインスタンスを初期化します。
  • Workbook.AddDigitalSignature(X509Certificate2, string, DateTime) メソッドを使用してファイルにデジタル署名を追加します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core.MergeSpreadsheet.Interfaces;
using System;
using System.Security.Cryptography.X509Certificates;

namespace AddSignatureInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookインスタンスを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // デジタル署名をファイルに追加
            X509Certificate2 cert = new X509Certificate2("gary.pfx", "e-iceblue");
            DateTime certtime = new DateTime(2020, 7, 1, 7, 10, 36);
            IDigitalSignatures signature = workbook.AddDigitalSignature(cert, "e-iceblue", certtime);

            // 結果ファイルを保存
            workbook.SaveToFile("Excelに電子署名を追加.xlsx", FileFormat.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルにデジタル署名を追加または削除する方法

C# で Excel ファイルからデジタル署名を削除する

Spire.XLS for .NET は、Workbook クラスの RemoveAllDigitalSignatures メソッドを提供しており、これを使用して Excel ファイルからデジタル署名を削除できます。手順は以下の通りです:

  • Workbook クラスのインスタンスを初期化します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.RemoveAllDigitalSignatures() メソッドを使用してファイルからすべてのデジタル署名を削除します。
  • Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
  • C#
using Spire.Xls;

namespace DeleteSignatureInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookインスタンスを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Excelに電子署名を追加.xlsx");

            // ファイル内の全てのデジタル署名を削除
            workbook.RemoveAllDigitalSignatures();

            // 結果ファイルを保存
            workbook.SaveToFile("Excelから電子署名を削除.xlsx", FileFormat.Version2013);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルにデジタル署名を追加または削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in 保護
Tagged under

Excel ファイルを他の人と共有したり、組織外にファイルを送信したりする場合、機密データを変更、移動、または削除されないように保護したい場合があります。内容の偶発的または意図的な変更を防止する最も簡単な方法は、ワークシートの編集を制限するか、ワークブック全体をパスワードで保護することです。この記事では、Spire.XLS for .NET を使用して、C# でワークブックやワークシートを保護したり保護解除したりする方法について説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

ワークブック全体をパスワードで保護する

Excel ドキュメントをパスワードで暗号化することで、あなた自身と権限を持つ個人だけがそのドキュメントを読んだり編集したりできるようになります。以下は、Spire.XLS for .NET を使用してワークブックをパスワードで保護する手順です。

  • Workbook のオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • Workbook.Protect() メソッドを使用して、パスワードを使用してワークブックを保護します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;

namespace PasswordProtectWorkbook
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();

            // Excelファイルをロードします
            workbook.LoadFromFile("Sample.xlsx");

            // パスワードでワークブックを保護します
            workbook.Protect("psd-123");

            // ワークブックを別のExcelファイルに保存します
            workbook.SaveToFile("暗号化されたワークブック.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルの保護・保護解除方法

特定の保護タイプでワークシートを保護する

Excel ドキュメントの閲覧は許可するが、ワークシートの変更は制限したい場合、特定の保護タイプでワークシートを保護することができます。以下の表は、SheetProtectionType 列挙の下で定義済みのさまざまな保護タイプの一覧です。

保護の種類 ユーザーができること
Content 内容を修正または挿入する。
DeletingColumns 列を削除する。
DeletingRows 行を削除する。
Filtering フィルターを設定する。
FormattingCells セルの書式を設定する。
FormattingColumns 列の書式を設定する。
FormattingRows 行の書式を設定する。
InsertingColumns 列を挿入する。
InsertingRows 行を挿入する。
InsertingHyperlinks ハイパーリンクを挿入する。
LockedCells ロックされたセルを選択する。
UnlockedCells ロックされていないセルを選択する。
Objects 描画オブジェクトを修正する。
Scenarios 保存されたシナリオを修正する。
Sorting データを並べ替える。
UsingPivotTables ピボットテーブルとピボットチャートを使用する。
All 保護されたワークシート上で上記の操作をすべて行う。
None 保護されたワークシート上で何も操作しない。

以下は、Spire.XLS for .NET を使用して、特定の保護タイプでワークシートを保護する手順です。

  • Workbook のオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • Workbook.Worksheets[index] プロパティで特定のワークシートを取得します。
  • Worksheet.Protect(string password, SheetProtectionType options) メソッドを使用して、特定の保護タイプでワークシートを保護します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;

namespace ProtectWorksheetWithSpecificProtectionType
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();

            // Excelファイルをロードします
            workbook.LoadFromFile("Sample.xlsx");

            // 特定のワークシートを取得します
            Worksheet worksheet = workbook.Worksheets[0];

            // パーミッションパスワードと特定の保護タイプでワークシートを保護します
            worksheet.Protect("psd-permission", SheetProtectionType.None);

            // ワークブックを別のExcelファイルに保存します
            workbook.SaveToFile("保護されたワークシート.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルの保護・保護解除方法

保護されたワークシートで特定の範囲の編集を許可する

場合によっては、保護されたワークシートで選択した範囲をユーザーが編集できるようにする必要があるかもしれません。以下の手順は、その方法を示しています。

  • Workbook のオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.AddAllowEditRange() メソッドを使用して、編集可能なセル範囲を指定します。
  • Worksheet.Protect(string password, SheetProtectionType options) メソッドを使用して、保護タイプでワークシートを保護します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;

namespace AllowEditRanges
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();

            // Excelファイルをロードします
            workbook.LoadFromFile("Sample.xlsx");

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

            // 編集を許可する範囲を追加します
            sheet.AddAllowEditRange("範囲1", sheet.Range["A5:A6"]);
            sheet.AddAllowEditRange("範囲2", sheet.Range["A8:B11"]);

            // パスワードと保護タイプでワークシートを保護します
            sheet.Protect("psd-permission", SheetProtectionType.All);

            // ワークブックを別のExcelファイルに保存します
            workbook.SaveToFile("範囲の編集を許可.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルの保護・保護解除方法

パスワードで保護されたワークシートの保護解除

パスワードで保護されたワークシートの保護を解除するには、Worksheet.Unprotect() メソッドを呼び出し、元のパスワードをパラメータとして渡します。詳細な手順は以下のとおりです。

  • Workbook のオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.Unprotect(string password) メソッドを使用して保護を解除します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;

namespace UnprotectWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();

            // 保護されたワークシートを含むExcelファイルをロードします
            workbook.LoadFromFile("保護されたワークシート.xlsx");

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

            // 指定したパスワードを使用してワークシートの保護を解除します
            sheet.Unprotect("psd-permission");

            // ワークブックを別のExcelファイルに保存します
            workbook.SaveToFile("保護されていないワークシート.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

C#:Excel ファイルの保護・保護解除方法

暗号化されたワークブックのパスワードの削除と再設定

暗号化されたワークブックのパスワードを削除またはリセットするには、それぞれ Workbook.Unprotect() メソッドと Workbook.Protect() メソッドを使用します。以下のステップでは、暗号化されたExcelドキュメントをロードし、そのパスワードを削除または変更する方法を示します。

  • Workbook オブジェクトを作成します。
  • Workbook.OpenPassword プロパティで開くパスワードを指定します。
  • Workbook.LoadFromFile() メソッドを使用して暗号化されたExcelファイルをロードします。
  • Workbook.Unprotect() メソッドを使用して暗号化を解除します。または、Workbook.Protect() メソッドを使用してパスワードを変更します。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Xls;

namespace RemoveOrResetPassword
{
    class Program
    {
        static void Main(string[] args)
        {
            // Workbookオブジェクトを作成します
            Workbook workbook = new Workbook();

            // 開くパスワードを指定します
            workbook.OpenPassword = "psd-123";

            // 暗号化されたExcelファイルをロードします
            workbook.LoadFromFile("Encrypted.xlsx");

            // ワークブックの保護を解除します
            workbook.UnProtect();

            // パスワードをリセットします
            // workbook.Protect("newpassword");

            // ワークブックを別のExcelファイルに保存します
            workbook.SaveToFile("保護されないワークブック.xlsx", ExcelVersion.Version2016);
            workbook.Dispose();
        }
    }
}

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in 保護
Tagged under

Excel のシートには、他の人に編集されたくないデータや数式が含まれていることがあります。そのため、データや数式の整合性を保護する目的で、対応するセルを保護することができます。 Spire.XLS for .NET を使用して、Excel ワークブックの特定のセルをロックする方法について説明します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel の表の指定したセルを保護する

通常、Excel シートは、すべてのセルがロックされた状態になっています。そのため、すべてのセルのロックを解除してから、ロックをかける必要があります。注意すべきは、「ロックされたセル」の設定は、表が保護されている場合のみ有効であることです。

以下は、Excel 表で指定したセルをロックするための詳細な手順です。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel シートを読み込みます。
  • Workbook.Worksheet[sheetIndex] 属性を使用して、目的のワークシートを取得します。
  • 使用中のセルをすべて取得し、CellRange.Style.Locked 属性を false に設定して、ロックを解除します。
  • 指定されたセルを取得し、CellRange.Style.Locked 属性を true に設定してロックします。
  • ワークシートの保護には、XlsWorksheetBase.Protect() メソッドを使用します。
  • Excelのシートを保存するには、Workbook.SaveToFile() メソッドを使用します。
  • C#
  • VB.NET
using Spire.Xls;

namespace LockCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbook クラスのオブジェクトを作成する
            Workbook workbook = new Workbook();

            //Excelシートを読み込む
            workbook.LoadFromFile(@"C:\実例.xlsx");

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

            //このワークシートで既に使用されているすべてのセルのロックを解除します
            CellRange usedRange = sheet.Range;
            usedRange.Style.Locked = false;

            //指定したセルをロックする
            CellRange cells = sheet.Range["A1:F2"];
            cells.Style.Locked = true;

            //パスワードでワークシートを保護する
            sheet.Protect("123456", SheetProtectionType.All);

            //Excel表を保存する
            workbook.SaveToFile("セルの保護.xlsx", ExcelVersion.Version2016);
        }
    }
}
Imports Spire.Xls

Namespace LockCells
    Class Program
        Shared Sub Main(ByVal args() As String)
            'Workbook クラスのオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

            'Excelシートを読み込む
            workbook.LoadFromFile("C:\実例.xlsx")

            '最初のワークシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            'このワークシートで既に使用されているすべてのセルのロックを解除します
            Dim usedRange As CellRange = sheet.Range
            usedRange.Style.Locked = False

            '指定したセルをロックする
            Dim cells As CellRange = sheet.Range("A1:F2")
            cells.Style.Locked = True

            'パスワードでワークシートを保護する
            sheet.Protect("123456", SheetProtectionType.All)

            'Excel表を保存する
            workbook.SaveToFile("セルの保護.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

C#/VB.NET:Excel シートの特定のセルを保護する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Published in 保護
Tagged under