IronXL 操作指南 编写 Excel .NET 使用 IronXL 在 C# 中编写 Excel .NET 函数 Curtis Chau 已更新:八月 20, 2025 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 许多 C# 应用程序项目需要我们以编程方式更新文件并在 Excel 电子表格中写入新数据。 Excel .NET 的功能有时可能很复杂,但使用 IronXL 库,这项任务就变得非常简单,并且可以处理任何格式的 Excel 电子表格。 无需编写大量代码,只需访问特定单元格并自定义您指定的值即可。 快速入门:向指定单元格写入值 本示例展示了如何使用 IronXL 轻松地将值写入单个单元格,只需几行代码即可保存 Excel 文件——无需样板代码或复杂操作即可上手。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronXL PM > Install-Package IronXL.Excel 复制并运行这段代码。 worksheet["A1"].Value = "Hello, IronXL!"; workbook.SaveAs("output.xlsx"); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronXL,免费试用! 免费试用30天 编写 Excel .NET 指令 下载适用于 Excel .NET 的库 在特定单元格中写入值 在多个单元格中写入固定值 在单元格范围内写入动态值 替换特定行、列、范围等中的单元格值 访问 Excel 文件 首先,让我们打开要写入数据的 Excel 文件。 让我们打开项目中的 Excel 文件,然后使用以下代码打开其特定的工作表。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-load-file.cs // Load Excel file in the project WorkBook workBook = WorkBook.Load("path"); ' Load Excel file in the project Dim workBook As WorkBook = WorkBook.Load("path") $vbLabelText $csharpLabel 上述操作将打开指定的 Excel 文件。接下来,访问工作表。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-get-sheet.cs // Open Excel WorkSheet WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); ' Open Excel WorkSheet Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") $vbLabelText $csharpLabel Excel 工作表将在worksheet中打开,我们可以使用它向 Excel 文件中写入任何类型的数据。要了解如何加载 Excel 文件以及如何以不同方式访问工作表,请点击链接中的示例。 注意:不要忘记在您的项目中添加对IronXL的引用,并使用using IronXL导入库。 将值写入指定单元格 我们可以使用多种不同的方法在 Excel 文件中写入数据,但基本方法是使用ExcelCell 。 为此,可以访问已打开的 Excel 工作表中的任意单元格,并按如下方式向其中写入值: :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell.cs workSheet["Cell Address"].Value="Assign the Value"; workSheet("Cell Address").Value="Assign the Value" $vbLabelText $csharpLabel 下面举例说明如何在我们的 C# 项目中使用上述函数向 Excel 单元格写入内容。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-full.cs using IronXL; // Load Excel file WorkBook workBook = WorkBook.Load("sample.xlsx"); // Open WorkSheet of sample.xlsx WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Access A1 cell and write the value workSheet["A1"].Value = "new value"; // Save changes workBook.SaveAs("sample.xlsx"); Imports IronXL ' Load Excel file Private workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Open WorkSheet of sample.xlsx Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Access A1 cell and write the value Private workSheet("A1").Value = "new value" ' Save changes workBook.SaveAs("sample.xlsx") $vbLabelText $csharpLabel 这段代码会将new value写入 Excel 文件sample.xlsx中Sheet1工作表的A1单元格。 同样地,我们可以在 Excel 文件的任何单元格地址中插入值。 注意:在工作表中写入新值后,不要忘记保存 Excel 文件,如上例所示。 强制指定精确值 设置Value属性时,IronXL 会尝试将其转换为相应的值类型。 有时,这种评估是不理想的,因为用户希望强制将确切值分配给单元格而不进行转换。 为此,请将该值赋为字符串。 在 IronXL 中,只需使用StringValue代替Value即可达到相同的效果。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs // Assign value as string workSheet["A1"].StringValue = "4402-12"; ' Assign value as string workSheet("A1").StringValue = "4402-12" $vbLabelText $csharpLabel 将静态值写入指定范围 我们可以将新值写入多个单元格(称为范围),如下所示: // Assign a static value to a range of cells worksheet["B2:C5"].Value = "static value"; // Assign a static value to a range of cells worksheet["B2:C5"].Value = "static value"; ' Assign a static value to a range of cells worksheet("B2:C5").Value = "static value" $vbLabelText $csharpLabel 这样,我们就指定了要写入数据的单元格范围From "到To 。 new value将写入该范围内的所有单元格。 要了解更多关于C# Excel Range 的信息,请查看这里的示例。 让我们通过下面的示例来了解如何实际编写范围。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-range-full.cs using IronXL; // Load Excel file WorkBook workBook = WorkBook.Load("sample.xlsx"); // Open WorkSheet of sample.xlsx WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Specify range row wise and write new value workSheet["B2:B9"].Value = "new value"; // Specify range column wise and write new value workSheet["C3:C7"].Value = "new value"; // Save changes workBook.SaveAs("sample.xlsx"); Imports IronXL ' Load Excel file Private workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Open WorkSheet of sample.xlsx Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Specify range row wise and write new value Private workSheet("B2:B9").Value = "new value" ' Specify range column wise and write new value Private workSheet("C3:C7").Value = "new value" ' Save changes workBook.SaveAs("sample.xlsx") $vbLabelText $csharpLabel 这段代码会将new value从B2写入 Excel 文件sample.xlsx工作表Sheet1中的C5 。 它使用Excel单元格的静态值。 在一定范围内写入动态值 我们还可以向范围添加动态值,如下所示。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-dynamic-value.cs using IronXL; // Load Excel file WorkBook workBook = WorkBook.Load("sample.xlsx"); // Open WorkSheet of sample.xlsx WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Specify range in which we want to write the values for (int i = 2; i <= 7; i++) { // Write the Dynamic value in one row workSheet["B" + i].Value = "Value" + i; // Write the Dynamic value in another row workSheet["D" + i].Value = "Value" + i; } // Save changes workBook.SaveAs("sample.xlsx"); Imports IronXL ' Load Excel file Private workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Open WorkSheet of sample.xlsx Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Specify range in which we want to write the values For i As Integer = 2 To 7 ' Write the Dynamic value in one row workSheet("B" & i).Value = "Value" & i ' Write the Dynamic value in another row workSheet("D" & i).Value = "Value" & i Next i ' Save changes workBook.SaveAs("sample.xlsx") $vbLabelText $csharpLabel 上述代码将动态值写入 Excel 文件sample.xlsx的B列第2到7 。 我们可以在sample.xlsx中看到代码的运行结果。 替换 Excel 单元格值 使用 IronXL,我们可以轻松地使用Replace()函数写入新值来替换旧值,如下所示: :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace.cs workSheet.Replace("old value", "new value"); workSheet.Replace("old value", "new value") $vbLabelText $csharpLabel 上述函数会将new value写入整个 Excel 工作表,覆盖old value 。 替换指定行中的单元格值 如果只想在某一行写入新值,请按如下方式操作: :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-row.cs workSheet.Rows[RowIndex].Replace("old value", "new value"); workSheet.Rows(RowIndex).Replace("old value", "new value") $vbLabelText $csharpLabel 这将仅在指定的行索引处用new value覆盖old value 。 替换指定列中的单元格值 同样地,如果我们想在特定列中用new value覆盖old value ,请按如下方式操作: :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-column.cs workSheet.Columns[ColumnIndex].Replace("old value", "new Value"); workSheet.Columns(ColumnIndex).Replace("old value", "new Value") $vbLabelText $csharpLabel 上述代码会将new value写入指定列索引以替换old value 。 工作表的其余部分保持不变。 替换指定范围内的单元格值 IronXL 还提供了一种方法,可以仅在指定的范围内写入new value来替换old value 。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-range.cs workSheet["From Cell Address : To Cell Address"].Replace("old value", "new value"); workSheet("From Cell Address : To Cell Address").Replace("old value", "new value") $vbLabelText $csharpLabel 这将把new value写入old value上方,但仅限于指定范围内的单元格。 让我们来看一个例子,了解如何使用上述所有函数在 Excel 工作表中写入新值来替换旧值。 所有函数的示例 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-full.cs using IronXL; WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Write new above old in complete WorkSheet workSheet.Replace("old", "new"); // Write new above old just in row no 6 of WorkSheet workSheet.Rows[5].Replace("old", "new"); // Write new above old just in column no 5 of WorkSheet workSheet.Columns[4].Replace("old", "new"); // Write new above old just from A5 to H5 of WorkSheet workSheet["A5:H5"].Replace("old", "new"); workBook.SaveAs("sample.xlsx"); Imports IronXL Private workBook As WorkBook = WorkBook.Load("sample.xlsx") Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Write new above old in complete WorkSheet workSheet.Replace("old", "new") ' Write new above old just in row no 6 of WorkSheet workSheet.Rows(5).Replace("old", "new") ' Write new above old just in column no 5 of WorkSheet workSheet.Columns(4).Replace("old", "new") ' Write new above old just from A5 to H5 of WorkSheet workSheet("A5:H5").Replace("old", "new") workBook.SaveAs("sample.xlsx") $vbLabelText $csharpLabel 有关如何编写 Excel .NET 应用程序等更多信息,请查看我们关于如何使用 C# 打开和写入 Excel 文件的完整教程。 教程快速访问 阅读 API 参考文档 阅读 IronXL 文档,其中包括库中所有可用的函数、特性、命名空间、类和枚举的列表。 阅读 API 参考文档 常见问题解答 如何开始在 .NET 中编写 Excel 文件? 要开始使用 IronXL,请下载库并在项目中包含它。在 C# 代码中通过使用 using IronXL 导入库。 如何在 Excel 工作表中的特定单元格中写入值? 要使用 IronXL 在特定单元格中写入值,使用其地址访问单元格,如 worksheet['A1'],然后使用 .Value 属性分配值。 如何在 Excel 中将固定值分配给单元格范围? 要使用 IronXL 将固定值分配给范围,请使用单元格地址指定范围,如 worksheet['B2:C5'],并将 .Value 属性设置为所需的固定值。 我可以在 Excel 中向单元格范围写入动态值吗? 可以,使用 IronXL,您可以通过循环或自定义逻辑向范围写入动态值。例如,您可以迭代单元格地址并根据要求分配动态值。 如何在 Excel 工作表中替换现有单元格值? 使用 IronXL,您可以使用Replace()方法在工作表、行、列或指定范围上将“旧值”替换为“新值”。 使用 Value 和 StringValue 有什么区别? 在 IronXL 中,.Value 属性可能会将分配的值转换为特定类型格式,而 .StringValue 则将值分配为字符串,以避免转换。 如何打开并访问 Excel 文件中的特定工作表? 使用 IronXL 的 WorkBook.Load('path/to/your/excel-file.xlsx') 加载文件,并使用 workbook.GetWorkSheet('SheetName') 访问特定的工作表。 在写入新值后是否有必要保存 Excel 文件? 是的,使用 IronXL 时,在进行更改后必须使用 workbook.SaveAs('filename.xlsx') 方法保存 Excel 文件以持久化更改。 如何写入新值以替换特定行中的旧值? 使用 IronXL,通过 worksheet.Rows[index] 访问行,然后使用旧值和新值调用 Replace() 方法。 我可以替换特定列中的值吗? 是的,使用 IronXL,通过 worksheet.Columns['A'] 访问列,并使用 Replace() 方法将旧值替换为该列中的新值。 如何确保我的 C# 项目可以与 Excel 文件交互? 确保您的 C# 项目引用了 IronXL 库,通过下载它并将其添加到项目的引用中。这样可以促进与 Excel 文件的交互。 在 .NET 中写入 Excel 文件时的一些常见问题是什么? 常见问题包括未正确引用 IronXL 库、单元格地址格式不正确以及忘记保存更改。确保正确设置和语法。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 1,738,553 | Version: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:1,738,553 查看许可证