如何作为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前后对比,显示在员工 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 提供了用于向 Excel 文件添加列的 InsertColumn 和 InsertColumn 方法。与行插入类似,您可以指定插入列的索引位置。例如,InsertColumns(3, 2) 从索引位置 3 开始插入 2 列。

如果没有安装 Microsoft Office,是否可以插入行和列?

是的,IronXL.Excel 可以让您在 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 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 1,846,091 | 版本: 2026.2 刚刚发布