如何在不互操作的情況下,以 C# 管理工作表。
IronXL 可在 C# 中實現工作表管理,而無需 Office Interop,讓您可以透過簡單的方法呼叫來建立、刪除、移動和複製工作表。 這個函式庫消除了 Interop 的依賴性,同時以程式化的方式提供對 Excel 工作表作業的完全控制。
快速入門:立即新增工作表
本範例示範使用 IronXL 建立一個新的工作表,只需一行文字--沒有模板、沒有 Interop--即可在 C# 中立即管理 Excel 工作簿。
立即開始使用 NuGet 建立 PDF 檔案:
使用 NuGet 套件管理器安裝 IronXL
複製並運行這段程式碼。
IronXL.WorkBook wb = IronXL.WorkBook.Create(ExcelFileFormat.XLSX).CreateWorkSheet("NewSheet");部署到您的生產環境進行測試
最小工作流程(5 個步驟)

- 下載用於管理 Excel 工作表的 C# 庫
- 使用
CreateWorksheet方法建立新工作表 - 使用
SetSheetPosition方法重新排序工作表 - 使用
SetActiveTab方法設定使用中的工作表單 - 使用
RemoveWorksheet方法移除工作表
哪些是基本的工作表管理作業? 管理工作表需要具備建立、移動和刪除工作表的能力。 IronXL 只需一行代碼即可完成每個動作。 不同於傳統的 [ C# Excel Interop 方法](https://ironsoftware.com/csharp/excel/get-started/c-sharp-excel-interop/),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 要求至少有一個工作表)、建立工作表時使用重複的名稱,以及操作後忘記儲存變更。 此外,在[載入現有試算表](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/)時,請務必在執行操作前驗證工作表是否存在,以避免執行時發生異常。如何建立新工作表? `CreateWorksheet` 方法會建立一個新的工作表。 它只需要工作表名稱作為唯一參數。 此方法會傳回已建立的工作表物件,讓您可以在建立後立即執行其他操作,例如 [ 彙整](https://ironsoftware.com/csharp/excel/how-to/csharp-excel-merge-cells/)儲存格。如果我使用重複的工作表名稱會如何? 當您嘗試以已存在的名稱建立工作表時,IronXL 會自動附加一個數字使其獨一無二。 例如,在 Sheet1 已經存在的情況下建立 Sheet1,結果會是 Sheet1_1。 此自動重新命名功能可防止衝突,並確保您的程式碼持續執行而不會產生異常。在建立工作表之後,如何進行連鎖作業? 由於 `CreateWorksheet` 會返回 WorkSheet 物件,因此您可以透過鏈結操作來進行有效率的編碼。 這種流暢的介面模式可讓您建立工作表,並立即執行設定儲存格值、套用格式或 [處理範圍](https://ironsoftware.com/csharp/excel/how-to/select-range/)等動作。 以下是一個範例: ```csharp // 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"; ```工作表的命名慣例是什麼? Excel 工作表名稱的長度必須為 1-31 個字元,且不能包含這些字元:\ / ? * [ ]. 此外,名稱不能為空白或僅由空格組成。 IronXL.Excel 會自動驗證名稱,若偵測到無效字元則會產生異常,有助於維持 Excel 的相容性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-create-worksheet.cs ```
如何變更工作表位置? `SetSheetPosition` 方法可變更工作表的位置。 它需要兩個參數:工作表名稱( `String`及其索引位置( `Integer` 。為什麼我需要重新排序工作表? 重新排序工作表可建立邏輯資料流並改善導覽。 對於財務報告,您可能會先放置摘要表,然後再放置詳細明細。 在專案追蹤工作簿中,按時間順序或部門整理工作表有助於使用者快速找到資訊。 當 [ 製作專業試算表](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)供商業使用時,這種組織變得非常重要。當我改變位置時,其他工作表會如何? 當您移動工作表時,IronXL 會自動調整其他工作表的位置以維持連續性。 將工作表從位置 3 移到位置 0,會將位置 0、1 和 2 的工作表向右移動一個位置。 這種自動重新編排索引的方式可確保工作表的排序不會出現空隙。如何將工作表移到開頭或結尾? 移動到起始位置很簡單,使用位置 0;移動到結束位置時,使用工作簿的工作表數減去 1。下面是一個實例: ```csharp // Move worksheet to the beginning workBook.SetSheetPosition("ImportantSheet", 0); // Move worksheet to the end int lastPosition = workBook.WorkSheets.Count - 1; workBook.SetSheetPosition("ArchiveSheet", lastPosition); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-sheet-position.cs ```
如何設定作用中工作表? 設定使用中的工作表指定當工作簿首次在 Excel 或其他可視化工具中開啟時,預設會開啟哪個工作表。 使用 `SetActiveTab` 方法與工作表的索引位置。設定作用中工作表為何重要? 使用中的工作表決定使用者開啟工作簿時首先看到的內容。 這第一印象對於儀表板、報表和資料輸入表來說非常重要。 透過設定適當的作用中工作表,您可以引導使用者立即取得最相關的資訊,改善多工作表工作簿的可用性並減少混亂。活動工作表與選取工作表之間有何差異? 使用中的工作表是目前顯示並可進行互動的工作表。 選取的工作表可以是多個選取的工作表,以便進行格式化或刪除等群組作業。 IronXL 的 `SetActiveTab` 專門控制檔案開啟時出現的單一工作表,而工作表選擇則在執行批次作業時透過其他方法處理。如何判斷目前使用中的工作表? IronXL 提供識別目前使用中工作表的屬性。 當您需要在操作前保留作用中狀態,或驗證將顯示哪個工作表時,這將非常有用。 您也可以在[閱讀 Excel 檔案](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)時使用這些資訊,以瞭解工作簿的預設檢視: ```csharp // 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}"); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs ```
如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx
何時應該使用每種工作表管理方法? 不同的情境需要不同的工作表操作。 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 要求至少有一個工作表)、建立工作表時使用重複的名稱,以及操作後忘記儲存變更。 此外,在[載入現有試算表](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/)時,請務必在執行操作前驗證工作表是否存在,以避免執行時發生異常。如何建立新工作表? `CreateWorksheet` 方法會建立一個新的工作表。 它只需要工作表名稱作為唯一參數。 此方法會傳回已建立的工作表物件,讓您可以在建立後立即執行其他操作,例如 [ 彙整](https://ironsoftware.com/csharp/excel/how-to/csharp-excel-merge-cells/)儲存格。如果我使用重複的工作表名稱會如何? 當您嘗試以已存在的名稱建立工作表時,IronXL 會自動附加一個數字使其獨一無二。 例如,在 Sheet1 已經存在的情況下建立 Sheet1,結果會是 Sheet1_1。 此自動重新命名功能可防止衝突,並確保您的程式碼持續執行而不會產生異常。在建立工作表之後,如何進行連鎖作業? 由於 `CreateWorksheet` 會返回 WorkSheet 物件,因此您可以透過鏈結操作來進行有效率的編碼。 這種流暢的介面模式可讓您建立工作表,並立即執行設定儲存格值、套用格式或 [處理範圍](https://ironsoftware.com/csharp/excel/how-to/select-range/)等動作。 以下是一個範例: ```csharp // 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"; ```工作表的命名慣例是什麼? Excel 工作表名稱的長度必須為 1-31 個字元,且不能包含這些字元:\ / ? * [ ]. 此外,名稱不能為空白或僅由空格組成。 IronXL.Excel 會自動驗證名稱,若偵測到無效字元則會產生異常,有助於維持 Excel 的相容性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-create-worksheet.cs ```
如何變更工作表位置? `SetSheetPosition` 方法可變更工作表的位置。 它需要兩個參數:工作表名稱( `String`及其索引位置( `Integer` 。為什麼我需要重新排序工作表? 重新排序工作表可建立邏輯資料流並改善導覽。 對於財務報告,您可能會先放置摘要表,然後再放置詳細明細。 在專案追蹤工作簿中,按時間順序或部門整理工作表有助於使用者快速找到資訊。 當 [ 製作專業試算表](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)供商業使用時,這種組織變得非常重要。當我改變位置時,其他工作表會如何? 當您移動工作表時,IronXL 會自動調整其他工作表的位置以維持連續性。 將工作表從位置 3 移到位置 0,會將位置 0、1 和 2 的工作表向右移動一個位置。 這種自動重新編排索引的方式可確保工作表的排序不會出現空隙。如何將工作表移到開頭或結尾? 移動到起始位置很簡單,使用位置 0;移動到結束位置時,使用工作簿的工作表數減去 1。下面是一個實例: ```csharp // Move worksheet to the beginning workBook.SetSheetPosition("ImportantSheet", 0); // Move worksheet to the end int lastPosition = workBook.WorkSheets.Count - 1; workBook.SetSheetPosition("ArchiveSheet", lastPosition); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-sheet-position.cs ```
如何設定作用中工作表? 設定使用中的工作表指定當工作簿首次在 Excel 或其他可視化工具中開啟時,預設會開啟哪個工作表。 使用 `SetActiveTab` 方法與工作表的索引位置。設定作用中工作表為何重要? 使用中的工作表決定使用者開啟工作簿時首先看到的內容。 這第一印象對於儀表板、報表和資料輸入表來說非常重要。 透過設定適當的作用中工作表,您可以引導使用者立即取得最相關的資訊,改善多工作表工作簿的可用性並減少混亂。活動工作表與選取工作表之間有何差異? 使用中的工作表是目前顯示並可進行互動的工作表。 選取的工作表可以是多個選取的工作表,以便進行格式化或刪除等群組作業。 IronXL 的 `SetActiveTab` 專門控制檔案開啟時出現的單一工作表,而工作表選擇則在執行批次作業時透過其他方法處理。如何判斷目前使用中的工作表? IronXL 提供識別目前使用中工作表的屬性。 當您需要在操作前保留作用中狀態,或驗證將顯示哪個工作表時,這將非常有用。 您也可以在[閱讀 Excel 檔案](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)時使用這些資訊,以瞭解工作簿的預設檢視: ```csharp // 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}"); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs ```
如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx
如何建立新工作表? `CreateWorksheet` 方法會建立一個新的工作表。 它只需要工作表名稱作為唯一參數。 此方法會傳回已建立的工作表物件,讓您可以在建立後立即執行其他操作,例如 [ 彙整](https://ironsoftware.com/csharp/excel/how-to/csharp-excel-merge-cells/)儲存格。如果我使用重複的工作表名稱會如何? 當您嘗試以已存在的名稱建立工作表時,IronXL 會自動附加一個數字使其獨一無二。 例如,在 Sheet1 已經存在的情況下建立 Sheet1,結果會是 Sheet1_1。 此自動重新命名功能可防止衝突,並確保您的程式碼持續執行而不會產生異常。在建立工作表之後,如何進行連鎖作業? 由於 `CreateWorksheet` 會返回 WorkSheet 物件,因此您可以透過鏈結操作來進行有效率的編碼。 這種流暢的介面模式可讓您建立工作表,並立即執行設定儲存格值、套用格式或 [處理範圍](https://ironsoftware.com/csharp/excel/how-to/select-range/)等動作。 以下是一個範例: ```csharp // 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"; ```工作表的命名慣例是什麼? Excel 工作表名稱的長度必須為 1-31 個字元,且不能包含這些字元:\ / ? * [ ]. 此外,名稱不能為空白或僅由空格組成。 IronXL.Excel 會自動驗證名稱,若偵測到無效字元則會產生異常,有助於維持 Excel 的相容性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-create-worksheet.cs ```
如何變更工作表位置? `SetSheetPosition` 方法可變更工作表的位置。 它需要兩個參數:工作表名稱( `String`及其索引位置( `Integer` 。為什麼我需要重新排序工作表? 重新排序工作表可建立邏輯資料流並改善導覽。 對於財務報告,您可能會先放置摘要表,然後再放置詳細明細。 在專案追蹤工作簿中,按時間順序或部門整理工作表有助於使用者快速找到資訊。 當 [ 製作專業試算表](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)供商業使用時,這種組織變得非常重要。當我改變位置時,其他工作表會如何? 當您移動工作表時,IronXL 會自動調整其他工作表的位置以維持連續性。 將工作表從位置 3 移到位置 0,會將位置 0、1 和 2 的工作表向右移動一個位置。 這種自動重新編排索引的方式可確保工作表的排序不會出現空隙。如何將工作表移到開頭或結尾? 移動到起始位置很簡單,使用位置 0;移動到結束位置時,使用工作簿的工作表數減去 1。下面是一個實例: ```csharp // Move worksheet to the beginning workBook.SetSheetPosition("ImportantSheet", 0); // Move worksheet to the end int lastPosition = workBook.WorkSheets.Count - 1; workBook.SetSheetPosition("ArchiveSheet", lastPosition); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-sheet-position.cs ```
如何設定作用中工作表? 設定使用中的工作表指定當工作簿首次在 Excel 或其他可視化工具中開啟時,預設會開啟哪個工作表。 使用 `SetActiveTab` 方法與工作表的索引位置。設定作用中工作表為何重要? 使用中的工作表決定使用者開啟工作簿時首先看到的內容。 這第一印象對於儀表板、報表和資料輸入表來說非常重要。 透過設定適當的作用中工作表,您可以引導使用者立即取得最相關的資訊,改善多工作表工作簿的可用性並減少混亂。活動工作表與選取工作表之間有何差異? 使用中的工作表是目前顯示並可進行互動的工作表。 選取的工作表可以是多個選取的工作表,以便進行格式化或刪除等群組作業。 IronXL 的 `SetActiveTab` 專門控制檔案開啟時出現的單一工作表,而工作表選擇則在執行批次作業時透過其他方法處理。如何判斷目前使用中的工作表? IronXL 提供識別目前使用中工作表的屬性。 當您需要在操作前保留作用中狀態,或驗證將顯示哪個工作表時,這將非常有用。 您也可以在[閱讀 Excel 檔案](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)時使用這些資訊,以瞭解工作簿的預設檢視: ```csharp // 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}"); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs ```
如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx
在建立工作表之後,如何進行連鎖作業? 由於 `CreateWorksheet` 會返回 WorkSheet 物件,因此您可以透過鏈結操作來進行有效率的編碼。 這種流暢的介面模式可讓您建立工作表,並立即執行設定儲存格值、套用格式或 [處理範圍](https://ironsoftware.com/csharp/excel/how-to/select-range/)等動作。 以下是一個範例: ```csharp // 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"; ```工作表的命名慣例是什麼? Excel 工作表名稱的長度必須為 1-31 個字元,且不能包含這些字元:\ / ? * [ ]. 此外,名稱不能為空白或僅由空格組成。 IronXL.Excel 會自動驗證名稱,若偵測到無效字元則會產生異常,有助於維持 Excel 的相容性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-create-worksheet.cs ```
如何變更工作表位置? `SetSheetPosition` 方法可變更工作表的位置。 它需要兩個參數:工作表名稱( `String`及其索引位置( `Integer` 。為什麼我需要重新排序工作表? 重新排序工作表可建立邏輯資料流並改善導覽。 對於財務報告,您可能會先放置摘要表,然後再放置詳細明細。 在專案追蹤工作簿中,按時間順序或部門整理工作表有助於使用者快速找到資訊。 當 [ 製作專業試算表](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)供商業使用時,這種組織變得非常重要。當我改變位置時,其他工作表會如何? 當您移動工作表時,IronXL 會自動調整其他工作表的位置以維持連續性。 將工作表從位置 3 移到位置 0,會將位置 0、1 和 2 的工作表向右移動一個位置。 這種自動重新編排索引的方式可確保工作表的排序不會出現空隙。如何將工作表移到開頭或結尾? 移動到起始位置很簡單,使用位置 0;移動到結束位置時,使用工作簿的工作表數減去 1。下面是一個實例: ```csharp // Move worksheet to the beginning workBook.SetSheetPosition("ImportantSheet", 0); // Move worksheet to the end int lastPosition = workBook.WorkSheets.Count - 1; workBook.SetSheetPosition("ArchiveSheet", lastPosition); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-sheet-position.cs ```
如何設定作用中工作表? 設定使用中的工作表指定當工作簿首次在 Excel 或其他可視化工具中開啟時,預設會開啟哪個工作表。 使用 `SetActiveTab` 方法與工作表的索引位置。設定作用中工作表為何重要? 使用中的工作表決定使用者開啟工作簿時首先看到的內容。 這第一印象對於儀表板、報表和資料輸入表來說非常重要。 透過設定適當的作用中工作表,您可以引導使用者立即取得最相關的資訊,改善多工作表工作簿的可用性並減少混亂。活動工作表與選取工作表之間有何差異? 使用中的工作表是目前顯示並可進行互動的工作表。 選取的工作表可以是多個選取的工作表,以便進行格式化或刪除等群組作業。 IronXL 的 `SetActiveTab` 專門控制檔案開啟時出現的單一工作表,而工作表選擇則在執行批次作業時透過其他方法處理。如何判斷目前使用中的工作表? IronXL 提供識別目前使用中工作表的屬性。 當您需要在操作前保留作用中狀態,或驗證將顯示哪個工作表時,這將非常有用。 您也可以在[閱讀 Excel 檔案](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)時使用這些資訊,以瞭解工作簿的預設檢視: ```csharp // 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}"); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs ```
如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx

如何變更工作表位置? `SetSheetPosition` 方法可變更工作表的位置。 它需要兩個參數:工作表名稱( `String`及其索引位置( `Integer` 。為什麼我需要重新排序工作表? 重新排序工作表可建立邏輯資料流並改善導覽。 對於財務報告,您可能會先放置摘要表,然後再放置詳細明細。 在專案追蹤工作簿中,按時間順序或部門整理工作表有助於使用者快速找到資訊。 當 [ 製作專業試算表](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)供商業使用時,這種組織變得非常重要。當我改變位置時,其他工作表會如何? 當您移動工作表時,IronXL 會自動調整其他工作表的位置以維持連續性。 將工作表從位置 3 移到位置 0,會將位置 0、1 和 2 的工作表向右移動一個位置。 這種自動重新編排索引的方式可確保工作表的排序不會出現空隙。如何將工作表移到開頭或結尾? 移動到起始位置很簡單,使用位置 0;移動到結束位置時,使用工作簿的工作表數減去 1。下面是一個實例: ```csharp // Move worksheet to the beginning workBook.SetSheetPosition("ImportantSheet", 0); // Move worksheet to the end int lastPosition = workBook.WorkSheets.Count - 1; workBook.SetSheetPosition("ArchiveSheet", lastPosition); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-sheet-position.cs ```
如何設定作用中工作表? 設定使用中的工作表指定當工作簿首次在 Excel 或其他可視化工具中開啟時,預設會開啟哪個工作表。 使用 `SetActiveTab` 方法與工作表的索引位置。設定作用中工作表為何重要? 使用中的工作表決定使用者開啟工作簿時首先看到的內容。 這第一印象對於儀表板、報表和資料輸入表來說非常重要。 透過設定適當的作用中工作表,您可以引導使用者立即取得最相關的資訊,改善多工作表工作簿的可用性並減少混亂。活動工作表與選取工作表之間有何差異? 使用中的工作表是目前顯示並可進行互動的工作表。 選取的工作表可以是多個選取的工作表,以便進行格式化或刪除等群組作業。 IronXL 的 `SetActiveTab` 專門控制檔案開啟時出現的單一工作表,而工作表選擇則在執行批次作業時透過其他方法處理。如何判斷目前使用中的工作表? IronXL 提供識別目前使用中工作表的屬性。 當您需要在操作前保留作用中狀態,或驗證將顯示哪個工作表時,這將非常有用。 您也可以在[閱讀 Excel 檔案](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)時使用這些資訊,以瞭解工作簿的預設檢視: ```csharp // 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}"); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs ```
如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx
當我改變位置時,其他工作表會如何? 當您移動工作表時,IronXL 會自動調整其他工作表的位置以維持連續性。 將工作表從位置 3 移到位置 0,會將位置 0、1 和 2 的工作表向右移動一個位置。 這種自動重新編排索引的方式可確保工作表的排序不會出現空隙。如何將工作表移到開頭或結尾? 移動到起始位置很簡單,使用位置 0;移動到結束位置時,使用工作簿的工作表數減去 1。下面是一個實例: ```csharp // Move worksheet to the beginning workBook.SetSheetPosition("ImportantSheet", 0); // Move worksheet to the end int lastPosition = workBook.WorkSheets.Count - 1; workBook.SetSheetPosition("ArchiveSheet", lastPosition); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-sheet-position.cs ```
如何設定作用中工作表? 設定使用中的工作表指定當工作簿首次在 Excel 或其他可視化工具中開啟時,預設會開啟哪個工作表。 使用 `SetActiveTab` 方法與工作表的索引位置。設定作用中工作表為何重要? 使用中的工作表決定使用者開啟工作簿時首先看到的內容。 這第一印象對於儀表板、報表和資料輸入表來說非常重要。 透過設定適當的作用中工作表,您可以引導使用者立即取得最相關的資訊,改善多工作表工作簿的可用性並減少混亂。活動工作表與選取工作表之間有何差異? 使用中的工作表是目前顯示並可進行互動的工作表。 選取的工作表可以是多個選取的工作表,以便進行格式化或刪除等群組作業。 IronXL 的 `SetActiveTab` 專門控制檔案開啟時出現的單一工作表,而工作表選擇則在執行批次作業時透過其他方法處理。如何判斷目前使用中的工作表? IronXL 提供識別目前使用中工作表的屬性。 當您需要在操作前保留作用中狀態,或驗證將顯示哪個工作表時,這將非常有用。 您也可以在[閱讀 Excel 檔案](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)時使用這些資訊,以瞭解工作簿的預設檢視: ```csharp // 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}"); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs ```
如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx

如何設定作用中工作表? 設定使用中的工作表指定當工作簿首次在 Excel 或其他可視化工具中開啟時,預設會開啟哪個工作表。 使用 `SetActiveTab` 方法與工作表的索引位置。設定作用中工作表為何重要? 使用中的工作表決定使用者開啟工作簿時首先看到的內容。 這第一印象對於儀表板、報表和資料輸入表來說非常重要。 透過設定適當的作用中工作表,您可以引導使用者立即取得最相關的資訊,改善多工作表工作簿的可用性並減少混亂。活動工作表與選取工作表之間有何差異? 使用中的工作表是目前顯示並可進行互動的工作表。 選取的工作表可以是多個選取的工作表,以便進行格式化或刪除等群組作業。 IronXL 的 `SetActiveTab` 專門控制檔案開啟時出現的單一工作表,而工作表選擇則在執行批次作業時透過其他方法處理。如何判斷目前使用中的工作表? IronXL 提供識別目前使用中工作表的屬性。 當您需要在操作前保留作用中狀態,或驗證將顯示哪個工作表時,這將非常有用。 您也可以在[閱讀 Excel 檔案](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)時使用這些資訊,以瞭解工作簿的預設檢視: ```csharp // 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}"); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs ```
如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx
活動工作表與選取工作表之間有何差異? 使用中的工作表是目前顯示並可進行互動的工作表。 選取的工作表可以是多個選取的工作表,以便進行格式化或刪除等群組作業。 IronXL 的 `SetActiveTab` 專門控制檔案開啟時出現的單一工作表,而工作表選擇則在執行批次作業時透過其他方法處理。如何判斷目前使用中的工作表? IronXL 提供識別目前使用中工作表的屬性。 當您需要在操作前保留作用中狀態,或驗證將顯示哪個工作表時,這將非常有用。 您也可以在[閱讀 Excel 檔案](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)時使用這些資訊,以瞭解工作簿的預設檢視: ```csharp // 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}"); ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs ```
如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx

如何刪除工作表? 使用 `RemoveWorksheet` 方法,以工作表的索引位置移除工作表。 如果職位不明,請使用工作表名稱代替。如果我嘗試移除最後一張工作表會如何? Excel 要求在工作簿中至少有一個工作表。 如果您嘗試移除最後餘下的工作表,IronXL.Excel 會拋出異常,以維持 Excel 檔案的完整性。 在移除之前,請務必檢查工作表的數量,或將您的刪除程式碼包裝在適當的錯誤處理中: ```csharp // Safe worksheet removal with validation if (workBook.WorkSheets.Count > 1) { workBook.RemoveWorkSheet("TempSheet"); } else { Console.WriteLine("Cannot remove the last worksheet"); } ```如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx
如何有效地移除多個工作表? 移除多個工作表時,請從最高索引開始往後移除,以避免索引移位問題。 或者,先收集工作表名稱,然後再依名稱移除。 這種方法在清理臨時工作表或整合資料時特別有用: ```csharp // 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); } ```刪除工作表之前有哪些安全檢查? 刪除工作表之前,請確認工作表不包含關鍵資料、其他工作表引用的公式,或工作簿其他部分所依賴的 [命名範圍](https://ironsoftware.com/csharp/excel/how-to/named-range/)。 在刪除工作表之前,請考慮建立備份或[複製工作表](https://ironsoftware.com/csharp/excel/how-to/copy-cells/),以便進行資料復原。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs ```
如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx

如何複製或複製工作表? 在同一工作簿內或不同工作簿間複製工作表。 若要在同一個工作簿中複製,請使用 `CopySheet` 方法。 若要複製到不同的工作簿,請使用 `CopyTo` 方法。何時應該在工作簿內部複製,何時應該在工作簿之間複製? 在建立範本、備份工作表或現有資料佈局的變體時,在同一個工作簿內複製。 跨工作簿複製在整合來自多個來源的資料、建立來自不同部門的標準化報告,或從個別貢獻建立主工作簿時,都有出色的表現。 對於敏感資料,複製後請考慮建立備份或[以密碼保護工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)。複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx
複製工作表時,哪些內容會被複製? IronXL 的工作表複製功能會保留所有基本元素:單元值、公式、格式化、合併單元、列寬、行高和資料驗證規則。 圖表、圖片和其他內嵌物件亦需複製。 這種全面的複製可確保您複製的工作表完全忠於原版,非常適合建立範本或存檔副本。複製時如何處理公式引用? 複製工作表時,相對公式引用會自動調整到新的工作表上下文。 但是,需要注意絕對引用和跨頁引用。 複製後,檢閱引用其他工作表的公式,以確保它們指向正確的資料來源。 以下是處理常見情況的方法: ```csharp // 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 } } ``` ```csharp :path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs ```
firstWorksheet.xlsx

secondWorksheet.xlsx

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 檔案開啟時哪個工作表處於活動狀態。只要將工作表索引或參照傳給此方法,使用者在開啟工作簿時就會首先看到該工作表。






