使用IRONXL

如何在C#中打开Excel文件并写入数据

更新 2024年三月31日
分享:

本文将探讨 IronXL 库,演示如何在 C# 控制台应用程序中打开 Microsoft Excel 文件并向其中写入数据。

IronXL - Excel 库

IronXL 是一个 .NET Excel 库,可帮助在 C# 应用程序中创建、读取和编辑 Excel 文件。它具有卓越的性能和准确的输出。该库支持 所有 Excel 工作簿文件格式包括 XLS、XLSX、XLSM、CSV 和 TSV。此外,它还允许以 JSON、HTML、二进制、字节阵列等格式保存或导出数据、 数据集或数据表.

有了 IronXL,开发人员可以无缝地处理工作表和单元格范围。它能在工作表中编辑公式并轻松地重新计算。 数据排序 基于范围、列或行的布局非常简单。库提供了修改布局的功能,例如 冷冻窗格, 自动调整行/列大小添加/删除行/列.

IronXL 还 使保护 Excel 文件的用户密码和编辑权限。另一个值得注意的功能是从 Excel 工作表中添加、移除和提取图像。该库提供多种 Excel 函数,支持各种 单元格数据格式.这些功能使 IronXL 成为处理 Excel 文件最方便的应用程序接口之一。

IronXL 的一个显著优势是,它不需要在机器上安装 Microsoft Excel,也不需要 Office Interop 或任何其他依赖项。它兼容多种平台,支持 .NET 7、6 和 5。它还与 .NET Core 2 和 3 以及 .NET Framework 4.5 和更高版本兼容,可处理 Excel 电子表格。

创建一个控制台应用程序

建议使用最新版本的 Visual Studio IDE 创建应用程序。Visual Studio 是用于 C# 开发的官方集成开发环境,假设您已经安装。如果尚未安装 Visual Studio,可以从官方的 微软 Visual Studio 网站.

按照以下步骤创建名为 "DemoApp "的新项目。

1.打开 Visual Studio,点击创建新项目

