使用IRONXL

如何在C#中写入CSV文件数据

更新 2024年三月31日
分享:

本文将探讨如何使用 IronXL 编写 CSV 文件。

IronXL 图书馆

IronXL 是一个 .NET Excel 库,可为 C# 应用程序中创建、读取和编辑电子表格文件提供全面的功能。它在性能和输出精度方面表现出色。它支持各种电子表格工作簿文件格式,如 XLS、XLSX、XLSM、CSV 和 TSV。此外,它还能让你 保存或导出数据 将 Excel 文件转换为 CSV、JSON、HTML、二进制、字节数组、数据集或数据表等格式。

有了 IronXL,开发人员可以无缝地处理工作表和单元格范围,提供一种优雅的数据处理方法。它允许 轻松编辑公式 并方便在工作表中重新计算公式。 数据排序 根据范围、列或行修改布局也很简单。您还可以通过以下方式修改布局 冷冻窗格, 自动调整行/列大小添加/删除行/列.

IronXL 能用用户密码保护 Excel 文件,并设置编辑权限。此外,它还提供以下功能 添加、删除和提取图像 从 Excel 工作表中提取数据。该库包含大量 Excel 函数,支持各种单元格数据格式。这使得 IronXL 成为处理 Excel 文件最直观的应用程序接口之一。

IronXL 的一个显著优势是,它不需要在机器上安装 Microsoft Excel 或 Office Interop 依赖项。它是一个独立的解决方案,可在多个平台上运行,并兼容.NET 7、6 和 5 版本。它还支持 .NET Core 2 和 3 以及标准 2 版本。在处理 Excel 电子表格时,IronXL 与 .NET Framework 4.5 及更高版本兼容。

创建一个控制台应用程序

建议从 Visual Studio 的最新版本开始创建应用程序。Visual Studio 是用于 C# 开发的官方集成开发环境,您必须安装它。您可以从 微软 Visual Studio 网站如果没有安装。

以下步骤将创建一个名为 "DemoApp "的新项目。

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

![如何用 C# 在 CSV 文件中写入数据,图 1:打开 Visual Studio](/static-assets/excel/blog/how-to-write-data-in-csv-file-in-csharp-tutorial/how-to-write-data-in-csv-file-in-csharp-tutorial-1.webp)

**打开 Visual Studio**

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

![如何用 C# 在 CSV 文件中写入数据,图 2:在 Visual Studio 中创建新项目](/static-assets/excel/blog/how-to-write-data-in-csv-file-in-csharp-tutorial/how-to-write-data-in-csv-file-in-csharp-tutorial-2.webp)

**在 Visual Studio 中创建一个新项目**

3.设置项目名称

![如何用 C# 在 CSV 文件中写入数据,图 3:配置新项目](/static-assets/excel/blog/how-to-write-data-in-csv-file-in-csharp-tutorial/how-to-write-data-in-csv-file-in-csharp-tutorial-3.webp)

**配置新项目**

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

![如何用 C# 在 CSV 文件中写入数据,图 4:.NET 框架选择](/static-assets/excel/blog/how-to-write-data-in-csv-file-in-csharp-tutorial/how-to-write-data-in-csv-file-in-csharp-tutorial-4.webp)

**.NET框架选择**

安装 IronXL 库

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

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

![如何用 C# 在 CSV 文件中写入数据,图 5:导航至 NuGet 包管理器](/static-assets/excel/blog/how-to-write-data-in-csv-file-in-csharp-tutorial/how-to-write-data-in-csv-file-in-csharp-tutorial-5.webp)

**导航至 NuGet 软件包管理器**

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

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

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

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

using IronXL;
using IronXL;
Imports IronXL
VB   C#

在 C&num 中创建新工作簿;

IronXL 提供了创建空工作簿的功能。工作簿是包含多个工作表的电子表格。数据存储在单元格中。CSV 看起来也像电子表格,但扩展名为 CSV 文件。

// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
' Creates a new Instance of WorkBook SpreadSheet
Dim workBook As New WorkBook()
VB   C#

现在,让我们在 工作簿.在工作簿中创建工作表有多种方法。

// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;

// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;

// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
' Adds sheet1 to the workbook
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Creates a worksheet with name Sheet1
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
VB   C#

如果您想在现有工作簿中添加更多工作表,请使用 创建工作表 方法。

注: 您可以使用 工作簿.载入CSV 方法,如果 CSV 文件已经存在。您可以看到 代码示例页面 用于加载现有的 CSV 文件。

将数据写入 "工作表

使用 IronXL 可以轻松写入 CSV 文件。它提供 Excel 功能,可将数据写入 CSV。单元格引用可用于在指定位置添加值。在此,我将使用 "foreach "循环添加一些员工的记录。

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
Dim employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Dim i As Integer = 2
sheet ("A1").Value = "ID"
sheet ("B1").Value = "Name"
sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee
VB   C#

在上述代码示例中,创建了一个 employeenames 数组,并设置了第一行的标题:ID、Name、Salary。变量 i 也被初始化为值 2,它将输入标题下面第二行的记录。foreach "循环从列表中选取一名雇员,并将其添加到包含 ID 和薪资值的行中。在循环结束前,应增加 i 的值,否则每条记录都将添加到同一行。

将数据保存为 CSV 文件

最后一步是保存 CSV 文件。IronXL 提供了 保存为 Csv 将工作簿保存为 CSV 文件。该方法的第一个参数是 CSV 文件名,第二个参数是分隔符。

workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",")
VB   C#

内容如下

using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
Imports System
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

Private employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Private i As Integer = 2
Private sheet ("A1").Value = "ID"
Private sheet ("B1").Value = "Name"
Private sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee

workBook.SaveAsCsv("sample.csv", ",")
VB   C#

输出

如何用 C# 在 CSV 文件中写入数据,图 7:输出的 CSV 文件

输出 CSV 文件

摘要

本文介绍了使用 IronXL 在 C# 中编写 CSV 文件的简单方法。IronXL 还能轻松处理现有的 CSV 文件。它还允许你使用简单的语法编写 CSV 文件、创建新的 Excel 文件并向其中写入数据。IronXL 还可以在未安装 Microsoft Office 的情况下读写 Excel 文件。关于不同电子表格格式之间的转换,请参阅以下内容 代码示例页面.

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

< 前一页
如何在ASP.NET中查看Excel
下一步 >
如何使用C#在Excel单元格中设置背景颜色

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

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