如何在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 参考

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronXL

    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 支持各种平台,包括[Linux](https://ironsoftware.com/csharp/excel/get-started/linux/)和[macOS](https://ironsoftware.com/csharp/excel/get-started/macos/),是跨平台开发的多功能工具。 You can either Download IronXL.zip or read more and install via the NuGet package page. 安装完成后,让我们开始吧。 IronXL 新手? 请查看我们的[入门概述](https://ironsoftware.com/csharp/excel/docs/),了解全面的介绍。
```shell :ProductInstall ``` 根据需要将`xxx`替换为相应的版本号。

如何使用教程

如何在 Excel 中编辑特定单元格值? 首先,学习如何编辑 Excel 电子表格的特定单元格值。 这是[用 C#](https://ironsoftware.com/csharp/excel/how-to/csharp-edit-excel-file/) 编辑 Excel 文件时最常见的操作之一。 导入要修改的 Excel 电子表格,然后访问其工作表。 如下所示进行修改。 IronXL 提供了多种访问单元格的方式,为不同的编程风格提供了灵活性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-specific-cell-value.cs ``` 以下是Excel电子表格`sample.xlsx`的修改前后截图: |前|后| |:---:|:-----:| |![Excel 电子表格,突出显示的单元格在国家列中显示 "法国",演示单元格选择编辑](/img/faq/excel/csharp-edit-excel-file/doc5_before1.png)。|![Excel 单元格 B4 在编辑单元格内容后显示带有蓝色选择边框的 "新值"](/img/faq/excel/csharp-edit-excel-file/doc5_after1.png)。| 请注意修改 Excel 电子表格值是多么简单。 在更新特定数据点而不影响电子表格其他部分的情况下,这种方法非常有效。 通过单元格地址编辑特定单元格值的另一种方法: ```csharp // Alternative way to access specific cell and apply changes ws["B4"].Value = "New Value"; ```

如何在 Excel 中编辑整行值? 使用静态值轻松编辑 Excel 电子表格的整行值。 该操作有助于一次性更新整个记录,例如重置数据或应用批量更新。 对于复杂的行操作,请浏览 [添加行和列](https://ironsoftware.com/csharp/excel/how-to/add-rows-columns/)。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs ``` 请参见下方`sample.xlsx`的屏幕截图: |前|后| |:---:|:-----:| |![突出显示第 4 行的 Excel 电子表格,其中显示了法国的政府部门数据和 Montana 产品](/img/faq/excel/csharp-edit-excel-file/doc5_before2.png)。|![Excel 表格显示在销售数据电子表格的所有列中添加了 "新值 "条目的新行](/img/faq/excel/csharp-edit-excel-file/doc5_after2.png)。| 使用范围函数编辑行内特定范围的值: ```csharp // Editing a specific range of a row ws["A3:E3"].Value = "New Value"; ``` 在使用范围时,您可能还需要[选择范围](https://ironsoftware.com/csharp/excel/how-to/select-range/)来进行排序或应用公式等高级操作。

如何在 Excel 中编辑全列值? 使用单个值轻松编辑 Excel SpreadSheet 的整列值。 这对于更新货币列、应用新税率或规范整个列的数据格式等情况非常有效。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column.cs ``` 如图所示,我们将生成 `sample.xlsx` 电子表格: |前|后| |:---:|:-----:| |![Excel 电子表格,国家列以蓝色突出显示,显示跨细分市场和国家的业务数据](/img/faq/excel/csharp-edit-excel-file/doc5_before4.png)。|![Excel 电子表格显示批量列编辑操作后列 B 被填充为 "新值 "文本](/img/faq/excel/csharp-edit-excel-file/doc5_后4.png)。|

如何编辑具有动态值的整行? IronXL 允许编辑具有动态值的特定行。 通过为每个单元格分配动态值来编辑整行。 当从数据库或其他需要每个单元格唯一值的来源导入数据时,这种方法非常有效。 请参见示例: ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-row-dynamic.cs ``` 下表显示了该输出中 Excel 电子表格 `sample.xlsx` 的截图: |前|后| |:---:|:-----:| |![Excel 电子表格,突出显示第 4 行,显示使用动态值编辑之前的企业分段数据](/img/faq/excel/csharp-edit-excel-file/doc5_before3.png)。|![Excel 工作表,其中第 4 行在动态行编辑操作后显示 "新值 0-4 "占位符文本](/img/faq/excel/csharp-edit-excel-file/doc5_after3.png)。|

如何编辑具有动态值的全列? 使用动态值简单编辑特定列。 这种技术有助于在列中填充 ID 号、日期或基于行位置的计算值等顺序数据。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column-dynamic.cs ``` 以下是`sample.xlsx`的表格结果: |前|后| |:---:|:-----:| |![突出显示国家列的 Excel 电子表格,显示各细分市场和产品的业务数据](/img/faq/excel/csharp-edit-excel-file/doc5_before5.png)。|![Excel 工作表显示批量编辑操作后国家/地区列被动态占位符值 "新值 1-9" 填满](/img/faq/excel/csharp-edit-excel-file/doc5_after5.png)。|

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

如何替换整个工作表中的值? 要在整个 Excel `WorkSheet` 中使用更新值替换特定值,请访问 `WorkSheet ws`(与上述示例相同)并应用 `Replace` 函数: ```csharp // Replace a specific value in the entire worksheet ws.Replace("old value", "new value"); ``` 此函数将完整 Excel `WorkSheet` 中的 `old 值`替换为 `new 值`。 这是一项功能强大的批量更新功能,否则就需要在 Excel 中进行手动查找和替换操作。 请记住,如上例所示,在进行任何修改后都要保存文件。 有关保存和导出 Excel 文件的更多信息,请参阅我们的[转换电子表格文件类型](https://ironsoftware.com/csharp/excel/how-to/convert-spreadsheet-file-types/)指南。

如何替换特定行中的值? 要更改特定行而不是整个工作表,请使用以下代码: ```csharp // Replace a specific value in a specific row ws.Rows[2].Replace("old value", "new value"); ``` 上述代码仅在第 2 行中用 ` 新值替换 旧值`。`WorkSheet` 的其余部分保持不变。

如何替换行范围中的值? 替换特定范围内的值,如下所示: ```csharp // Replace specific values in a row range ws["From Cell Address : To Cell Address"].Replace("old value", "new value"); ``` 要将行号 `4` 的 `B4` 至 `E4` 范围内的旧值替换为新值,请写下: ```csharp ws["B4:E4"].Replace("old value", "new value"); ```

如何替换特定列中的值? 替换特定列的值,同时保持工作表的其他部分不变: ```csharp // Replace specific values in a column ws.Columns[1].Replace("old value", "new value"); ``` 上述代码仅将第 1 列的 `old 值`替换为 `new 值`。

如何替换列范围中的值? 使用范围功能在特定列的范围内进行替换: ```csharp // Replace specific values in a column range ws["B5:B10"].Replace("old value", "new value"); ``` 上述代码仅在列 B 的 `B5` 至 `B10` 范围内用 ` 新值`替换 ` 旧值`。

如何从 Excel 工作表中删除一行? IronXL.Excel 提供了删除 Excel `WorkSheet` 中特定行的简单函数。 该功能有助于清理数据或删除电子表格中的过时记录。 请参见示例: ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs ``` 上述代码将删除 `sample.xlsx` 中的第 3 行,如下表所示: |前|后| |:---:|:-----:| |![突出显示第 4 行的 Excel 工作表,显示删除行操作前的加拿大政府分部数据](/img/faq/excel/csharp-edit-excel-file/doc5_before6.png)。|![Excel 工作表中第 4 行以蓝色高亮显示,显示移除行操作后的结果](/img/faq/excel/csharp-edit-excel-file/doc5_after6.png)。|

如何从 Excel 文件中删除工作表? 要删除 Excel 文件中完整的 `WorkSheet` ,请使用以下方法。 这有助于合并数据或删除用于计算的临时工作表。 有关管理工作表的更多信息,请参阅我们的[管理工作表](https://ironsoftware.com/csharp/excel/how-to/manage-worksheet/)指南。 ```csharp // Remove a worksheet by its index wb.RemoveWorkSheet(1); // by sheet indexing ``` `wb`是`WorkBook`,与上述示例相同。 按名称删除工作表: ```csharp // Remove a worksheet by its name wb.RemoveWorkSheet("Sheet1"); //by sheet name ``` IronXL.Excel 包含更多的功能,可在 Excel 电子表格中轻松执行任何类型的编辑和删除。 探索其他功能,如 [创建 Excel 图表](https://ironsoftware.com/csharp/excel/how-to/csharp-create-excel-chart-programmatically/)、[应用条件格式化](https://ironsoftware.com/csharp/excel/how-to/conditional-formatting/)或 [使用公式](https://ironsoftware.com/csharp/excel/how-to/edit-formulas/)。 如果您对在项目中使用 IronXL 有任何疑问,请联系我们的开发团队。

图书馆快速访问

IronXL 库文档

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

IronXL 库文档
Documentation related to C## 编辑 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 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 1,765,830 | 版本: 2025.12 刚刚发布