C# を使用して Excel にデジタル署名を追加する方法

この記事は、C# を使用して Excel でデジタル署名を追加する方法を説明することを目的としています。 C# を使用して Excel ドキュメントに電子署名を追加するためのプログラムを作成するための概念的な手順を提供し、最初の手順を示してから、この機能をテストするための実際のサンプル コードを共有します。 PFX 証明書を使用した XLSX のような Excel ドキュメントの署名をカスタマイズするための情報も共有されます。

C# を使用して Excel に電子署名を挿入する手順

  1. プロジェクトで Aspose.Cells for .NET を使用するように環境を構成します
  2. Workbook オブジェクトを使用して、既存のワークブックを読み込むか、サンプル データを含む新しいワークブックを作成します。
  3. デジタル署名のコレクションをインスタンス化する
  4. 証明書ファイル名とパスワードを使用して証明書をロードします
  5. 読み込まれた証明書、コメント、署名日を使用して digital signature を作成します
  6. ワークブックにさらに追加されるコレクションにこの署名を追加します
  7. 署名済みワークブックを保存する

ここでは、c# を使用して Excel にデジタル署名を配置するプロセス をわかりやすい手順の形式で説明します。最初に構成リソースを共有し、次にすべてのクラス、メソッドを含む段階的な手順を説明します。 、およびそれらの使用法を順番に示します。デジタル署名を既存のワークブックに追加する場合は、PFX 証明書ファイル、そのパスワード、およびワークブックが必要です。それ以外の場合は、以下のサンプル コードに示すように、機能をテストするための単純な新しいワークブックを作成します。デジタル署名付きの最終的なワークブックは、XLSX、XLS、XLSM などのサポートされている形式で保存できます。

C# を使用して Excel ドキュメントにデジタル署名するコード

using System;
using System.Threading.Tasks;
using Aspose.Cells;
using Aspose.Cells.DigitalSignatures;
using System.Security.Cryptography.X509Certificates;
namespace AsposeProjects
{
class Program
{
static async Task Main(string[] args) // Main function to electonically sign a workbook
{
// Load Cells license
License lic = new License();
lic.SetLicense(@"Aspose.Total.lic");
// Instantiate a new workbook
Workbook workbook = new Workbook();
// Set sample value
workbook.Worksheets[0].Cells["A1"].Value = "Test value in cell A1";
// Generate a collection for digital signatures
DigitalSignatureCollection collDigSig = new DigitalSignatureCollection();
// Instantiate a new certificate
X509Certificate2 cert = new X509Certificate2("testcert1.pfx", "testcert1");
// Instantiate digital signature
DigitalSignature digitalSignature = new DigitalSignature(cert, "A new digital signature is created for adding to workbook", DateTime.Now);
// Add signature to the collection
collDigSig.Add(digitalSignature);
// Add the digital signature collection to the newly created workbook
workbook.AddDigitalSignature(collDigSig);
// Save the digitally signed workbook
workbook.Save("ElectronicallySigned.xlsx");
Console.WriteLine("Done");
}
}
}

このコードは、X509Certificate2 クラス オブジェクトを使用して証明書ファイルをロードする *C# を使用して Excel にデジタル署名を追加する方法を示しています。このクラスには、証明書ファイルの読み込みに使用できるオーバーロードされたコンストラクターが 15 種類以上あることに注意してください。また、この証明書ファイルを使用してデジタル署名を作成するときに、ディスク上のファイルの代わりに、証明書を含むバイト配列を使用することもできます。

このチュートリアルでは、C# を使用して Excel ドキュメントに電子署名する方法を学びました。パスワードで保護されたスプレッドシートを開くプロセスを知りたい場合は、パスワードで保護されたExcelファイルをC#で開く方法 の記事を参照してください。

 日本語