身為 C# 開發者,如何在 Excel 中新增列與欄

如何在 C# 中插入新列與新行

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL程式庫提供了一種便捷的方式,可在 C# 程式碼中插入單行或多行及多欄,無需使用 Office Interop。 在任何索引位置使用 InsertRowsInsertColumns 方法,即可透過程式碼動態修改 Excel 試算表。

快速入門:使用 IronXL 輕鬆新增列或欄

IronXL 讓您能透過單一流暢的 API 呼叫,在任意位置插入列或行。 以最少的程式碼高效修改 Excel 試算表。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 請複製並執行此程式碼片段。

    new WorkBook("example.xlsx").DefaultWorkSheet.InsertColumns(3, 2);
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronXL

    arrow pointer


如何使用 C# 在 Excel 中插入新列?

請使用 InsertRowInsertRows 方法向試算表新增列。 這些方法可讓您在特定索引位置插入資料列。 《IronXL API 參考手冊》提供了所有可用列操作方法的完整文件。

請注意若直接在篩選列上插入列,可能會導致 Excel 檔案發生衝突,此時您需要執行 Excel 修復程序才能正確檢視試算表。

新增單一行代碼的語法為何?

: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")
$vbLabelText   $csharpLabel

InsertRow 方法接受一個參數,用以指定應插入新列的零起始索引位置。 該位置及以下的所有現有列將自動向下移動。 若涉及更複雜的資料處理情境,您可以將資料列插入與公式及計算功能結合使用。

多行插入是如何運作的?

顯示員工資料表的電子表格前後對照圖,其中第 2 列已插入新資料行

使用 InsertRows 時,請同時指定起始索引位置與要插入的列數。 此方法在準備資料範本或動態擴展資料集時,展現出無可取代的價值。 此方法會保留所有現有的格式與公式,並自動調整儲存格參照。

新增資料列時常見哪些陷阱?

在程式化插入資料列時,可能會遇到以下幾項挑戰:

  1. 索引混淆:IronXL 採用從零開始的索引,因此 Excel 中的第 1 行對應於程式碼中的索引 0
  2. 表格邊界:在命名表格中插入行時需特別注意——請參閱我們的命名表格指南
  3. 效能影響:當插入大量資料列時,請考慮採用批次操作以提升效能,詳情請參閱我們的效能里程碑
  4. 公式更新:公式中的儲存格參照會自動更新,但絕對參照則保持不變

索引位置為何重要?

索引位置決定了新資料列的顯示位置,以及現有資料的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")
$vbLabelText   $csharpLabel

何時應透過程式碼移除資料列?

在多種情境下,移除行數至關重要:

  • 資料清理:從匯入的資料集中移除空行或無效的資料列
  • 動態篩選:刪除不符合特定條件的資料列
  • 範本準備:在產生報表前清除範例資料
  • 效能優化:透過移除不必要的資料列來縮小檔案大小

若需進行更進階的資料處理,請參閱我們關於[編輯 Excel 檔案的](https://ironsoftware.com/csharp excels how-to/csharp-edit-excel-file/)教學指南,其中涵蓋了全面的編輯技巧。

移除的資料列下方資料會如何處理?

電子表格前後對照表,顯示已從員工資料表中移除員工 E02035 Liliana Chang 的資料列

當您刪除一行時,其下方的所有行會自動向上移動以填補空缺。此機制可在無需人工干預的情況下,維持資料的連續性。 引用已刪除列的公式可能會產生錯誤,因此請考慮更新相關的計算公式。 關於公式更新的處理方式,請參閱我們的公式編輯指南。


如何在 Excel 試算表中新增欄位?

若要在表格的特定索引位置之前新增欄位,請使用 InsertColumnInsertColumns 方法。 這些方法與行插入功能相似,但作用於橫向軸上。

請注意在表格範圍內插入新欄位可能會導致 Excel 檔案發生衝突,您可能需要執行 Excel 修復程序才能正確檢視試算表。 To remove all empty rows and columns on the range borders, use the Trim() method. 目前無法移除欄位。)}]

警告若嘗試在完全空白的試算表中插入新欄位,將導致 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")
$vbLabelText   $csharpLabel

欄位索引是如何運作的?

欄位索引與列索引同樣採用從零開始的編號模式:

  • A 欄 = 索引 0
  • B 欄 = 索引 1
  • C 欄 = 索引 2

這種一致性可簡化您在試算表兩個維度上的操作。 結合儲存格資料格式設定功能,您即可透過程式設計建立結構完善的資料表格。

欄位運算有哪些限制?

Excel 前後對比圖,顯示在

目前限制包括:

  • 無法直接刪除欄位:與列不同,欄位無法直接刪除(解決方法:將所需資料複製到新工作表)
  • 表限制:命名表中的欄位需要特殊處理
  • 最大欄位數限制:Excel 最多支援 16,384 個欄位 (XFD)
  • 效能考量:大量欄位插入可能會顯著影響檔案大小

若需解決這些限制,我們的檔案大小限制疑難排解指南提供了相關的優化策略。

提示所有列與行的索引位置均採用零起始索引。

列與列操作的最佳實踐

在透過程式碼修改 Excel 結構時:

  1. 務必驗證索引:在執行操作前,請確認目標索引確實存在
  2. 批次操作:將多個插入操作分組以提升效能
  3. 保留格式:插入格式化的行/列時,請使用"複製樣式"功能
  4. 測試邊界情況:驗證工作表邊界處(第 1 行、A 欄)的行為
  5. 處理例外情況:針對無效操作實作適當的錯誤處理機制

若需了解完整的 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 的文件提供了處理命名資料表及優化批次插入效能的指引。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 2,052,917 | 版本: 2026.6 just released
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronXL.Excel
執行範例 觀看您的資料變成試算表。