使用IRONXL

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

更新 2024年三月31日
分享:

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

IronXL - Excel 库

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

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

IronXL 还包括使保护翻译带有用户密码和编辑权限的 Excel 文件。 另一个值得注意的功能是从 Excel 工作表中添加、删除和提取图片的功能。 该库提供了大量 Excel 函数,支持各种单元格数据格式. 这些功能使 IronXL.Excel 成为处理 Excel 文件最方便用户使用的 API 之一。

IronXL.Excel 的显著优势之一是它不需要在机器上安装 Microsoft Excel,无需 Office Interop 或任何其他依赖项。 它兼容多种平台,支持 .NET7、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:新建项目

    新项目

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

    如何在 C# 中打开 Excel 文件并写入数据,图 2:新项目类型

    新项目类型

  3. 输入项目名称

    如何在 C# 中打开 Excel 文件并写入数据,图 3:新项目名称

    新项目名称

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

    如何在 C# 中打开 Excel 文件并写入数据,图 4:新项目 附加信息

    新项目附加信息

安装 IronXL 库

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

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

    如何在 C# 中打开 Excel 文件并写入数据,图 5:NuGet 软件包管理器

    NuGet 软件包管理器

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

    如何在 C# 中打开 Excel 文件并写入数据,图 6:在 NuGet 软件包管理器用户界面中搜索并安装 IronXL 软件包

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

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

using IronXL;
using IronXL;
Imports IronXL
VB   C#

在 C# 中打开现有 Excel 文件;

IronXL.Excel 提供了打开现有 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 对象库将数据写入 Excel 文件。

用 C# 将数据写入 Excel 文件;

使用 IronXL.Excel 将数据写入 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# 保存 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.Excel 在 C# 中将数据写入 Excel 文件。 IronXL.Excel 提供的功能可以无障碍地处理现有 Excel 文件。 它还允许您创建新的 Excel 文件,并以简单的语法向其中写入数据。 IronXL.Excel 也可用于在未安装 Microsoft Excel 应用程序的情况下读取 Excel 文件。 要从 Excel 文件中读取数据,您可以查看以下内容代码示例页面.

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

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

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

免费NuGet下载 总下载量: 1,086,940 查看许可证 >