如何在 C# 中插入新列與新行
IronXL程式庫提供了一種便捷的方式,可在 C# 程式碼中插入單行或多行及多欄,無需使用 Office Interop。 在任何索引位置使用 InsertRows 及 InsertColumns 方法,即可透過程式碼動態修改 Excel 試算表。
快速入門:使用 IronXL 輕鬆新增列或欄
IronXL 讓您能透過單一流暢的 API 呼叫,在任意位置插入列或行。 以最少的程式碼高效修改 Excel 試算表。
簡化工作流程(5 個步驟)
- 下載用於在 Excel 中插入新列與新行的 C# 函式庫
- 使用
InsertRow和InsertRows方法插入新行 - 使用
InsertColumn和InsertColumns方法插入新欄位 - 將資料新增至新插入的列與欄
- 將編輯後的 Excel 檔案匯出為各種檔案格式
如何使用 C# 在 Excel 中插入新列?
請使用 InsertRow 和 InsertRows 方法向試算表新增列。 這些方法可讓您在特定索引位置插入資料列。 《IronXL API 參考手冊》提供了所有可用列操作方法的完整文件。
新增單一行代碼的語法為何?
:path=/static-assets/excel/content-code-examples/how-to/add-rows-columns-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Add a row before row 2
workSheet.InsertRow(1);
// Insert multiple rows after row 3
workSheet.InsertRows(3, 3);
workBook.SaveAs("addRow.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Add a row before row 2
workSheet.InsertRow(1)
' Insert multiple rows after row 3
workSheet.InsertRows(3, 3)
workBook.SaveAs("addRow.xlsx")
InsertRow 方法接受一個參數,用以指定應插入新列的零起始索引位置。 該位置及以下的所有現有列將自動向下移動。 若涉及更複雜的資料處理情境,您可以將資料列插入與公式及計算功能結合使用。
多行插入是如何運作的?
使用 InsertRows 時,請同時指定起始索引位置與要插入的列數。 此方法在準備資料範本或動態擴展資料集時,展現出無可取代的價值。 此方法會保留所有現有的格式與公式,並自動調整儲存格參照。
新增資料列時常見哪些陷阱?
在程式化插入資料列時,可能會遇到以下幾項挑戰:
索引位置為何重要?
索引位置決定了新資料列的顯示位置,以及現有資料的Shift方式。 若使用不正確的索引,可能會覆寫資料或在試算表中產生缺口。 針對複雜的資料處理情境,建議參閱我們的"選取範圍"指南,以更深入理解定位機制。
InsertRow``InsertRows
如何從 Excel 試算表中刪除列?
若要從試算表中刪除一行,請使用 GetRow 方法選取目標行,然後對選取的行使用 RemoveRow 方法。 此兩步驟流程可確保精確控制哪些資料將被移除。
基本移除語法為何?
:path=/static-assets/excel/content-code-examples/how-to/add-rows-columns-remove-row.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Remove row 5
workSheet.GetRow(4).RemoveRow();
workBook.SaveAs("removeRow.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Remove row 5
workSheet.GetRow(4).RemoveRow()
workBook.SaveAs("removeRow.xlsx")
何時應透過程式碼移除資料列?
在多種情境下,移除行數至關重要:
- 資料清理:從匯入的資料集中移除空行或無效的資料列
- 動態篩選:刪除不符合特定條件的資料列
- 範本準備:在產生報表前清除範例資料
- 效能優化:透過移除不必要的資料列來縮小檔案大小
若需進行更進階的資料處理,請參閱我們關於[編輯 Excel 檔案的](https://ironsoftware.com/csharp excels how-to/csharp-edit-excel-file/)教學指南,其中涵蓋了全面的編輯技巧。
移除的資料列下方資料會如何處理?
當您刪除一行時,其下方的所有行會自動向上移動以填補空缺。此機制可在無需人工干預的情況下,維持資料的連續性。 引用已刪除列的公式可能會產生錯誤,因此請考慮更新相關的計算公式。 關於公式更新的處理方式,請參閱我們的公式編輯指南。
如何在 Excel 試算表中新增欄位?
若要在表格的特定索引位置之前新增欄位,請使用 InsertColumn 和 InsertColumns 方法。 這些方法與行插入功能相似,但作用於橫向軸上。
System.InvalidOperationException 錯誤,並顯示訊息"序列中沒有元素"。哪段程式碼會產生單欄與多欄的區別?
:path=/static-assets/excel/content-code-examples/how-to/add-rows-columns-columns.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Add a column before column A
workSheet.InsertColumn(0);
// Insert multiple columns after column B
workSheet.InsertColumns(2, 2);
workBook.SaveAs("addColumn.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Add a column before column A
workSheet.InsertColumn(0)
' Insert multiple columns after column B
workSheet.InsertColumns(2, 2)
workBook.SaveAs("addColumn.xlsx")
欄位索引是如何運作的?
欄位索引與列索引同樣採用從零開始的編號模式:
- A 欄 = 索引 0
- B 欄 = 索引 1
- C 欄 = 索引 2
這種一致性可簡化您在試算表兩個維度上的操作。 結合儲存格資料格式設定功能,您即可透過程式設計建立結構完善的資料表格。
欄位運算有哪些限制?
目前限制包括:
- 無法直接刪除欄位:與列不同,欄位無法直接刪除(解決方法:將所需資料複製到新工作表)
- 表限制:命名表中的欄位需要特殊處理
- 最大欄位數限制:Excel 最多支援 16,384 個欄位 (XFD)
- 效能考量:大量欄位插入可能會顯著影響檔案大小
若需解決這些限制,我們的檔案大小限制疑難排解指南提供了相關的優化策略。
列與列操作的最佳實踐
在透過程式碼修改 Excel 結構時:
- 務必驗證索引:在執行操作前,請確認目標索引確實存在
- 批次操作:將多個插入操作分組以提升效能
- 保留格式:插入格式化的行/列時,請使用"複製樣式"功能
- 測試邊界情況:驗證工作表邊界處(第 1 行、A 欄)的行為
- 處理例外情況:針對無效操作實作適當的錯誤處理機制
若需了解完整的 Excel 自動化工作流程,請參閱我們關於建立 Excel 檔案的教學文章,該文章實際演示了這些原則的應用。
常見問題
如何使用 C# 在 Excel 中插入新列?
using IronXL 的 InsertRow 和 InsertRows 方法,可向 Excel 試算表新增多行。InsertRow 方法會在指定的以零為起點的索引位置新增單一行,而 InsertRows 則允許您一次插入多行。IronXL 會自動將現有行向下推移,並保留格式與公式。
透過程式碼在 Excel 檔案中新增欄位的語法為何?
IronXL 提供 InsertColumn 和 InsertColumns 方法,用於向 Excel 檔案中新增欄位。與插入列類似,您需指定要插入欄位的索引位置。例如,InsertColumns(3, 2) 會從索引位置 3 開始插入 2 個欄位。
若未安裝 Microsoft Office,是否仍可插入列與行?
是的,IronXL 允許您在 Excel 檔案中插入列與列,無需 Microsoft Office 或 Office Interop。這是一個獨立的 C# 程式庫,可直接處理 Excel 檔案格式,因此非常適合伺服器環境或未安裝 Office 的系統。
插入新列或新行時,現有資料會如何處理?
using IronXL 的插入方法時,現有資料會自動移動以容納新的列或行。插入行時,現有行會向下移動;插入列時,現有列會向右移動。所有格式、公式和儲存格參照都會自動調整。
如何將資料新增至新插入的列和欄位?
using IronXL 插入行或列後,您可以透過標準的儲存格賦值方法來填入內容。IronXL程式庫提供流暢的 API,可透過座標存取儲存格,讓您在新建立的區域中設定數值、公式及格式。
在程式化新增資料列時,常見的陷阱有哪些?
常見的挑戰包括零基索引的混淆(Excel 的第 1 行在 IronXL 中對應索引 0)、在篩選行插入資料時的衝突,以及大規模批次操作的效能考量。IronXL 的文件提供了處理命名資料表及優化批次插入效能的指引。

