如何在C#中编辑Excel文件

C# 编辑 Excel 文件

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

使用 IronXl.Excel 库在 C# 中编辑 Excel 文件,该库提供了无需 Excel Interop 即可通过编程修改单元格、行、列和工作表的简单方法,从而减少了错误和复杂性。

开发人员在用 C# 修改 Excel 文件时需要精确,因为一个错误就可能损坏整个文档。 简单、高效的代码可降低出错风险,简化 Excel 文件的程序化编辑或删除。 IronXL 为 在 C# 中处理 Excel 文件提供了全面的解决方案,消除了对 Microsoft Office 的依赖。 本指南涵盖使用经过测试的函数在 C# 中正确、快速地编辑 Excel 文件的步骤。

快速入门:使用IronXL编辑特定单元格值

本示例展示了如何使用 IronXl.Excel 加载现有 Excel 文件、更新单个单元格并保存更改。 只需不到 5 行代码即可开始,无需 Interop。 对于复杂的操作,请查阅我们全面的 API 参考

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronXl.Excel

    PM > Install-Package IronXl.Excel
  2. 复制并运行这段代码。

    IronXl.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";
    // then save your workbook
    iroExcelWorkBook.SaveAs("file.xlsx");
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronXL

    arrow pointer

步骤1

如何为 C## Excel 编辑设置 IronXL?

本教程使用 IronXL,一个 C# Excel 库。 下载并安装到您的项目中(免费用于开发),即可使用这些功能。 IronXl.Excel 支持各种平台,包括LinuxmacOS,是跨平台开发的多功能工具。

You can either Download IronXL.zip or read more and install via the NuGet package page.

安装完成后,让我们开始吧。 IronXL 新手? 请查看我们的入门概述,了解全面的介绍。


Install-Package IronXl.Excel

根据需要将 x.x.x 替换为相应的版本号。


如何使用教程

如何在 Excel 中编辑特定单元格值?

首先,学习如何编辑 Excel 电子表格的特定单元格值。 这是用 C# 编辑 Excel 文件时最常见的操作之一。

导入要修改的 Excel 电子表格,然后访问其工作表。 如下所示进行修改。 IronXL 提供了多种访问单元格的方式,为不同的编程风格提供了灵活性。

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-specific-cell-value.cs
using IronXL;

// Load the Excel workbook
WorkBook wb = WorkBook.Load("sample.xlsx");
// Access a specific worksheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Access specific cell by identifying its row and column, then modify its value
ws.Rows[3].Columns[1].Value = "New Value";
// Save changes to the workbook
wb.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

以下是 Excel 表格 sample.xlsx 的修改前后截图:

Excel电子表格,其中突出显示的单元格显示 Excel 单元格 B4 在编辑单元格内容后显示带有蓝色选择边框的

请注意修改 Excel 电子表格值是多么简单。 在更新特定数据点而不影响电子表格其他部分的情况下,这种方法非常有效。

通过单元格地址编辑特定单元格值的另一种方法:

// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
// Alternative way to access specific cell and apply changes
ws["B4"].Value = "New Value";
$vbLabelText   $csharpLabel

如何在 Excel 中编辑整行值?

使用静态值轻松编辑 Excel 电子表格的整行值。 该操作有助于一次性更新整个记录,例如重置数据或应用批量更新。 对于复杂的行操作,请浏览 添加行和列

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

请查看下方 sample.xlsx 的屏幕截图:

Excel电子表格,第4行已高亮显示,显示了法国政府部门的数据以及Montana产品信息 Excel 表格显示销售数据电子表格中所有列都添加了

使用范围函数编辑行内特定范围的值:

// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
// Editing a specific range of a row
ws["A3:E3"].Value = "New Value";
$vbLabelText   $csharpLabel

在使用范围时,您可能还需要选择范围来进行排序或应用公式等高级操作。


如何在 Excel 中编辑全列值?

