在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
您是否曾为 .NET 中的某项重要任务而尝试解析 CSV 文件并将其转换为 XLSX 文件或将 XLSX 文件转换为 CSV 文件,但却无法在不编写大量代码的情况下实现这一目标?
许多 CSV 库都可以解决这个问题。 但是IronXL本博客将使用 C# Excel 库,只需两行代码即可完成这些任务。
要开始使用,您只需要 Visual Studio,并按照下面的说明进行详细安装。
打开 Visual Studio 编辑器。
转到 Visual Studio 的文件菜单。 选择 "新建项目",然后选择控制台应用程序。
键入项目名称并选择项目位置。 然后,单击创建按钮创建项目。 选择所需的 .NET Framework,如下图所示:
Create a new C#. .NET控制台应用程序
程序.cs "文件将打开,您可以输入逻辑并创建/运行应用程序。
IronXL 库可以通过多种不同方式下载和安装。 今天,我们将重点介绍其中两种:
可在 Visual Studio 中使用 NuGet 软件包管理器用户界面将软件包直接安装到项目中。 下面的截图显示了如何打开它。
使用 Visual Studio NuGet 包管理器图形用户界面安装 IronXL
软件包管理器用户界面提供浏览功能,可显示 NuGet 网站提供的软件包库列表。输入 "IronXL "关键字(如下截图所示),即可找到 IronXL 软件包。
通过在 "浏览 "部分搜索 IronXL 库,在 NuGet 包管理器中找到该库。
选择 "IronXL.Excel "软件包,然后单击安装按钮将其添加到项目中。
在 Visual Studio 菜单中,转到 工具 > NuGet 包管理器 > 点击 包管理器控制台。
在 Visual Studio 中从 "工具 "菜单访问 NuGet 包管理器控制台
软件包管理器控制台将显示在屏幕底部。 只需键入以下命令,然后按回车键,IronXL 即可安装。
Install-Package IronXL.Excel
通过命令行安装 IronXL 库
手动解析 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
但使用 IronXL 只需几行代码就能实现这一点。
使用 IronXL,您可以解析来自 XLSX、XLS、TSV 等的 CSV 文件。 在本教程中,我们将探讨以下转换:
从 XLSX 文件解析 CSV 文件
从 XLS 文件解析 CSV 文件
打开 Microsoft Excel 并创建一个新的 XLSX 文件。用一些模拟数据填充行和列。 下图显示了本教程中所有转换所使用的文件。
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")
执行完成后,将创建一个名为 Parsed CSV.csv 的新文件。 阅读 CSV 文件可以使用任何编辑器或阅读器。下图显示了上述命令的输出结果--我们生成的 CSV 数据。 在输出文件中,双引号代表粗值。
在示例 Excel 工作簿上调用 WorkBook.SaveAsCsv 方法的结果
在本示例中,我们将了解如何将 XLS 文件转换为 CSV 格式。
首先,让我们创建一个可以转换为 CSV 格式的 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")
执行上述代码后,您将得到一个新生成的 CSV 文件。
使用上述代码保存后的 CSV 文件
电子表格应用程序经常使用 TSV 文件或制表符分隔值文件在数据库间传输数据。 它保存了一个数据表,数据列之间用制表符分隔,每条记录都在不同的行上。
IronXL 提供 CSV 解析器,可从 TSV 格式解析 CSV 文件,以便更好地管理数据。
让我们从示例开始。
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")
以下是 CSV 格式的输出结果。
输出 CSV 文件
本教程使用 IronXL 在 C# 中将不同的文件格式解析为 CSV。
此外,IronXL 库还提供以下功能: