C#でExcelワークブックのメタデータを編集する方法
XL.ExcelのMetadataプロパティを使ってC#でエクセルのメタデータを編集し、author、title、keywordsやその他のドキュメント・プロパティをMicrosoft Interopなしでプログラム的に設定し、スプレッドシートの自動整理と検索を可能にします。
エクセルのスプレッドシートのメタデータには、title、author、subject、keywords、creation date、modification date、およびその他の関連する詳細情報が含まれます。 メタデータはコンテキストを提供し、スプレッドシートの整理と分類に役立ちます。 特に複数のスプレッドシートファイルを扱うときに、ファイルの検索と管理を簡素化します。 新しいスプレッドシートを作成する場合でも、既存のワークブックをロードする場合でも、IronXLはメタデータの管理をシームレスにします。
見出し:2(クイックスタート: ワークブックのメタデータを1ステップで編集する)
IronXLのメタデータ・インターフェースを使用して、Title、Author、Keywordsのようなプロパティを設定、変更、保存します。 Interopは不要で、クリーンで直感的なC#コードの数行だけですぐに開始できます。
今すぐ NuGet で PDF を作成してみましょう:
NuGet パッケージ マネージャーを使用して IronXL をインストールします
このコード スニペットをコピーして実行します。
IronXL.WorkBook.Load("input.xlsx").Metadata.Title = "Financial Summary"; // Then save your update to a new file IronXL.WorkBook.Load("input.xlsx").SaveAs("output.xlsx");実際の環境でテストするためにデプロイする
最小限のワークフロー(5ステップ)
- ワークブックのメタデータを編集するには、C# ライブラリをダウンロードしてください。
- 既存のスプレッドシートを読み込むか、新しいものを作成してください
- Access and modify the metadata information using the `Metadata` property
- スプレッドシートデータを表示して変更します
- 編集されたメタデータプロパティを使用してスプレッドシートをエクスポートします
ワークブックのメタデータ プロパティを編集するには?
スプレッドシートファイルの著者名を編集するには、希望のデータ文字列でAuthorプロパティを設定します。 例:workBook.Metadata.Author = "Your Name"。 メタデータ情報はWorkBookクラスのMetadataプロパティでアクセスおよび取得できます。 このアプローチは、XLSX、XLS、CSV フォーマットを含むさまざまなスプレッドシートファイルタイプでシームレスに動作します。
どのプロパティをプログラムで変更できますか?
:path=/static-assets/excel/content-code-examples/how-to/edit-workbook-metadata.csusing IronXL;
using System;
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Set author
workBook.Metadata.Author = "Your Name";
// Set comments
workBook.Metadata.Comments = "Monthly report";
// Set title
workBook.Metadata.Title = "July";
// Set keywords
workBook.Metadata.Keywords = "Report";
// Read the creation date of the excel file
DateTime? creationDate = workBook.Metadata.Created;
// Read the last printed date of the excel file
DateTime? printDate = workBook.Metadata.LastPrinted;
workBook.SaveAs("editedMetadata.xlsx");Imports IronXL
Imports System
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Set author
workBook.Metadata.Author = "Your Name"
' Set comments
workBook.Metadata.Comments = "Monthly report"
' Set title
workBook.Metadata.Title = "July"
' Set keywords
workBook.Metadata.Keywords = "Report"
' Read the creation date of the excel file
Dim creationDate? As DateTime = workBook.Metadata.Created
' Read the last printed date of the excel file
Dim printDate? As DateTime = workBook.Metadata.LastPrinted
workBook.SaveAs("editedMetadata.xlsx")より複雑なシナリオでは、メタデータの編集を他のExcel操作と組み合わせることができます。 以下は、複数のExcelファイルのバッチ処理を示す包括的な例です:
using IronXL;
using System;
using System.IO;
public class BatchMetadataProcessor
{
public static void ProcessFinancialReports(string folderPath)
{
// Get all Excel files in the directory
string[] excelFiles = Directory.GetFiles(folderPath, "*.xlsx");
foreach (string filePath in excelFiles)
{
// Load the workbook
WorkBook workBook = WorkBook.Load(filePath);
// Update metadata based on file content
string fileName = Path.GetFileNameWithoutExtension(filePath);
// Set consistent metadata across all reports
workBook.Metadata.Author = "Finance Department";
workBook.Metadata.Company = "Your Company Name";
workBook.Metadata.Category = "Financial Reports";
// Set dynamic metadata based on filename
if (fileName.Contains("Q1"))
{
workBook.Metadata.Title = "Q1 Financial Report";
workBook.Metadata.Keywords = "Q1, Finance, Quarterly";
}
else if (fileName.Contains("Q2"))
{
workBook.Metadata.Title = "Q2 Financial Report";
workBook.Metadata.Keywords = "Q2, Finance, Quarterly";
}
// Add timestamp to comments
workBook.Metadata.Comments = $"Processed on {DateTime.Now:yyyy-MM-dd HH:mm}";
// Set the subject based on worksheet content
WorkSheet sheet = workBook.DefaultWorkSheet;
workBook.Metadata.Subject = $"Report containing {sheet.RowCount} data rows";
// Save with updated metadata
string outputPath = Path.Combine(folderPath, "processed", fileName + "_updated.xlsx");
workBook.SaveAs(outputPath);
}
}
}using IronXL;
using System;
using System.IO;
public class BatchMetadataProcessor
{
public static void ProcessFinancialReports(string folderPath)
{
// Get all Excel files in the directory
string[] excelFiles = Directory.GetFiles(folderPath, "*.xlsx");
foreach (string filePath in excelFiles)
{
// Load the workbook
WorkBook workBook = WorkBook.Load(filePath);
// Update metadata based on file content
string fileName = Path.GetFileNameWithoutExtension(filePath);
// Set consistent metadata across all reports
workBook.Metadata.Author = "Finance Department";
workBook.Metadata.Company = "Your Company Name";
workBook.Metadata.Category = "Financial Reports";
// Set dynamic metadata based on filename
if (fileName.Contains("Q1"))
{
workBook.Metadata.Title = "Q1 Financial Report";
workBook.Metadata.Keywords = "Q1, Finance, Quarterly";
}
else if (fileName.Contains("Q2"))
{
workBook.Metadata.Title = "Q2 Financial Report";
workBook.Metadata.Keywords = "Q2, Finance, Quarterly";
}
// Add timestamp to comments
workBook.Metadata.Comments = $"Processed on {DateTime.Now:yyyy-MM-dd HH:mm}";
// Set the subject based on worksheet content
WorkSheet sheet = workBook.DefaultWorkSheet;
workBook.Metadata.Subject = $"Report containing {sheet.RowCount} data rows";
// Save with updated metadata
string outputPath = Path.Combine(folderPath, "processed", fileName + "_updated.xlsx");
workBook.SaveAs(outputPath);
}
}
}IRON VB CONVERTER ERROR developers@ironsoftware.com保存すると既存のメタデータはどうなりますか?
IronXLを使用してExcelファイルを保存またはエクスポートすると、明示的に変更しなかったメタデータ・プロパティは元の値を保持します。 変更したプロパティのみが、保存されたファイルで更新されます。この選択的な更新アプローチにより、貴重な既存のメタデータが処理中に誤って失われることはありません。 下の画像は、IronXLで編集した後、エクセルのドキュメント・プロパティ・パネルにメタデータがどのように表示されるかを示しています:

