IronXL 操作指南 管理工作表 如何在不使用互通的情況下用 C# 管理工作表 Curtis Chau 更新:2026年1月10日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 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無需 Office Interop 即可在 C# 中管理工作表,讓您可以透過簡單的方法呼叫建立、刪除、移動和複製工作表。 此程式庫消除了互通依賴性,同時提供了對 Excel 工作表操作的程式完全控制。 快速入門:立即新增工作表 本範例示範如何使用IronXL僅以一行程式碼建立新工作表-無需樣板程式碼,無需互通-即可在 C# 中立即管理 Excel 工作簿。 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXl.Excel PM > Install-Package IronXl.Excel 複製並運行這段程式碼。 IronXl.WorkBook wb = IronXl.WorkBook.Create(ExcelFileFormat.XLSX).CreateWorkSheet("NewSheet"); 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronXL Free 30 Day Trial 最簡工作流程(5個步驟) 下載用於管理 Excel 工作表的 C# 庫 使用`CreateWorksheet`方法建立新工作表 使用`SetSheetPosition`方法重新排列工作表 使用`SetActiveTab`方法設定活動工作表 使用`RemoveWorksheet`方法刪除工作表 工作表管理的基本操作有哪些? 管理工作表需要具備建立、移動和刪除工作表的能力。 IronXL只需一行程式碼即可完成每個操作。 與傳統的C# Excel 互通方法不同, IronXL提供了一個更簡潔的 API,不需要 COM 物件管理或明確資源清理。 以下所有指數位置均採用零基索引。 為什麼從零開始的索引對工作表操作很重要? 基於零的索引意味著第一個工作表位於位置 0,而不是 1。這種約定與 C# 陣列和集合索引一致,使開發人員能夠直觀地理解。 在管理多個工作表時,記住這一點可以防止出現差一錯誤,從而避免操作錯誤的工作表或遇到越界異常。 我應該在什麼情況下使用哪種工作表管理方法? 不同的場景需要不同的工作表操作。 Use CreateWorksheet when generating reports or organizing data by categories. Apply SetSheetPosition when establishing logical flow for data presentation. The RemoveWorksheet method helps clean up temporary worksheets or consolidate data. 了解何時使用每種方法可以改善工作簿的組織結構和使用者體驗。 管理多個工作表時常見的陷阱有哪些? 常見的錯誤包括試圖刪除所有工作表(Excel 至少需要一個工作表)、建立工作表時使用重複的名稱以及操作後忘記儲存變更。 此外,載入現有電子表格時,請務必在執行操作之前驗證工作表是否存在,以避免執行時異常。 如何建立新工作表? CreateWorksheet 方法建立一個新的工作表。 它只需要工作表名稱作為唯一參數。 此方法傳回已建立的工作表對象,可讓您在建立後立即執行合併儲存格等其他操作。 如果我使用重複的工作表名稱會發生什麼? 當您嘗試建立名稱與已存在名稱相同的工作表時, IronXL會自動附加一個數字,使其唯一。 例如,如果"Sheet1"已經存在,則建立該"Sheet1"的結果為"Sheet1_1"。 這種自動重命名功能可以防止衝突,並確保您的程式碼能夠繼續執行而不會拋出例外。 建立工作表後如何串聯操作? 由於 CreateWorksheet 傳回一個 WorkSheet 對象,因此可以鍊式操作以實現高效的編碼。 這種流暢的介面模式可讓您建立工作表並立即執行諸如設定儲存格值、套用格式或處理範圍之類的操作。 舉個例子: // Create and immediately populate a worksheet WorkSheet newSheet = workBook.CreateWorkSheet("Sales Data") .SetCellValue("A1", "Product") .SetCellValue("B1", "Revenue"); // Apply formatting newSheet["A1:B1"].Style.Font.Bold = true; newSheet["A1:B1"].Style.BackgroundColor = "#4472C4"; // Create and immediately populate a worksheet WorkSheet newSheet = workBook.CreateWorkSheet("Sales Data") .SetCellValue("A1", "Product") .SetCellValue("B1", "Revenue"); // Apply formatting newSheet["A1:B1"].Style.Font.Bold = true; newSheet["A1:B1"].Style.BackgroundColor = "#4472C4"; $vbLabelText $csharpLabel 工作表的命名規則是什麼? Excel 工作表名稱長度必須為 1-31 個字符,且不能包含以下字符:\ / ? * [ ]. 此外,名稱不能為空或僅由空格組成。 IronXL會自動驗證名稱,如果偵測到無效字符,則會拋出異常,有助於保持與 Excel 的兼容性。 :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-create-worksheet.cs using IronXL; // Create new Excel spreadsheet WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX); // Create worksheets WorkSheet workSheet1 = workBook.CreateWorkSheet("workSheet1"); WorkSheet workSheet2 = workBook.CreateWorkSheet("workSheet2"); WorkSheet workSheet3 = workBook.CreateWorkSheet("workSheet3"); WorkSheet workSheet4 = workBook.CreateWorkSheet("workSheet4"); workBook.SaveAs("createNewWorkSheets.xlsx"); $vbLabelText $csharpLabel 如何更改工作表位置? SetSheetPosition 方法用於更改工作表的位置。 它需要兩個參數:工作表名稱(Integer)。 我為什麼要重新排列工作表? 重新排列工作表可以建立符合邏輯的資料流並改善導覽。 對於財務報告,您可以先放置總表,然後再放置詳細分類表。 在專案追蹤工作簿中,按時間順序或部門組織表格有助於使用者快速找到資訊。 這種組織方式在創建用於商業用途的專業電子表格時至關重要。 當我改變位置時,其他工作表會發生什麼變化? 移動工作表時, IronXL會自動調整其他工作表的位置以保持持續性。 將工作表從位置 3 移到位置 0,會將位置 0、1 和 2 的工作表向右移動一個位置。 此自動重新索引功能可確保工作表順序無間斷。 如何將工作表移到開頭或結尾? 移動到開頭很簡單——使用位置 0。移到結尾,使用工作簿的工作表編號減 1。以下是一個實際範例: // Move worksheet to the beginning workBook.SetSheetPosition("ImportantSheet", 0); // Move worksheet to the end int lastPosition = workBook.WorkSheets.Count - 1; workBook.SetSheetPosition("ArchiveSheet", lastPosition); // Move worksheet to the beginning workBook.SetSheetPosition("ImportantSheet", 0); // Move worksheet to the end int lastPosition = workBook.WorkSheets.Count - 1; workBook.SetSheetPosition("ArchiveSheet", lastPosition); $vbLabelText $csharpLabel :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-sheet-position.cs using IronXL; WorkBook workBook = WorkBook.Load("createNewWorkSheets.xlsx"); // Set worksheet position workBook.SetSheetPosition("workSheet2", 0); workBook.SaveAs("setWorksheetPosition.xlsx"); $vbLabelText $csharpLabel 如何設定活動工作表? 設定活動工作表可以指定在 Excel 或其他視覺化工具中首次開啟工作簿時預設開啟的工作表。 使用工作表索引位置的 SetActiveTab 方法。 為什麼設定活動工作表很重要? 當前活動工作表決定使用者開啟工作簿時首先看到的內容。 第一印象對於儀錶板、報表和資料輸入表單至關重要。 透過設定合適的活動工作表,您可以立即引導使用者找到最相關的信息,從而提高可用性並減少多工作表工作簿中的混亂。 活動工作表和選定工作表有什麼不同? 目前顯示並可供互動的工作表是活動工作表。 選定的工作表可以是多個工作表,用於進行分組操作,例如格式設定或刪除。 IronXL 的 SetActiveTab 專門控制檔案開啟時顯示哪個工作表,而執行大量操作時則透過其他方法處理工作表選擇。 如何確定目前處於活動狀態的工作表? IronXL提供用於識別目前活動工作表的屬性。 當您需要在操作前保持活動狀態或驗證將顯示哪個工作表時,此功能非常有用。 在讀取 Excel 檔案時,您也可以使用此資訊來了解工作簿的預設視圖: // Get the currently active worksheet index int activeIndex = workBook.ActiveSheetIndex; // Get the active worksheet object WorkSheet activeSheet = workBook.WorkSheets[activeIndex]; Console.WriteLine($"Active worksheet: {activeSheet.Name}"); // Get the currently active worksheet index int activeIndex = workBook.ActiveSheetIndex; // Get the active worksheet object WorkSheet activeSheet = workBook.WorkSheets[activeIndex]; Console.WriteLine($"Active worksheet: {activeSheet.Name}"); $vbLabelText $csharpLabel :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs using IronXL; WorkBook workBook = WorkBook.Load("createNewWorkSheets.xlsx"); // Set active for workSheet3 workBook.SetActiveTab(2); workBook.SaveAs("setActiveTab.xlsx"); $vbLabelText $csharpLabel 如何刪除工作表? 使用 RemoveWorksheet 方法刪除工作表,並指定工作表的索引位置。 如果位置未知,請使用工作表名稱取代。 如果我嘗試刪除最後一個工作表會發生什麼? Excel 要求工作簿中至少包含一個工作表。 如果您嘗試刪除最後一個剩餘的工作表, IronXL將拋出異常以維護 Excel 檔案的完整性。 刪除工作表前務必檢查工作表數量,或將刪除程式碼封裝在適當的錯誤處理程序中: // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } $vbLabelText $csharpLabel 如何有效率地刪除多個工作表? 刪除多個工作表時,請從最高索引開始倒序操作,以避免索引偏移問題。 或者,先收集工作表名稱,再按名稱刪除。 這種方法在清理臨時工作表或合併資料時尤其有用: // Remove multiple worksheets by collecting names first var sheetsToRemove = workBook.WorkSheets .Where(ws => ws.Name.StartsWith("Temp_")) .Select(ws => ws.Name) .ToList(); foreach (var sheetName in sheetsToRemove) { workBook.RemoveWorkSheet(sheetName); } // Remove multiple worksheets by collecting names first var sheetsToRemove = workBook.WorkSheets .Where(ws => ws.Name.StartsWith("Temp_")) .Select(ws => ws.Name) .ToList(); foreach (var sheetName in sheetsToRemove) { workBook.RemoveWorkSheet(sheetName); } $vbLabelText $csharpLabel 刪除工作表前需要哪些安全檢查? 刪除工作表之前,請確認其中不包含關鍵資料、其他工作表引用的公式或工作簿其他部分所依賴的命名區域。 為了便於資料恢復,請在刪除工作表之前考慮建立備份或複製工作表。 :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs using IronXL; WorkBook workBook = WorkBook.Load("createNewWorkSheets.xlsx"); // Remove workSheet1 workBook.RemoveWorkSheet(1); // Remove workSheet2 workBook.RemoveWorkSheet("workSheet2"); workBook.SaveAs("removeWorksheet.xlsx"); $vbLabelText $csharpLabel 如何複製或影印工作表? 在同一工作簿內或不同工作簿之間複製工作表。 若要在同一工作簿中複製,請使用 CopySheet 方法。 若要複製到其他工作簿,請使用 CopyTo 方法。 何時應該在工作簿內複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,請在同一工作簿內進行複製。 在合併來自多個來源的資料、建立來自不同部門的標準化報告或根據個人貢獻建立主工作簿時,跨工作簿複製 Excel 非常有用。 對於敏感數據,複製後請考慮建立備份或對工作簿進行密碼保護。 複製工作表時會複製哪些內容? IronXL 的工作表複製功能保留所有基本元素:儲存格值、公式、格式、合併儲存格、列寬、行高和資料驗證規則。 圖表、圖像和其他嵌入物件也會被複製。 這種全面的複製功能可確保您複製的工作表與原件完全一致,非常適合建立範本或存檔副本。 複製時如何處理公式引用? 複製工作表時,相對公式參考會自動調整以適應新的工作表上下文。 但是,絕對引用和跨頁引用需要注意。 複製後,檢查引用其他工作表的公式,確保它們指向正確的資料來源。 以下是如何處理常見情況: // Example: Copying a worksheet and updating formula references WorkSheet original = workBook.GetWorkSheet("Original"); WorkSheet copied = original.CopySheet("Duplicate"); // Update formulas that need to reference the new sheet foreach (var cell in copied["A1:Z100"]) { if (cell.IsFormula) { // Replace references as needed string formula = cell.Formula; // Update formula logic here based on your needs } } // Example: Copying a worksheet and updating formula references WorkSheet original = workBook.GetWorkSheet("Original"); WorkSheet copied = original.CopySheet("Duplicate"); // Update formulas that need to reference the new sheet foreach (var cell in copied["A1:Z100"]) { if (cell.IsFormula) { // Replace references as needed string formula = cell.Formula; // Update formula logic here based on your needs } } $vbLabelText $csharpLabel :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs using IronXL; WorkBook firstBook = WorkBook.Create(ExcelFileFormat.XLSX); WorkBook secondBook = WorkBook.Create(); // Select first worksheet in the workbook WorkSheet workSheet = firstBook.DefaultWorkSheet; // Duplicate the worksheet to the same workbook workSheet.CopySheet("Copied Sheet"); // Duplicate the worksheet to another workbook with the specified name workSheet.CopyTo(secondBook, "Copied Sheet"); firstBook.SaveAs("firstWorksheet.xlsx"); secondBook.SaveAs("secondWorksheet.xlsx"); $vbLabelText $csharpLabel firstWorksheet.xlsx secondWorksheet.xlsx 常見問題解答 如何使用 C# 在 Excel 檔案中新增工作表? IronXL 提供了一個簡單的 CreateWorksheet 方法,只需一行代碼即可新增一個工作表。與 Office Interop 不同的是,您不需要管理 COM 物件或處理複雜的資源清理 - 只需以所需的工作表名稱呼叫 CreateWorksheet 即可。 工作表的零基索引與單基索引有何差異? IronXL 使用基於零的索引,意即第一個工作表位於位置 0,而非 1。這符合標準的 C# 集合索引,並有助於在使用 SetSheetPosition 等方法重新排列工作表時,避免出現偏一的錯誤。 我可以在沒有安裝 Excel 的情況下,以程式化的方式重新排列工作表嗎? 是的,IronXl.Excel 的 SetSheetPosition 方法可讓您重新排列工作表,而無需安裝 Excel。此方法使用簡單的索引值將工作表移動到工作簿中的任何位置,不需要 Office Interop 依賴。 如何從 Excel 工作簿中刪除工作表? 使用 IronXL 的 RemoveWorksheet 方法以程式方式刪除工作表。該方法可接受工作表名稱或索引位置。請記住,Excel 要求至少有一個工作表,因此 IronXl.Excel 會阻止您刪除最後餘下的工作表。 如果我嘗試建立具有重複名稱的工作表,會發生什麼情況? 如果您嘗試以工作簿中已存在的名稱建立工作表,IronXL 會產生異常。在呼叫 CreateWorksheet 方法時,請務必檢查現有的工作表名稱或使用獨特的命名慣例。 如何設定開啟 Excel 檔案時會顯示哪個工作表? IronXl.Excel 的 SetActiveTab 方法可控制 Excel 檔案開啟時哪個工作表處於活動狀態。只要將工作表索引或參照傳給此方法,使用者在開啟工作簿時就會首先看到該工作表。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php Line: 12 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/libraries/Render.php Line: 489 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Howto.php Line: 31 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php Line: 19 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/libraries/Render.php Line: 489 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Howto.php Line: 31 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once 準備好開始了嗎? Nuget 下載 1,890,100 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:1,890,100 查看許可證 Docs 在這頁 開始使用入門概述在C#中使用Excel文件而不使用Interop使用授權金鑰安裝 IronXL 庫在 macOS 上使用在 Linux 上使用部署到雲端/容器部署到 Azure部署到 AWS在Docker中設置.NET 語言支持.NET MAUI上使用Excel在Blazor中讀取Excel文件在VB.NET中使用Excel文件教程如何在C#中讀取Excel文件在 C# 中創建 Excel 文件使用C#打開和寫入Excel文件操作指南工作簿創建電子表格載入試算表在C#中導出到Excel在 C# 中讀取 XLSX 文件在C#中讀取CSV在ASP.NET Web應用程序中讀取Excel文件在.NET中寫入CSV在C#中打開Excel工作表將數據表轉換為CSV將XLSX轉換為CSV、JSON、XML轉換電子表格文件類型導入及導出為 DataSet編輯工作簿元數據用密碼加密工作簿管理工作表工作表編輯公式選擇範圍命名範圍命名表創建和編輯圖表凍結窗格添加行和列自動調整列和欄用密碼加密工作表分組和取消分組新增、提取和移除圖片在C#中創建Excel圖表單元格範圍在.NET中寫入Excel值在C#中導入Excel數據排序單元格範圍修剪儲存格範圍清除儲存格複製單元格設置超鏈接合併和拆分單元格單元格字體和大小單元格邊框和對齊背景圖案與顏色條件格式數學函數添加評論設置單元格數據格式在C#中編輯Excel文件故障排除故障排除指南在IronXL中套用授權密鑰文件大小限制Excel限制:字符串列表的數據驗證常见問题IronXL - 安全CVE異常訊息在 Web.config 中設置許可密钥產品更新變更日志里程碑里程碑:性能里程碑:增強視頻教程API 參考 在這頁 工作表管理的基本操作有哪些?如何建立新工作表?如何更改工作表位置?如何設定活動工作表?如何刪除工作表?如何複製或影印工作表? A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php Line: 17 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 71 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/how-to/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Howto.php Line: 31 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php Line: 24 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 71 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/how-to/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Howto.php Line: 31 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once 還在捲動嗎? 想要快速證明? PM > Install-Package IronXl.Excel 執行範例 觀看您的資料變成試算表。 免費 NuGet 下載 總下載量:1,890,100 查看許可證