如何作為C#開發人員在Excel中添加行和列

如何在 C# 中插入新行和新列;。

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

IronXL 函式庫提供了一種方便的方式,讓您無需使用 Office Interop 即可在 C# 程式碼中插入單行或多行與列。在任何索引位置使用 InsertRow/InsertRowsInsertColumn/InsertColumns 方法,以程式化的方式動態修改 Excel 試算表。

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

IronXL 可讓您使用一個流暢的 API 呼叫,在任何位置插入行或列。 以最少的程式碼有效率地修改 Excel 表單。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

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

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer


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

使用InsertRowInsertRows方法為電子表格新增一行。 這些方法允許您在指定的索引位置插入行。 IronXL API Reference 提供所有可用行操作方法的全面說明文件。

直接在篩選行上插入行可能會導致 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.公式更新:公式中的儲存格引用會自動更新,但絕對引用仍維持固定

為什麼索引位置很重要?

索引位置決定您的新行在何處出現,以及現有資料如何移動。 使用不正確的索引可能會覆蓋資料或在試算表中造成缺口。 對於複雜的資料操作情境,請考慮檢閱我們的 選擇範圍 指南,以便更好地瞭解定位。


如何從 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 檔案教學,其中涵蓋全面的編輯技巧。

移除的行下面的資料會如何?

電子表格之前和之後的比較,顯示從員工資料表移除 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 之前/之後的比較,顯示在 Employee ID 和 Full Name 列之間插入新的空列

目前的限制包括

  • 無法直接移除欄位:與行不同,列無法直接移除(變通辦法:將需要的資料複製到新工作表中)
  • 表格約束:已命名資料表內的欄位需要特殊處理
  • 最大列數限制:Excel 最多支援 16,384 列 (XFD)
  • 效能考量:大型欄位插入可能會大幅影響檔案大小

若要繞過這些限制,我們的 檔案大小限制疑難排解指南 提供了最佳化策略。

所有行和列索引位置均採用從零開始的索引方式。

行和列操作的最佳實務

以程式化方式修改 Excel 結構時:

1.永遠驗證索引:在操作之前檢查您的目標索引是否存在 2.批次作業:群組多重插入以獲得更佳效能 3.保留格式化:插入格式化的行/列時使用樣式複製 4.測試邊緣案例:驗證工作表邊界的行為(第 1 行,A 列) 5.處理異常:針對無效的作業執行正確的錯誤處理

如需全面的 Excel 自動化工作流程,請探索我們的 建立 Excel 檔案的教學,其中實際展示了這些原則。

常見問題解答

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

使用 IronXL.Excel 的 InsertRow 和 InsertRows 方法為 Excel 試算表新增新行。InsertRow 方法可在指定的基於零的索引位置添加單一行,而 InsertRows 方法則允許您一次插入多行。IronXL 會自動向下移動現有的行,並維持格式和公式。

以程式化方式在 Excel 檔案中加入欄位的語法是什麼?

IronXL.Excel 提供了 InsertColumn 和 InsertColumns 方法,用於在 Excel 檔案中新增欄位。類似於行插入,您指定要插入欄的索引位置。例如,InsertColumns(3, 2) 從索引位置 3 開始插入 2 列。

我可以在沒有安裝 Microsoft Office 的情況下插入行和列嗎?

是的,IronXL 可讓您在 Excel 檔案中插入行和列,而不需要 Microsoft Office 或 Office Interop。它是一個獨立的 C# 函式庫,可直接使用 Excel 檔案格式,非常適合伺服器環境或未安裝 Office 的系統。

插入新的行或列時,現有資料會發生什麼變化?

使用 IronXL 的插入方法時,現有資料會自動移動以容納新的行或列。插入行時,行會下移,插入列時,列會右移。所有格式、公式和儲存格引用都會自動調整。

如何在新插入的行和列中加入資料?

使用 IronXL 插入行或列之後,您可以使用標準的儲存格指派方法來填充它們。該函式庫提供流暢的 API,可透過其座標存取儲存格,讓您在新建立的空間中設定值、公式和格式。

程式化新增行列時,常見的陷阱有哪些?

常見的挑戰包括基於零的索引混淆(在 IronXL.Excel 中 Excel 行 1 = 索引 0)、在篩選行上插入時的衝突,以及大型批次作業的效能考量。IronXL 的文件提供了有關處理命名表格和優化批量插入性能的指導。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。

準備好開始了嗎?
Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布