チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
デジタル署名は、電子署名の一種で、デジタルドキュメントの真正性と整合性を確認するために使用できます。受信者は、デジタルドキュメントがどこから来たのか、署名後に第三者によって変更されていないかを確認できます。この記事では、C# で Spire.XLS for .NET を使用して、Excel ファイルにデジタル署名を追加または削除する方法を説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
デジタル署名を追加することで、Excel ファイルの整合性を保護できます。デジタル署名が追加されると、ファイルは読み取り専用になり、さらなる編集を防ぎます。誰かがファイルを変更すると、デジタル署名は直ちに無効になります。
Spire.XLS for .NET は、Workbook クラスの AddDigitalSignature メソッドを提供しており、これを使用して Excel ファイルにデジタル署名を追加できます。手順は以下の通りです:
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();
}
}
}
Spire.XLS for .NET は、Workbook クラスの RemoveAllDigitalSignatures メソッドを提供しており、これを使用して Excel ファイルからデジタル署名を削除できます。手順は以下の通りです:
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();
}
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel ファイルを他の人と共有したり、組織外にファイルを送信したりする場合、機密データを変更、移動、または削除されないように保護したい場合があります。内容の偶発的または意図的な変更を防止する最も簡単な方法は、ワークシートの編集を制限するか、ワークブック全体をパスワードで保護することです。この記事では、Spire.XLS for .NET を使用して、C# でワークブックやワークシートを保護したり保護解除したりする方法について説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel ドキュメントをパスワードで暗号化することで、あなた自身と権限を持つ個人だけがそのドキュメントを読んだり編集したりできるようになります。以下は、Spire.XLS for .NET を使用してワークブックをパスワードで保護する手順です。
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();
}
}
}
Excel ドキュメントの閲覧は許可するが、ワークシートの変更は制限したい場合、特定の保護タイプでワークシートを保護することができます。以下の表は、SheetProtectionType 列挙の下で定義済みのさまざまな保護タイプの一覧です。
保護の種類 | ユーザーができること |
Content | 内容を修正または挿入する。 |
DeletingColumns | 列を削除する。 |
DeletingRows | 行を削除する。 |
Filtering | フィルターを設定する。 |
FormattingCells | セルの書式を設定する。 |
FormattingColumns | 列の書式を設定する。 |
FormattingRows | 行の書式を設定する。 |
InsertingColumns | 列を挿入する。 |
InsertingRows | 行を挿入する。 |
InsertingHyperlinks | ハイパーリンクを挿入する。 |
LockedCells | ロックされたセルを選択する。 |
UnlockedCells | ロックされていないセルを選択する。 |
Objects | 描画オブジェクトを修正する。 |
Scenarios | 保存されたシナリオを修正する。 |
Sorting | データを並べ替える。 |
UsingPivotTables | ピボットテーブルとピボットチャートを使用する。 |
All | 保護されたワークシート上で上記の操作をすべて行う。 |
None | 保護されたワークシート上で何も操作しない。 |
以下は、Spire.XLS for .NET を使用して、特定の保護タイプでワークシートを保護する手順です。
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();
}
}
}
場合によっては、保護されたワークシートで選択した範囲をユーザーが編集できるようにする必要があるかもしれません。以下の手順は、その方法を示しています。
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();
}
}
}
パスワードで保護されたワークシートの保護を解除するには、Worksheet.Unprotect() メソッドを呼び出し、元のパスワードをパラメータとして渡します。詳細な手順は以下のとおりです。
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();
}
}
}
暗号化されたワークブックのパスワードを削除またはリセットするには、それぞれ Workbook.Unprotect() メソッドと Workbook.Protect() メソッドを使用します。以下のステップでは、暗号化されたExcelドキュメントをロードし、そのパスワードを削除または変更する方法を示します。
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 日間有効な一時ライセンスを取得してください。
Excel のシートには、他の人に編集されたくないデータや数式が含まれていることがあります。そのため、データや数式の整合性を保護する目的で、対応するセルを保護することができます。 Spire.XLS for .NET を使用して、Excel ワークブックの特定のセルをロックする方法について説明します。
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
通常、Excel シートは、すべてのセルがロックされた状態になっています。そのため、すべてのセルのロックを解除してから、ロックをかける必要があります。注意すべきは、「ロックされたセル」の設定は、表が保護されている場合のみ有効であることです。
以下は、Excel 表で指定したセルをロックするための詳細な手順です。
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
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。