![如何用 C# 打开 Excel 文件并写入数据,图 1:新建项目](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-1.webp)

**新项目**

2.选择控制台应用程序,然后单击下一步

![如何在 C# 中打开 Excel 文件并写入数据,图 2:新项目类型](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-2.webp)

**新项目类型**

3.输入项目名称

![如何在 C# 中打开 Excel 文件并写入数据,图 3:新项目名称](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-3.webp)

**新项目名称**

4.选择 .NET 版本。选择稳定版本 .NET 6.0。

![如何在 C# 中打开 Excel 文件并写入数据,图 4:新项目 附加信息](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-4.webp)

**新项目附加信息**

安装 IronXL 库

创建项目后,需要在项目中安装 IronXL 库才能使用。请按照以下步骤安装。

1.从 "解决方案资源管理器 "或 "工具 "中打开 "管理解决方案的 NuGet 包"。

![如何在 C# 中打开 Excel 文件并写入数据,图 5:NuGet 软件包管理器](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-5.webp)

**NuGet软件包管理器**

2.浏览 IronXL 库并选择当前项目。点击安装。

![如何在 C# 中打开 Excel 文件并写入数据,图 6:在 NuGet 软件包管理器用户界面中搜索并安装 IronXL 软件包](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-6.webp)

**在 NuGet 软件包管理器用户界面中搜索并安装 IronXL 软件包**

Program.cs 文件顶部添加以下命名空间

using IronXL;
using IronXL;
Imports IronXL
VB   C#

在 C&num 中打开现有 Excel 文件;

IronXL 提供了打开现有 Excel 文件或创建新 Excel 文件的功能。本例将使用 C# IronXL 打开一个现有文件。

// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
VB   C#

现在,让我们选择第一个工作表。你可以通过索引号或名称选择工作表。默认工作表 "属性有助于获取第一张工作表。

// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];

// Select worksheet by name 
WorkSheet ws = wb.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];

// Select worksheet by name 
WorkSheet ws = wb.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets (0)

' Select worksheet by name 
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
VB   C#

上面的代码从 Excel 工作簿中获取第一个工作表。要创建一个包含数据的新 Excel 文件,请查看以下内容 代码示例页面.

现在,让我们使用 IronXL 对象库将数据写入 Excel 文件。

以 C&num 为单位将数据写入 Excel 文件;

使用 IronXL 将数据写入 Excel 文件非常简单。存档有多种方法,但最简单的方法是使用 Excel 单元格引用。

// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
' Access A1 cell and write the value
workSheet ("A1").Value = "Value using cell reference"
VB   C#

也可以将数据写入单元格区域。下面的代码从单元格 B1 至 B5 写入数据。

workSheet ["B1:B5"].Value = "Range value";
workSheet ["B1:B5"].Value = "Range value";
workSheet ("B1:B5").Value = "Range value"
VB   C#

我们还可以用一个 for 循环来填充范围,使其动态化。代码如下

//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    //write the Dynamic value in one row
    workSheet ["C" + i].Value = "Value: " + i;

    //write the Dynamic value in another row
    ws ["D" + i].Value = "Value: " + i;
}
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    //write the Dynamic value in one row
    workSheet ["C" + i].Value = "Value: " + i;

    //write the Dynamic value in another row
    ws ["D" + i].Value = "Value: " + i;
}
'specify range in which we want to write the values
For i As Integer = 1 To 5
	'write the Dynamic value in one row
	workSheet ("C" & i).Value = "Value: " & i

	'write the Dynamic value in another row
	ws ("D" & i).Value = "Value: " & i
Next i
VB   C#

将数据写入 Excel 文件的另一种方法是使用 替换 方法。

workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ("D5").Replace("Value: 5", "Replaced Value")
VB   C#

用 C&num 保存 Excel 文件;

本节说明如何保存新编写内容的 Excel 文件。

workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx")
VB   C#

代码如下

using System;
using IronXL;

static void Main(string [] args)
{
    // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
    WorkBook workBook = WorkBook.Load("sample.xlsx");

    // Select worksheet at index 0
    WorkSheet workSheet = workBook.WorkSheets [0];

    // Access A1 cell and write the value
    workSheet ["A1"].Value = "Value using cell reference";

    workSheet ["B1:B5"].Value = "Range value";

    //specify range in which we want to write the values
    for (int i = 1; i <= 5; i++)
    {
        //write the Dynamic value in one row
        workSheet ["C" + i].Value = "Value: " + i;

        //write the Dynamic value in another row
        workSheet ["D" + i].Value = "Value: " + i;
    }

    workSheet ["D5"].Replace("Value: 5", "Replaced Value");

    workBook.SaveAs("sample.xlsx");
    Console.WriteLine("successfully written in Excel File");
}
using System;
using IronXL;

static void Main(string [] args)
{
    // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
    WorkBook workBook = WorkBook.Load("sample.xlsx");

    // Select worksheet at index 0
    WorkSheet workSheet = workBook.WorkSheets [0];

    // Access A1 cell and write the value
    workSheet ["A1"].Value = "Value using cell reference";

    workSheet ["B1:B5"].Value = "Range value";

    //specify range in which we want to write the values
    for (int i = 1; i <= 5; i++)
    {
        //write the Dynamic value in one row
        workSheet ["C" + i].Value = "Value: " + i;

        //write the Dynamic value in another row
        workSheet ["D" + i].Value = "Value: " + i;
    }

    workSheet ["D5"].Replace("Value: 5", "Replaced Value");

    workBook.SaveAs("sample.xlsx");
    Console.WriteLine("successfully written in Excel File");
}
Imports System
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
	Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

	' Select worksheet at index 0
	Dim workSheet As WorkSheet = workBook.WorkSheets (0)

	' Access A1 cell and write the value
	workSheet ("A1").Value = "Value using cell reference"

	workSheet ("B1:B5").Value = "Range value"

	'specify range in which we want to write the values
	For i As Integer = 1 To 5
		'write the Dynamic value in one row
		workSheet ("C" & i).Value = "Value: " & i

		'write the Dynamic value in another row
		workSheet ("D" & i).Value = "Value: " & i
	Next i

	workSheet ("D5").Replace("Value: 5", "Replaced Value")

	workBook.SaveAs("sample.xlsx")
	Console.WriteLine("successfully written in Excel File")
End Sub
VB   C#

有关如何用 C# 阅读 Excel 文件数据的详细信息,请参阅 本例.

输出

文件输出为

如何用 C# 打开 Excel 文件并写入数据,图 7:输出的 Excel 文件

输出 Excel 文件

摘要

本文演示了如何使用 IronXL 在 C# 中将数据写入 Excel 文件。IronXL 可以轻松处理现有的 Excel 文件。它还允许你用简单的语法创建新的 Excel 文件并向其中写入数据。IronXL 还可用于在未安装 Microsoft Excel 应用程序的情况下读取 Excel 文件。从 Excel 文件读取数据的方法如下 代码示例页面.

IronXL 可免费用于开发,也可授权用于商业用途。您还可以免费试用 IronXL 试用期 用于商业用途。

< 前一页
如何使用C#禁用Excel中的受保护视图
下一步 >
如何在C#中将大量数据从DataTable导出到Excel

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 988,189 查看许可证 >