IronXL ハウツー ワークブックメタデータの編集 C#でExcelワークブックのメタデータを編集する方法 カーティス・チャウ 更新日:2026年1月10日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English 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 をインストールします PM > Install-Package IronXL.Excel このコード スニペットをコピーして実行します。 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"); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう 30日間無料トライアル ### 最小限のワークフロー(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.cs using 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") $vbLabelText $csharpLabel より複雑なシナリオでは、メタデータの編集を他の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); } } } Imports IronXL Imports System Imports System.IO Public Class BatchMetadataProcessor Public Shared Sub ProcessFinancialReports(folderPath As String) ' Get all Excel files in the directory Dim excelFiles As String() = Directory.GetFiles(folderPath, "*.xlsx") For Each filePath As String In excelFiles ' Load the workbook Dim workBook As WorkBook = WorkBook.Load(filePath) ' Update metadata based on file content Dim fileName As String = 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") Then workBook.Metadata.Title = "Q1 Financial Report" workBook.Metadata.Keywords = "Q1, Finance, Quarterly" ElseIf fileName.Contains("Q2") Then workBook.Metadata.Title = "Q2 Financial Report" workBook.Metadata.Keywords = "Q2, Finance, Quarterly" End If ' Add timestamp to comments workBook.Metadata.Comments = $"Processed on {DateTime.Now:yyyy-MM-dd HH:mm}" ' Set the subject based on worksheet content Dim sheet As WorkSheet = workBook.DefaultWorkSheet workBook.Metadata.Subject = $"Report containing {sheet.RowCount} data rows" ' Save with updated metadata Dim outputPath As String = Path.Combine(folderPath, "processed", fileName & "_updated.xlsx") workBook.SaveAs(outputPath) Next End Sub End Class $vbLabelText $csharpLabel 保存すると既存のメタデータはどうなりますか? IronXLを使用してExcelファイルを保存またはエクスポートすると、明示的に変更しなかったメタデータ・プロパティは元の値を保持します。 変更したプロパティのみが、保存されたファイルで更新されます。この選択的な更新アプローチにより、貴重な既存のメタデータが処理中に誤って失われることはありません。 下の画像は、IronXLで編集した後、エクセルのドキュメント・プロパティ・パネルにメタデータがどのように表示されるかを示しています: 新しい値を設定する前に既存のメタデータをクリアする必要がある場合は、リセットしたいプロパティに空の文字列またはNULL値を代入するだけです。 これは、社外に配布する文書を作成する際に、社内情報を削除したい場合に特に役立ちます。 IronXLではどのようなメタデータフィールドが利用できますか? すべてのメタデータ・プロパティが編集できるわけではありません。 一部のプロパティは取得のみ可能です。 どのプロパティがさまざまな操作をサポートしているかを理解することは、効果的なメタデータ管理にとって非常に重要です。 パスワードで保護されたワークブックで作業する場合、ワークブックの暗号化に成功した後も、メタデータにアクセスして変更することができます。 どのプロパティが読み取りと書き込み操作をサポートしますか? プロパティ 翻訳内容 業務内容 一般的な使用例 著者</code 文書作成者名 設定、変更、取得 ドキュメントの所有権の追跡、コンプライアンス コメント</code ドキュメントに関するその他の注意事項 設定、変更、取得 バージョンノート、処理指示 ラストプリント</code 最終印刷操作日時 設定、変更、取得 印刷履歴の追跡、監査証跡 キーワード</code 検索可能なキーワード 設定、変更、取得 ドキュメントの分類、検索の最適化 カテゴリ</code 文書のカテゴリ分類 設定、変更、取得 ファイル整理、部門仕分け 作成</code 文書作成日 設定、変更、取得 文書の年齢追跡、アーカイブの決定 更新日</code 最終更新日 設定、変更、取得 変更追跡、バージョン管理 件名</code ドキュメントの主題説明 設定、変更、取得 コンテンツの要約、迅速な識別 タイトル</code 文書タイトル 設定、変更、取得 ドキュメントの識別、レポート どのプロパティが読み取り専用ですか? プロパティ 翻訳内容 典型的な値 アプリケーション名</code ファイルを作成したアプリケーション名 "Microsoft Excel"、"IronXL" カスタムプロパティ</code ユーザー定義のカスタムプロパティ ドキュメントによって異なります 会社名</code ドキュメントに関連する会社名 システムからの組織名 マネージャー</code ドキュメントのプロパティからマネージャ名 元のファイルから取得 テンプレート</code ドキュメント作成に使用したテンプレート テンプレートファイル名または "通常" 高度なメタデータ操作と完全な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()を呼び出すだけです。ライブラリはすべてのメタデータの変更をスプレッドシート・データの変更とともに自動的に永続化します。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 1,846,091 | バージョン: 2026.2 リリース NuGet 無料版 総ダウンロード数: 1,846,091 ライセンスを見る