使用IRONXL

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

更新 2024年三月31日
分享:

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

IronXL 库

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

有了 IronXL,开发人员可以无缝地处理工作表和单元格范围,为操作数据提供了一种优雅的方法。 它允许轻松编辑公式该译文必须保持专业性,在解释这些开发人员工具的功能和优点的同时,保持技术上的准确性。 数据排序基于范围、列或行的翻译非常简单。 您还可以通过以下方式修改布局冷冻窗格, 自动调整行/列大小添加/删除行/列.

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

IronXL.Excel 的一个显著优势是,它不需要在机器上安装 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

    打开 Visual Studio

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

    如何用 C# 在 CSV 文件中写入数据,图 2:在 Visual Studio 中创建新项目

    在 Visual Studio 中创建一个新项目

  3. 设置项目名称

    如何用 C# 在 CSV 文件中写入数据,图 3:配置新项目

    配置您的新项目

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

    如何用 C# 在 CSV 文件中写入数据,图 4:.NET 框架选择

    *.NET Framework 选择***

安装 IronXL 库

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

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

    如何用 C# 在 CSV 文件中写入数据,图 5:导航至 NuGet 包管理器

    导航至 NuGet 软件包管理器

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

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

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

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

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

在 C# 中创建新工作簿;

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()
$vbLabelText   $csharpLabel

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

// 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")
$vbLabelText   $csharpLabel

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

注: 您可以使用工作簿.载入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
$vbLabelText   $csharpLabel

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

将数据保存为 CSV 文件

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

workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",")
$vbLabelText   $csharpLabel

内容如下

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", ",")
$vbLabelText   $csharpLabel

输出

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

输出 CSV 文件

摘要

本文介绍一种使用 C# 中的 IronXL 编写 CSV 文件的简单方法。 IronXL 还提供了使用现有 CSV 文件的功能,不会造成任何麻烦。 您还可以使用简单的语法编写 CSV 文件、创建新的 Excel 文件并向其中写入数据。 IronXL.Excel 也可用于在未安装 Microsoft Office 的情况下读写 Excel 文件。 关于不同电子表格格式之间的转换,您可以参考以下内容代码示例页面.

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

Kannaopat Udonpant

坎那帕·乌东攀

软件工程师

 LinkedIn

在成为软件工程师之前,Kannapat 从日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了生物生产工程系车辆机器人实验室的成员。2022年,他利用自己的 C# 技能加入了 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他能直接向编写 IronPDF 大部分代码的开发者学习。除了同伴学习,Kannapat 还享受在 Iron Software 工作的社交方面。不写代码或文档时,Kannapat 通常在 PS5 上玩游戏或重看《最后生还者》。
< 前一页
如何在ASP.NET中查看Excel
下一步 >
如何使用C#在Excel单元格中设置背景颜色