
如何在 C# 中写入 CSV 文件
本文将探讨如何使用 IronXL 编写 CSV 文件。
IronXL库
IronXL是一个 .NET Excel 库,它为在 C# 应用程序中创建、读取和编辑电子表格文件提供了全面的功能。 它的性能和输出精度都非常出色。 它支持多种电子表格工作簿文件格式,例如 XLS、XLSX、XLSM、CSV 和 TSV。此外,它还允许您将 Excel 文件中的数据保存或导出为 CSV、JSON、HTML、二进制、字节数组、数据集或数据表等格式。
借助 IronXL,开发人员可以无缝地处理工作表和单元格区域,从而为数据操作提供了一种优雅的方法。 它允许轻松编辑公式,并方便在工作表中重新计算公式。 按范围、列或行对数据进行排序非常简单。 您还可以通过冻结窗格、自动调整行/列大小以及添加/删除行/列来修改布局。
IronXL 提供使用用户密码保护 Excel 文件并设置编辑权限的功能。 此外,它还提供了在 Excel 工作表中添加、删除和提取图像的功能。 该库包含各种 Excel 函数,支持多种单元格数据格式。 这使得 IronXL 成为处理 Excel 文件最直观的 API 之一。
IronXL 的一个显著优势在于它无需在计算机上安装 Microsoft Excel 或 Office Interop 依赖项。它是一个独立的解决方案,可跨多个平台运行,并兼容 .NET 7、6 和 5 版本。此外,它还支持 .NET Core 2 和 3 以及标准的 .NET 2 版本。 IronXL 与 .NET Framework 4.5 及更高版本兼容,可用于处理 Excel 电子表格。
创建控制台应用程序
建议使用最新版本的 Visual Studio 来创建应用程序。 Visual Studio 是 C# 开发的官方 IDE,您必须安装它。 如果尚未安装,您可以从Microsoft Visual Studio 网站下载。
以下步骤将创建一个名为"DemoApp"的新项目。
- 打开 Visual Studio 并点击"创建新项目"。
打开 Visual Studio
- 选择控制台应用程序,然后单击"下一步"。
在 Visual Studio 中创建新项目
- 设置项目名称
配置新项目
- 选择 .NET 版本。 选择稳定版本 .NET 6.0。
.NET Framework 选择
安装 IronXL 库
项目创建完成后,需要将 IronXL 库安装到项目中才能使用它。 按照以下步骤安装。
- 从解决方案资源管理器或工具中打开 NuGet 包管理器。
导航到 NuGet 包管理器
- 浏览 IronXL 库并选择当前项目。 点击安装。
在 NuGet 包管理器 UI 中搜索并安装 IronXL 包
在Program.cs文件顶部添加以下命名空间:
using IronXL;Imports IronXLCreate a New Workbook in C#
IronXL 提供了创建空白工作簿的功能。 工作簿是包含多个工作表的电子表格。 数据存储在单元格中。 CSV 文件看起来也像电子表格,但文件扩展名为 CSV。
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();' Creates a new instance of WorkBook Spreadsheet
Dim workBook As WorkBook = WorkBook.Create()现在,让我们在WorkBook中创建一个工作表。 在工作簿中创建工作表的方法有很多种。
// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;
// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");' Adds a default sheet to the workbook
Dim defaultSheet As WorkSheet = workBook.DefaultWorkSheet
' Creates a worksheet with the name "Sheet1"
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")如果您想要在现有工作簿中添加更多工作表,请使用CreateWorkSheet方法。
注意: 如果CSV文件已经存在,您可以使用WorkBook.LoadCSV方法。 您可以查看此代码示例页面,了解如何加载现有的 CSV 文件。
将数据写入WorkSheet
using IronXL 编写 CSV 文件非常简单。 它提供将数据写入 CSV 文件的 Excel 功能。可以使用单元格引用将值添加到指定位置。 在这里,我将使用foreach循环添加一些员工的记录。
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };
// Starting row for data entry
int i = 2;
// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";
// Populate each row with employee data
foreach (var employee in employeeNames)
{
// Set values for ID, Name, and Salary
sheet["A" + i].Value = i;
sheet["B" + i].Value = employee;
sheet["C" + i].Value = i * 1000;
i++;
}' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
' Starting row for data entry
Dim i As Integer = 2
' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"
' Populate each row with employee data
For Each employee In employeeNames
' Set values for ID, Name, and Salary
sheet("A" & i).Value = i
sheet("B" & i).Value = employee
sheet("C" & i).Value = i * 1000
i += 1
Next employee在上述代码示例中,创建了一个employeeNames数组,并将第一行设为标头:ID、Name、Salary。 还初始化了一个变量i,其值为2,将从标头下的第2行输入记录。 foreach循环处理列表中的每个员工,并将其添加到当前行的ID和薪水值中。 在循环完成之前,i被递增以移至下一行以便输入下一个记录。
将数据保存到 CSV 文件
最后一步是保存CSV文件。IronXL提供方法SaveAsCsv以将工作簿保存为CSV文件。此方法的第一个参数是CSV文件名,第二个是分隔符。
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")完整代码如下:
using System;
using IronXL;
class Program
{
static void Main()
{
// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };
// Starting row for data entry
int i = 2;
// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";
// Populate each row with employee data
foreach (var employee in employeeNames)
{
// Set values for ID, Name, and Salary
sheet["A" + i].Value = i;
sheet["B" + i].Value = employee;
sheet["C" + i].Value = i * 1000;
i++;
}
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
}
}Imports System
Imports IronXL
Friend Class Program
Shared Sub Main()
' Create a new workbook and worksheet
Dim workBook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
' Starting row for data entry
Dim i As Integer = 2
' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"
' Populate each row with employee data
For Each employee In employeeNames
' Set values for ID, Name, and Salary
sheet("A" & i).Value = i
sheet("B" & i).Value = employee
sheet("C" & i).Value = i * 1000
i += 1
Next employee
' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")
End Sub
End Class输出
输出 CSV 文件
摘要
本文介绍了一种使用 IronXL 在 C# 中编写 CSV 文件的简单方法。 IronXL 还提供了轻松处理现有 CSV 文件的功能。 它还允许您写入 CSV 文件、创建新的 Excel 文件,并使用简单的语法向其中写入数据。 即使没有安装 Microsoft Office,IronXL 也可以用于读取和写入 Excel 文件。 对于不同电子表格格式之间的转换,您可以查看此代码示例页面。
IronXL 免费供开发使用,并可获得商业用途许可证。 您也可以尝试 IronXL 的商业用途免费试用版。

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章



