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

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

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

IronXL庫提供了一種便捷的方法,無需使用 Office Interop 即可在 C# 程式碼中插入單行或多行和多列。使用 InsertRowsInsertColumns 方法,即可在任何索引位置以程式設計方式動態修改 Excel 電子表格。

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

IronXL允許您使用一次流暢的 API 呼叫在任意位置插入行或列。 用最少的程式碼有效率地修改Excel表格。

  1. 使用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");
$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");
$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");
$vbLabelText   $csharpLabel

列索引是如何運作的?

列索引遵循與行相同的從零開始的模式:

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

這種一致性簡化了處理電子表格兩個維度的操作。 結合單元格資料格式化,您可以透過程式設計方式建立結構良好的資料表。

柱操作的限制有哪些?

Excel 比較圖,顯示在員工 ID 和姓名列之間插入了一個新的空列。

目前存在的限制包括:
-無法直接刪除列:與行不同,列無法直接刪除(解決方法:將所需資料複製到新工作表中)
-表格約束:命名表中的列需要特殊處理
-最大列數限制: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 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 1,913,565 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

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