使用单个值轻松编辑 Excel SpreadSheet 的整列值。 这对于更新货币列、应用新税率或规范整个列的数据格式等情况非常有效。

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire column
ws.Columns[1].Value = "New Value";
wb.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

这将生成如下所示的 sample.xlsx 电子表格:

Excel电子表格,其中 Excel电子表格显示,批量编辑列后,B列填充了

如何编辑具有动态值的整行?

IronXL 允许编辑具有动态值的特定行。 通过为每个单元格分配动态值来编辑整行。 当从数据库或其他需要每个单元格唯一值的来源导入数据时,这种方法非常有效。 请参见示例:

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-row-dynamic.cs
using IronXL;
using System.Linq;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
    // Assign dynamic values to each cell in the row
    ws.Rows[3].Columns[i].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

下表显示了此输出中 Excel 电子表格 sample.xlsx 的屏幕截图:

Excel电子表格,第4行已高亮显示,显示编辑动态值之前的企业细分数据 Excel 表格,第 4 行在动态编辑行操作后显示

如何编辑具有动态值的全列?

使用动态值简单编辑特定列。 这种技术有助于在列中填充 ID 号、日期或基于行位置的计算值等顺序数据。

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column-dynamic.cs
using IronXL;
using System.Linq;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
    // Skip the first row if it's used as a header
    if (i == 0)
        continue;
    // Assign dynamic values to each cell in the column
    ws.Rows[i].Columns[1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

以下是sample.xlsx 的表格结果:

Excel电子表格,突出显示 Excel 表格显示批量编辑操作后,

如何在 Excel 中替换电子表格中的值?

使用 Replace 函数将 Excel 电子表格中的任何值类型替换为更新后的值。 在任何需要的情况下,均可使用此功能替换 Excel SpreadSheet 数据。 这对于数据清理、术语更新或纠正电子表格中的系统性错误非常有效。

如何替换整个工作表中的值?

要将整个 Excel 表格中的特定值替换为更新后的值,请访问 WorkSheet(与上述示例相同)并应用 Replace 函数:

// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
// Replace a specific value in the entire worksheet
ws.Replace("old value", "new value");
$vbLabelText   $csharpLabel

此函数将完整的 Excel 中的 old value 替换为 new value @@-@--CODE-594--@@。 这是一项功能强大的批量更新功能,否则就需要在 Excel 中进行手动查找和替换操作。

请记住,如上例所示,在进行任何修改后都要保存文件。 有关保存和导出 Excel 文件的更多信息,请参阅我们的转换电子表格文件类型指南。

如何替换特定行中的值?

要更改特定行而不是整个工作表,请使用以下代码:

// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
// Replace a specific value in a specific row
ws.Rows[2].Replace("old value", "new value");
$vbLabelText   $csharpLabel

上述代码仅将第 2 行中的 old value 替换为 new value。其余的 WorkSheet 保持不变。

如何替换行范围中的值?

替换特定范围内的值,如下所示:

// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
// Replace specific values in a row range
ws["From Cell Address : To Cell Address"].Replace("old value", "new value");
$vbLabelText   $csharpLabel

要将行号为 4B4E4 范围内的旧值替换为新值,请编写:

ws["B4:E4"].Replace("old value", "new value");
ws["B4:E4"].Replace("old value", "new value");
$vbLabelText   $csharpLabel

如何替换特定列中的值?

替换特定列的值,同时保持工作表的其他部分不变:

// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
// Replace specific values in a column
ws.Columns[1].Replace("old value", "new value");
$vbLabelText   $csharpLabel

上述代码仅将第 1 列的 old value 替换为 new value

如何替换列范围中的值?

使用范围功能在特定列的范围内进行替换:

// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
// Replace specific values in a column range
ws["B5:B10"].Replace("old value", "new value");
$vbLabelText   $csharpLabel

上述代码仅在 B 列中将 B5B10 范围内的 old value 替换为 new value


如何从 Excel 工作表中删除一行?

IronXL提供了一个简单的函数来删除 Excel 中的特定行 WorkSheet。 该功能有助于清理数据或删除电子表格中的过时记录。 请参见示例:

:path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs
using IronXL;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
// Setting a static value for the entire row
ws.Rows[3].Value = "New Value";
wb.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

上述代码删除了如下表中所示的 sample.xlsx 的第 3 行:

Excel 工作表,第 4 行已高亮显示,显示了删除行操作之前的加拿大政府部门数据 Excel 工作表,第 4 行以蓝色高亮显示,显示删除行操作后的结果

如何从 Excel 文件中删除工作表?

要删除 Excel 文件中的整个 WorkSheet,请使用以下方法。 这有助于合并数据或删除用于计算的临时工作表。 有关管理工作表的更多信息,请参阅我们的管理工作表指南。

// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
// Remove a worksheet by its index
wb.RemoveWorkSheet(1); // by sheet indexing
$vbLabelText   $csharpLabel

wb 就是 WorkBook,与上面的示例相同。 按名称删除工作表:

// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
// Remove a worksheet by its name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
$vbLabelText   $csharpLabel

IronXl.Excel 包含更多的功能,可在 Excel 电子表格中轻松执行任何类型的编辑和删除。 探索其他功能,如 创建 Excel 图表应用条件格式化使用公式。 如果您对在项目中使用 IronXL 有任何疑问,请联系我们的开发团队。


图书馆快速访问

### IronXL 库文档

利用 IronXL C# 库的各种函数,探索其全部功能,用于编辑、删除、设置样式和完善您的 Excel 工作簿。

IronXL 库文档
Documentation related to 如何从 Excel 文件中删除工作表?

常见问题解答

没有安装 Microsoft Office,如何用 C# 编辑 Excel 文件?

IronXl.Excel 允许您使用 C# 编辑 Excel 文件,而无需 Microsoft Office 或 Excel Interop。它提供了一个独立的库,能以编程方式修改单元格、行、列和工作表,消除了对 Office 的依赖,并能跨平台运行,包括 Linux 和 macOS。

使用 C# 更新 Excel 文件中单元格值的最简单方法是什么?

使用 IronXL,只需几行代码就能更新单元格值:IronXl.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value="Hello IronXL";然后保存工作簿。这种方法无需 Excel Interop,可直接访问单元格。

我能否以编程方式编辑 Excel 中的整行整列?

是的,IronXL 支持使用静态或动态值编辑整行整列。您可以使用单个值修改整行,以编程方式填充列,或使用数据库或计算等各种来源的动态数据更新行。

如何用 C# 从 Excel 文件中删除行或工作表?

IronXl.Excel 提供了从工作表中删除行和从 Excel 文件中删除整个工作表的简单方法。这些操作均以编程方式执行,无需安装 Excel,因此非常适合服务器端应用。

是否可以在 Excel 电子表格中查找并替换数值?

是的,IronXL 包括在电子表格中搜索和替换值的功能。您可以通过编程找到特定值并用新数据替换,这与 Excel 的本地查找和替换功能类似,但通过 C# 代码实现了自动化。

C# Excel 编辑库支持哪些平台?

IronXL 支持包括 Windows、Linux 和 macOS 在内的多种平台,是跨平台开发的多功能工具。这样,无论部署环境如何,您都可以在 C# 应用程序中编辑 Excel 文件。

如何开始用 C# 编辑 Excel 文件?

要开始使用,请通过 NuGet 软件包管理器下载并安装 IronXL。该库可免费用于开发。安装完成后,您可以立即开始加载 Excel 文件、修改单元格并使用简单直观的代码保存更改。

与手动方法相比,程序化 Excel 编辑有哪些优势?

IronXl.Excel 支持程序化 Excel 编辑,可减少人为错误,自动执行重复性任务,并可进行人工耗时的批量操作。它还消除了 Excel Interop 的需要,降低了复杂性并提高了性能。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

准备开始了吗?
Nuget 下载 1,890,100 | 版本: 2026.3 刚刚发布

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronXl.Excel
运行示例 观看您的数据变成电子表格。