📜  将 csv 文件读入 wpf C# (1)

📅  最后修改于: 2023-12-03 15:39:12.032000             🧑  作者: Mango

将 CSV 文件读入 WPF C#

在开发 WPF 应用程序时,导入 CSV 文件是一项非常常见的任务。这篇文章将介绍如何使用 C# 代码从 CSV 文件中读取数据并将其绑定到 WPF 控件。

准备阶段

在开始之前,你需要准备以下几点:

  • Visual Studio 2019(或更新版本)
  • 一个 CSV 文件
  • 一些基本的 C# 知识
步骤一:创建 WPF 应用程序

首先,我们需要创建一个 WPF 应用程序。打开 Visual Studio,选择“文件” -> “新建” -> “项目”,在弹出的对话框中选择“WPF 应用程序”。给你的项目命名,然后按“确定”创建。现在,你应该可以看到一个空的 WPF 窗口。

// 代码示例
// 暂无代码
步骤二:添加 CSV 文件

在项目中添加 CSV 文件,可以将其命名为“data.csv”。在此处,我们将使用 LumenWorks.Framework.IO 的库来读取 CSV 文件。该库以 NuGet 包的形式提供,可以在 Visual Studio 中轻松安装。

步骤三:创建类

我们需要创建一个名为“Person”的类,它将保存 CSV 文件中每行的数据记录。

// 代码示例
public class Person
{
    public string Name { get; set; }
    public string Age { get; set; }
    public string Email { get; set; }
    public string Phone { get; set; }
}

请注意,此类的属性与 CSV 文件中各列的标题相匹配。

步骤四:读取 CSV 文件

现在,我们已经准备好读取 CSV 文件了。我们将使用 LumenWorks.Framework.IO 的“CsvReader”类。

// 代码示例
using (var reader = new CsvReader(new StreamReader("data.csv"), true))
{
    var record = new List<Person>();
    var headers = reader.GetFieldHeaders();
    while (reader.ReadNextRecord())
    {
        record.Add(new Person
        {
            Name = reader[headers[0]],
            Age = reader[headers[1]],
            Email = reader[headers[2]],
            Phone = reader[headers[3]]
        });
    }
}

在此代码中,我们首先创建一个 CsvReader 实例,并将其绑定到我们的 CSV 文件。然后,我们使用 CsvReader 的 GetFieldHeaders() 方法获取每个列标题,并使用它们来填充“Person”类的实例。

步骤五:创建 WPF 控件

我们需要创建一个 DataGrid 控件来显示 CSV 文件中的数据。

// 代码示例
<DataGrid x:Name="dataGrid" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
        <DataGridTextColumn Header="Age" Binding="{Binding Age}"/>
        <DataGridTextColumn Header="Email" Binding="{Binding Email}"/>
        <DataGridTextColumn Header="Phone" Binding="{Binding Phone}"/>
    </DataGrid.Columns>
</DataGrid>

在此 XAML 代码中,我们创建了一个名为“dataGrid”的 DataGrid 控件,并使用 Binding 属性将它们与“Person”类的属性绑定起来。

步骤六:将数据加载到控件中

最后,我们将数据加载到 DataGrid 控件中。

// 代码示例
dataGrid.ItemsSource = record;

在此代码中,我们使用 ItemsSource 属性将“Person”类的实例与 DataGrid 控件绑定起来。

这样,我们就完成了将 CSV 文件读入 WPF 应用程序的代码!

总结

通过本篇文章,我们学习了如何使用 C# 代码将 CSV 文件读入 WPF 应用程序,并将其绑定到 DataGrid 控件。希望这篇文章对你有所帮助!