使用IRONXL

C# CSV解析器(分步骤)教程

更新 2024年一月29日
分享:

您是否曾为在 .NET 中执行某些重要任务而试图解析 CSV 文件并将其转换为 XLSX 文件或将 XLSX 文件转换为 CSV 文件,但却无法在不编写大量代码的情况下实现这一目标?

许多 CSV 库都可以解决这个问题。但是 IronXL 本博客将使用 C# Excel 库来执行这些任务,只需两行代码。

要开始使用,你只需要 Visual Studio,并按照下面的详细说明进行安装。

1.在 Visual Studio 中创建新项目

打开 Visual Studio 编辑器。

进入 Visual Studio 的 "文件 "菜单。选择 "新建项目",然后选择控制台应用程序。

键入项目名称并选择项目位置。然后,点击创建按钮创建项目。选择所需的 .NET Framework,如下图所示:

C# CSV 解析器(逐步)教程,图 1:创建一个新的 C#.NET 控制台应用程序。.NET控制台应用程序

创建一个新的 C#..NET控制台应用程序

将打开 program.cs 文件,您可以输入逻辑并创建/运行应用程序。

2.安装 IronXL C# 库

IronXL 库可以通过多种不同方式下载和安装。今天,我们将重点介绍其中两种:

  • 使用 Visual Studio NuGet 软件包管理器
  • 使用 Visual Studio 命令行

2.1.使用 Visual Studio NuGet 软件包管理器

Visual Studio 中的 NuGet 包管理器用户界面可用于将软件包直接安装到项目中。下面的截图显示了如何打开它。

C# CSV 解析器(逐步)教程,图 2:使用 Visual Studio NuGet 包管理器 GUI 安装 IronXL

使用 Visual Studio NuGet 包管理器图形用户界面安装 IronXL

软件包管理器用户界面提供浏览功能,可显示 NuGet 网站提供的软件包库列表。输入关键字 "IronXL"(如下截图所示),即可找到 IronXL 软件包。

C# CSV 解析器(逐步)教程,图 3:在 NuGet 包管理器的 浏览 部分搜索 IronXL 库,找到它

在 "浏览 "部分搜索 IronXL 库,在 NuGet 包管理器中找到该库

选择 "IronXL.Excel "软件包并单击 "安装"按钮将其添加到项目中。

2.2.使用 Visual Studio 命令行

在 Visual Studio 菜单中,转到 工具 > NuGet 软件包管理器 > 点击 软件包管理器控制台

C# CSV 解析器(逐步)教程,图 4:从 工具 菜单访问 Visual Studio 中的 NuGet 包管理器控制台

从 "工具 "菜单访问 Visual Studio 中的 NuGet 包管理器控制台

软件包管理器控制台将出现在屏幕底部。只需键入以下命令,然后按回车键,IronXL 即可安装。

Install-Package IronXL.Excel

C# CSV 解析器(逐步)教程,图 5:通过命令行安装 IronXL 库

通过命令行安装 IronXL 库

3.解析 CSV 文件

手动解析 CSV 需要编写大量精确的代码才能完成工作,但使用 IronXL 只需几行代码即可。

如果只使用传统的 C# 代码来解析 CSV 格式文件,你将不得不使用大量笨重的代码。下面是一个实现这一目标的代码示例。

using FileHelpers;
using System;
namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;

        public string Age;
    }
    class Program
    {
        static void Main(string [] args)
        {
            var fileHelperEngine = new FileHelperEngine<Record>();
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
using FileHelpers;
using System;
namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;

        public string Age;
    }
    class Program
    {
        static void Main(string [] args)
        {
            var fileHelperEngine = new FileHelperEngine<Record>();
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
Imports FileHelpers
Imports System
Namespace parse_csv
	<DelimitedRecord(",")>
	Public Class Record
		Public Name As String

		Public Age As String
	End Class
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim fileHelperEngine As New FileHelperEngine(Of Record)()
			Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")

			For Each record In records
				Console.WriteLine(record.Name)
				Console.WriteLine(record.Age)
			Next record
		End Sub
	End Class
End Namespace
VB   C#

但使用 IronXL,只需几行代码就能实现这一目标。

使用 IronXL,你可以解析来自 XLSX、XLS、TSV 等的 CSV 文件。在本教程中,我们将探讨以下转换:

1.从 XLSX 文件解析 CSV 文件

2.从 XLS 文件解析 CSV 文件

3.从 TSV 文件解析 CSV 文件

3.1.从 XLSX 文件解析 CSV 文件

打开 Microsoft Excel 并新建一个 XLSX 文件。用一些模拟数据填充行和列。下图显示了本教程中用于所有转换的文件。

C# CSV 解析器(逐步)教程,图 6:Excel 数据示例

Excel 数据示例

准备好文件后,编写以下示例代码并执行程序。

using IronXL;

WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
using IronXL;

WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("test.xlsx")
wb.SaveAsCsv("Parsed CSV.csv")
VB   C#

执行完成后,将创建一个名为 Parsed CSV.csv 的新文件。读取 CSV 文件可以使用任何编辑器或阅读器。下图显示了上述命令的输出结果--我们生成的 CSV 数据。在输出文件中,双引号代表值。

C# CSV 解析器(逐步)教程,图 7:在示例 Excel 工作簿上调用 WorkBook.SaveAsCsv 方法的结果

在示例 Excel 工作簿上调用 WorkBook.SaveAsCsv 方法的结果

3.2.从 XLS 文件解析 CSV 文件

在本例中,我们将了解如何将 XLS 文件转换为 CSV 格式。

首先,让我们创建一个可以转换为 CSV 格式的 XLS 文件示例。

C# CSV 解析器(逐步)教程,图 8:XLS 示例文件

XLS 文件示例

接下来,我们将执行下面的代码块,将示例 XLS 文件转换为 CSV 文件。

using IronXL;

WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
using IronXL;

WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("XLS.xls")
wb.SaveAsCsv("Example2.csv")
VB   C#

执行完上述代码后,您将得到一个新生成的 CSV 文件。

C# CSV 解析器(逐步)教程,图 9:使用上述代码保存 CSV 文件的结果

使用上述代码保存 CSV 文件的结果

3.3.从 TSV 文件解析 CSV 文件

电子表格应用程序经常使用 TSV 文件或制表符分隔值文件在数据库间传输数据。它保存的数据表用制表符分隔数据列,每条记录在不同的行上。

IronXL 提供 CSV 解析器,可从 TSV 格式解析 CSV 文件,以便更好地管理数据。

让我们从示例开始。

C# CSV 解析器(逐步)教程,图 10:TSV 电子表格示例

TSV 电子表格样本

using IronXL;

WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
using IronXL;

WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("TSV.tsv")
wb.SaveAsCsv("Example3.csv")
VB   C#

以下是 CSV 格式的输出结果。

C# CSV 解析器(逐步)教程,图 11:输出的 CSV 文件

输出 CSV 文件

4.结论

本教程使用 IronXL 在 C# 中将不同的文件格式解析为 CSV。

此外,IronXL 库还提供以下功能:

查看 IronXL 的 功能, 代码示例文献资料 内容,了解有关 IronXL 如何工作的更多信息。 下载 IronXL免费试用 30 天 试用许可证密钥。访问 许可页面 获取更多有关许可条款和条件的信息。

购买完整的 Iron Suite 以两个 IronXL 库许可证的价格获取所有五个 Iron 软件库的许可证!

感谢您的阅读!

< 前一页
如何在C#中创建CSV文件(分步)教程
下一步 >
如何使用IronXL在Blazor中导出数据到Excel

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

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