新しい値を設定する前に既存のメタデータをクリアする必要がある場合は、リセットしたいプロパティに空の文字列またはNULL値を代入するだけです。 これは、社外に配布する文書を作成する際に、社内情報を削除したい場合に特に役立ちます。
IronXLではどのようなメタデータフィールドが利用できますか?
すべてのメタデータ・プロパティが編集できるわけではありません。 一部のプロパティは取得のみ可能です。 どのプロパティがさまざまな操作をサポートしているかを理解することは、効果的なメタデータ管理にとって非常に重要です。 パスワードで保護されたワークブックで作業する場合、ワークブックの暗号化に成功した後も、メタデータにアクセスして変更することができます。
どのプロパティが読み取りと書き込み操作をサポートしますか?
| プロパティ | 翻訳内容 | 業務内容 | 一般的な使用例 |
|---|---|---|---|
| <コード>著者</コード | 文書作成者名 | 設定、変更、取得 | ドキュメントの所有権の追跡、コンプライアンス |
| <コード>コメント</コード | ドキュメントに関するその他の注意事項 | 設定、変更、取得 | バージョンノート、処理指示 |
| <コード>ラストプリント</コード | 最終印刷操作日時 | 設定、変更、取得 | 印刷履歴の追跡、監査証跡 |
| <コード>キーワード</コード | 検索可能なキーワード | 設定、変更、取得 | ドキュメントの分類、検索の最適化 |
| <コード>カテゴリ</コード | 文書のカテゴリ分類 | 設定、変更、取得 | ファイル整理、部門仕分け |
| <コード>作成</コード | 文書作成日 | 設定、変更、取得 | 文書の年齢追跡、アーカイブの決定 |
| <コード>更新日</コード | 最終更新日 | 設定、変更、取得 | 変更追跡、バージョン管理 |
| <コード>件名</コード | ドキュメントの主題説明 | 設定、変更、取得 | コンテンツの要約、迅速な識別 |
| <コード>タイトル</コード | 文書タイトル | 設定、変更、取得 | ドキュメントの識別、レポート |
どのプロパティが読み取り専用ですか?
| プロパティ | 翻訳内容 | 典型的な値 |
|---|---|---|
| <コード>アプリケーション名</コード | ファイルを作成したアプリケーション名 | "Microsoft Excel"、"IronXL" |
| <コード>カスタムプロパティ</コード | ユーザー定義のカスタムプロパティ | ドキュメントによって異なります |
| <コード>会社名</コード | ドキュメントに関連する会社名 | システムからの組織名 |
| <コード>マネージャー</コード | ドキュメントのプロパティからマネージャ名 | 元のファイルから取得 |
| <コード>テンプレート</コード | ドキュメント作成に使用したテンプレート | テンプレートファイル名または "通常" |
高度なメタデータ操作と完全なAPIドキュメントについては、IronXL API Referenceを参照してください。 メタデータの処理で問題が発生した場合は、トラブルシューティングガイドを参照するか、本番デプロイ用のライセンスオプションを調べてください。
よくある質問
C#でExcelのメタデータをプログラムで編集するには?
IronXLはWorkBookクラスにエクセルのメタデータをプログラムで編集できるシンプルなMetadataプロパティを提供しています。Microsoft Interopを必要とせずに、タイトル、著者、件名、キーワードなどのプロパティを簡単に設定できます。ワークブックをロードし、workBook.Metadataにアクセスしてメタデータ・プロパティを変更するだけです。
Excelファイルでは、どのようなメタデータプロパティを変更できますか?
IronXLでは、著者、タイトル、件名、キーワード、カテゴリー、コメント、ステータス、マネージャー、会社を含む様々なメタデータ・プロパティを変更することができます。また、作成日や変更日への読み取り専用アクセスも可能で、スプレッドシートの包括的なメタデータ管理ができます。
Excelのメタデータを編集するには、Microsoft Officeがインストールされている必要がありますか。
IronXLはMicrosoft OfficeやInteropをインストールする必要はありません。IronXLはスタンドアロンのC#ライブラリであり、Excelファイルとそのメタデータを独立して読み書き、変更することができますので、サーバー環境やOfficeがインストールされていないシステムに最適です。
複数のExcelファイルのメタデータをバッチ処理できますか?
はい、IronXLはExcelファイルのバッチ処理をサポートしています。ディレクトリ内の複数のスプレッドシートを繰り返し処理し、WorkBook.Load()を使ってそれぞれのスプレッドシートをロードし、メタデータ・プロパティを変更して保存し直すことができます。これは特にスプレッドシートファイルの大きなコレクションを整理するのに便利です。
メタデータの編集をサポートするExcelファイル形式は?
IronXLのメタデータ編集機能は、XLSX、XLS、CSVファイルを含む様々なスプレッドシートファイル形式とシームレスに連携します。このライブラリはフォーマット固有の詳細を内部的に処理するため、ファイル・タイプに関係なく同じメタデータ・プロパティ・インターフェイスを使用できます。
編集後にメタデータの変更を保存する方法を教えてください。
IronXLを使用してメタデータのプロパティを変更した後、既存のファイルを更新するにはSave()メソッドを、更新されたメタデータを含む新しいファイルを作成するにはSaveAs()を呼び出すだけです。ライブラリはすべてのメタデータの変更をスプレッドシート・データの変更とともに自動的に永続化します。






