IronXL 操作指南 編輯工作簿元數據 如何在 C# 中編輯 Excel 工作簿元資料# Curtis Chau 更新:2026年1月10日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English 使用 IronXL.Excel 的 Metadata 屬性在 C# 中編輯 Excel 元資料,以程式化的方式設定 author, title, keywords 以及其他文件屬性,而無需 Microsoft Interop,實現自動化試算表組織和可搜尋性。 Excel 試算表的元資料包括 title, author, subject, keywords, creation date, modification date, 以及其他相關詳細資訊。 元資料提供上下文信息,有助於組織和分類電子表格。 它簡化了文件搜尋和管理,尤其是在處理多個電子表格文件時。 無論您是建立新的試算表或載入現有的工作簿,IronXL.Excel 都能讓元資料管理無懈可擊。 快速入門:一步輕鬆編輯工作簿元資料 使用 IronXL 的 Metadata 介面設定、修改及儲存屬性,例如 Title, Author, 或關鍵字。 無需互通——只需幾行簡潔直觀的 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.Excel 編輯後,元資料在 Excel 的文件屬性面板中的顯示方式: 如果您需要在設定新值之前清除現有的 metadata,只要將空字串或 null 值指定給您要重設的屬性即可。 在準備對外發佈的文件時,若要刪除公司內部資訊,這一點尤其有用。 IronXL 提供哪些元資料欄位? 並非所有的 metadata 屬性都可以編輯。 有些屬性只能取得。 瞭解哪些屬性支援不同的作業對於有效的元資料管理至關重要。 在使用 有密碼保護的工作簿時,工作簿成功解密後仍可存取及修改元資料。 哪些屬性支援讀寫作業? 屬性 說明 作業 常見使用案例 作者 文件製作人名稱 設定、修改、擷取 追蹤文件所有權、合規性 意見 有關文件的其他注意事項 設定、修改、擷取 版本註解、處理指示 最後印製 上次列印作業的日期/時間 設定、修改、擷取 列印歷程追蹤、稽核追蹤 關鍵字 可搜尋的關鍵字 設定、修改、擷取 文件分類、搜尋最佳化 類別 文件類別分類 設定、修改、擷取 檔案組織、部門排序 建立 文件創建日期 設定、修改、擷取 文件年齡追蹤、歸檔決定 修改日期 最後修改日期 設定、修改、擷取 變更追蹤、版本控制 主題 文件主題描述 設定、修改、擷取 內容總結、快速識別 標題 文件標題 設定、修改、擷取 文件識別、報告 哪些屬性為唯讀? 屬性 說明 典型值 應用程式名稱 建立檔案的應用程式名稱 "Microsoft Excel"、"IronXL.Excel" 自訂屬性 使用者定義的自訂屬性 因文件而異 公司 與文件相關的公司名稱 組織名稱來自系統 管理員 來自文件屬性的管理員名稱 取自原始檔案 範本 用於建立文件的範本 範本檔案名稱或 "一般" 如需進階的元資料操作和完整的 API 文件,請參閱 IronXL API Reference。 如果您在處理元資料時遇到任何問題,請參閱我們的疑難排解指南或探索生產部署的授權選項。 常見問題解答 如何使用 C# 程式化編輯 Excel 元資料? IronXL 在 WorkBook 類別上提供了一個簡單的 Metadata 屬性,可讓您以程式化的方式編輯 Excel 元資料。您無需 Microsoft Interop 即可輕鬆設定標題、作者、主題和關鍵字等屬性。只需載入您的工作簿並存取 workBook.Metadata 即可修改任何元資料屬性。 我可以在 Excel 檔案中修改哪些元資料屬性? 透過 IronXL,您可以修改各種元資料屬性,包括作者、標題、主題、關鍵字、類別、評論、狀態、經理和公司。該資料庫還提供對建立和修改日期的唯讀存取,可為您的試算表進行全面的元資料管理。 編輯 Excel 元資料需要安裝 Microsoft Office 嗎? 不,IronXL 不需要安裝 Microsoft Office 或 Interop。它是一個獨立的 C# 函式庫,可以獨立讀取、寫入和修改 Excel 檔案及其元資料,因此非常適合伺服器環境或未安裝 Office 的系統。 我可以批次處理多個 Excel 檔案的元資料嗎? 是的,IronXL 支援 Excel 檔案的批次處理。您可以遍歷一個目錄中的多個試算表,使用 WorkBook.Load() 載入每個試算表,修改其元資料屬性,然後將它們儲存回去。這對於整理大量的試算表檔案特別有用。 哪些 Excel 檔案格式支援元資料編輯? IronXL 的元資料編輯功能可與各種試算表檔案格式(包括 XLSX、XLS 和 CSV 檔案)無縫配合。程式庫會在內部處理特定格式的細節,讓您不論檔案類型為何,都能使用相同的 Metadata 屬性介面。 編輯後如何儲存 metadata 變更? 使用 IronXL 修改元資料屬性後,只需呼叫 Save() 方法更新現有檔案,或呼叫 SaveAs() 方法以更新的元資料建立新檔案。該函式庫會自動持久化所有元資料變更以及任何試算表資料修改。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 準備好開始了嗎? Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:1,846,091 查看許可證