Excel のドキュメントプロパティ(メタデータとしても知られています)は、Excel ファイルの内容や背景を理解するために重要です。これらは、ドキュメントの内容、作成者、作成・修正履歴などに関する有益な情報を提供し、ファイルの効率的な整理や検索を容易にします。本記事では、Excel にドキュメントプロパティを追加する方法に加え、C# で Spire.XLS for .NET を使用して Excel ワークブックからドキュメントプロパティを読み取る方法や削除する方法を説明します。
Spire.XLS for .NET をインストールします
まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.XLS
Excel ファイルのドキュメントプロパティを読み取る
Excel のプロパティは、主に次の2つのカテゴリに分けられます:
- 標準プロパティ:これは Excel ファイルに組み込まれているあらかじめ定義されたプロパティです。通常、ファイルのタイトル、件名、作成者、キーワードなどの基本的な情報が含まれます。
- カスタムプロパティ:これは、特定のニーズに基づいて追加できるユーザー定義の属性で、ファイルに関する追加情報を追跡するために使用されます。
Spire.XLS for .NET を使用すると、Excel ファイルの標準およびカスタムの両方のドキュメントプロパティを読み取ることができます。以下に詳細な手順を示します:
- Workbook インスタンスを作成します。
- Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
- StringBuilder インスタンスを作成します。
- Workbook.DocumentProperties プロパティを使用して、標準ドキュメントプロパティのコレクションを取得します。
- BuiltInDocumentProperties クラスのプロパティを使用して、特定の標準プロパティを取得し、それらを StringBuilder インスタンスに追加します。
- Workbook.CustomDocumentProperties プロパティを使用して、カスタムドキュメントプロパティのコレクションを取得します。
- コレクションをループ処理します。
- IDocumentProperty.Name および IDocumentProperty.Value プロパティを使用して、各カスタムドキュメントプロパティの名前と値を取得し、それらを StringBuilder インスタンスに追加します。
- StringBuilder インスタンスの内容を txt ファイルに書き込みます。
- C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core;
using System.Text;
namespace ReadExcelProperty
{
class Program
{
static void Main(string[] args)
{
// Workbook のインスタンスを作成
Workbook wb = new Workbook();
// Excel ファイルを読み込む
wb.LoadFromFile("Sample.xlsx");
// StringBuilder のインスタンスを作成
StringBuilder sb = new StringBuilder();
// 標準プロパティのコレクションを取得
BuiltInDocumentProperties standardProperties = wb.DocumentProperties;
// 標準プロパティを取得し、StringBuilder インスタンスに追加
sb.AppendLine("標準ドキュメント プロパティ:");
sb.AppendLine("タイトル:" + standardProperties.Title);
sb.AppendLine("サブタイトル:" + standardProperties.Subject);
sb.AppendLine("作成者:" + standardProperties.Author);
sb.AppendLine("管理者:" + standardProperties.Manager);
sb.AppendLine("会社名:" + standardProperties.Company);
sb.AppendLine("分類:" + standardProperties.Category);
sb.AppendLine("キーワード:" + standardProperties.Keywords);
sb.AppendLine("コメント:" + standardProperties.Comments);
// カスタムプロパティのコレクションを取得
ICustomDocumentProperties customProperties = wb.CustomDocumentProperties;
sb.AppendLine("\r\nカスタム ドキュメント プロパティ:");
// コレクションを反復処理
for (int i = 0; i < customProperties.Count; i++)
{
// カスタムプロパティの名前と値を取得し、StringBuilder インスタンスに追加
string name = customProperties[i].Name;
string value = customProperties[i].Value.ToString();
sb.AppendLine(name + ":" + value);
}
// 結果をテキストファイルに書き込む
File.WriteAllText("output/Excelドキュメントのプロパティ.txt", sb.ToString());
wb.Dispose();
}
}
}
Excel ファイルのドキュメントプロパティを削除する
標準のドキュメントプロパティを削除するには、特定のプロパティの値を空に設定するだけで簡単に行えます。カスタムドキュメントプロパティの場合は、ICustomDocumentProperties.Remove() メソッドを使用して削除することができます。以下に詳細な手順を示します:
- Workbook インスタンスを作成します。
- Workbook.LoadFromFile() メソッドを使用してサンプル Excel ファイルを読み込みます。
- Workbook.DocumentProperties プロパティを使用して、標準ドキュメントプロパティのコレクションを取得します。
- BuiltInDocumentProperties クラスの対応するプロパティを通じて、特定の標準ドキュメントプロパティの値を空に設定します。
- Workbook.CustomDocumentProperties プロパティを使用して、カスタムドキュメントプロパティのコレクションを取得します。
- コレクションをループ処理します。
- ICustomDocumentProperties.Remove(string strName) メソッドを使用して、名前でカスタムプロパティをコレクションから削除します。
- Workbook.SaveToFile() メソッドを使用して結果ファイルを保存します。
- C#
using Spire.Xls;
using Spire.Xls.Collections;
using Spire.Xls.Core;
namespace RemoveExcelProperty
{
class Program
{
static void Main(string[] args)
{
// Workbook のインスタンスを作成
Workbook wb = new Workbook();
// Excel ファイルを読み込む
wb.LoadFromFile("Sample.xlsx");
// 標準プロパティのコレクションを取得
BuiltInDocumentProperties standardProperties = wb.DocumentProperties;
// プロパティを空に設定して削除
standardProperties.Title = "";
standardProperties.Subject = "";
standardProperties.Author = "";
standardProperties.Manager = "";
standardProperties.Company = "";
standardProperties.Category = "";
standardProperties.Keywords = "";
standardProperties.Comments = "";
// カスタムプロパティのコレクションを取得
ICustomDocumentProperties customProperties = wb.CustomDocumentProperties;
// カスタムプロパティをクリア
customProperties.Clear();
// ワークブックを保存
wb.SaveToFile("output/Excelプロパティの削除.xlsx");
wb.Dispose();
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。