0
点赞
收藏
分享

微信扫一扫

.net core 导出csv文件

冶炼厂小练 2023-07-15 阅读 88

.NET Core导出CSV文件

CSV(Comma-Separated Values)是一种常见的文本文件格式,用于将结构化数据以逗号分隔的方式存储。在.NET Core中,我们可以使用各种方式来导出CSV文件,包括手动构建CSV内容、使用第三方库等。本文将介绍使用.NET Core导出CSV文件的几种方法,并提供相应的代码示例。

1. 手动构建CSV内容

最简单的方法是手动构建CSV内容,并将其写入文件。以下是一个示例代码,演示了如何导出包含固定列的CSV文件。

using System.IO;

string filePath = "data.csv";

using (StreamWriter writer = new StreamWriter(filePath))
{
    writer.WriteLine("Name,Email,Phone");
    writer.WriteLine("John Doe,john@example.com,1234567890");
    writer.WriteLine("Jane Smith,jane@example.com,9876543210");
}

在上述代码中,我们首先创建一个StreamWriter对象,并指定要写入的文件路径。然后,我们使用WriteLine方法写入CSV文件的每一行。在CSV文件中,每个字段之间使用逗号进行分隔。

2. 使用CsvHelper库

[CsvHelper](

要使用CsvHelper库,可以通过NuGet包管理器或使用.NET CLI安装CsvHelper。以下是使用CsvHelper导出CSV文件的示例代码:

using CsvHelper;
using CsvHelper.Configuration;
using System.Collections.Generic;
using System.Globalization;
using System.IO;

public class Person
{
    public string Name { get; set; }
    public string Email { get; set; }
    public string Phone { get; set; }
}

string filePath = "data.csv";

List<Person> people = new List<Person>
{
    new Person { Name = "John Doe", Email = "john@example.com", Phone = "1234567890" },
    new Person { Name = "Jane Smith", Email = "jane@example.com", Phone = "9876543210" }
};

using (StreamWriter writer = new StreamWriter(filePath))
{
    using (CsvWriter csvWriter = new CsvWriter(writer, CultureInfo.InvariantCulture))
    {
        csvWriter.WriteRecords(people);
    }
}

在上述代码中,我们首先定义了一个Person类,该类表示CSV文件中的每一行数据。然后,我们创建了一个StreamWriter,并将其传递给CsvWriter。使用CsvWriterWriteRecords方法,我们可以将整个集合写入CSV文件。

3. 使用EPPlus库

如果需要导出复杂的CSV文件,包含多个工作表、单元格格式等,可以考虑使用[EPPlus](

以下是使用EPPlus导出CSV文件的示例代码:

using OfficeOpenXml;
using System.Collections.Generic;
using System.IO;

string filePath = "data.csv";

List<string[]> data = new List<string[]>
{
    new string[] { "Name", "Email", "Phone" },
    new string[] { "John Doe", "john@example.com", "1234567890" },
    new string[] { "Jane Smith", "jane@example.com", "9876543210" }
};

using (ExcelPackage package = new ExcelPackage(new FileInfo(filePath)))
{
    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");

    for (int i = 0; i < data.Count; i++)
    {
        for (int j = 0; j < data[i].Length; j++)
        {
            worksheet.Cells[i + 1, j + 1].Value = data[i][j];
        }
    }

    package.Save();
}

在上述代码中,我们创建了一个ExcelPackage对象,并指定要保存的文件路径。然后,我们添加一个工作表,并使用嵌套循环将数据写入每个单元格中。最后,通过调用Save方法将修改后的Excel文件保存为CSV格式。

总结

本文介绍了使用.NET Core导出CSV文件的几种方法,包括手动构建CSV内容、使用CsvHelper库和EPPlus库。根据实际需求,选择合适的方法来导出CSV文件。无论选择哪种方法,都可以轻松地使用.NET

举报

相关推荐

0 条评论