作為C#開發者如何在Excel中新增列和欄

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

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

IronXL程式庫提供了一種方便的方法,允許在C#程式碼中插入單個或多個行和列,而無需使用Office Interop。使用InsertColumns方法可以在任意索引位置動態修改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行?

使用InsertRows方法將新行新增到工作表中。 這些方法允許您在特定索引位置插入行。 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. 公式更新: 公式中的單元格引用會自動更新,但絕對引用保持不變

為什麼索引位置很重要?

索引位置決定了新行的位置以及現有資料的移動方式。 使用錯誤的索引可能會覆蓋資料或在您的電子表格中建立空白。 對於複雜的資料操作情況,考慮查看我們的選擇範圍指南以更好地了解定位。

InsertRow``InsertRows


如何從Excel工作表中刪除行?

要從工作表中刪除行,使用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電子表格新增新列?

要在表格中指定的索引位置之前新增新列,利用InsertColumns方法。 這些方法反映了行插入功能,但作用在橫向。

請注意在表格範圍內插入新列可能會在Excel文件中引發衝突,需要您運行Excel修復以正確查看電子表格。 要刪除範圍邊界上的所有空行和列,請使用Trim()方法。 目前,無法刪除列。

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前後比較顯示在員工ID和全名列之間插入的新空列。

當前限制包括:

  • 無直接刪除列: 與行不同,列不能直接刪除(解決方式:將需要的資料複製到新工作表上)
  • 表格約束: 命名表格內的列需要特別處理
  • 最大列數限制: Excel支持多達16,384列(XFD)
  • 性能考慮: 大量列的插入可能會顯著影響文件大小

為了繞過這些限制,我們的解決文件大小限制的指南提供了優化策略。

提示所有行和列的索引位置均遵循從零開始的索引。

行和列操作的最佳實踐

在程式化修改Excel結構時:

  1. 始終驗證索引: 在操作之前檢查目標索引是否存在
  2. 批量操作: 分組多次插入以獲得更好的性能
  3. 保留格式: 插入格式化的行/列時使用樣式複製
  4. 測試邊界案例: 驗證在工作表邊界(行1,列A)的行為
  5. 處理異常: 為無效操作實施適當的錯誤處理

要獲得全面的Excel自動化工作流程,請探索我們的教程關於建立Excel文件,該教程演示了這些操作原則。

常見問題

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

使用IronXL的InsertRow和InsertRows方法向Excel試算表中新增新列。InsertRow方法在指定的零基索引位置新增一列,而InsertRows可以一次插入多列。IronXL會自動將現有的列向下移動並保持格式和公式。

以程式化方式新增欄到Excel檔案的語法是什麼?

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

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

可以,IronXL允許您在沒有Microsoft Office或Office Interop的情況下,在Excel檔案中插入列和欄。這是一個獨立的C#程式庫,直接與Excel檔案格式一起工作,這使其在伺服器環境或沒有Office安裝的系統上特別理想。

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

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

我如何將資料新增到新插入的列和欄中?

使用IronXL插入列或欄後,您可以使用標準的儲存格分配方法來填充它們。該程式庫提供一個流暢的API,用於通過座標存取儲存格,允許您在新建立的空間中設置值、公式和格式。

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

常見挑戰包括零基索引混淆(Excel列1 = IronXL中的索引0)、在過濾器列上插入時的衝突,以及大批量操作的性能考量。IronXL的文件提供了在處理命名表及優化批量插入性能時的指導。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,150,290 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

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