c# - 将数据写入 CSV 时如何排除 header

标签 c# winforms csvhelper

我正在将我的数据从 public class 写入 CSV 文件。因为我想附加我的数据,所以我想排除标题的导入,只从类中导入数据。我下面的代码导入了标题和数据。希望得到帮助。谢谢。

Record.cs - 我的类(class)

public class Record
{
    public string Name
    {
        get; set;
    }

    public DateTime DateOfBirth
    {
        get; set;
    }
}

Form1.cs - 我的表单

public partial class Form1 : Form
{
    private List<Record> records;

    public Form1()
    {
        InitializeComponent();
        records = new List<Record>();
    }

    private void Savetocsv_Click(object sender, EventArgs e)
    {
        var myDocument = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        using (var writer = new StreamWriter(myDocument + "/my-data.csv", append: true))
        {
            using (var csv = new CsvWriter(writer))
            {
                csv.WriteRecords(records);
            }                
        }
    }

最佳答案

使用 Configuration ,您可以使用属性 HasHeaderRecord:

HasHeaderRecord : Gets or sets a value indicating if the CSV file has a header record.
Default is true.

var records = new List<Foo>
{
    new Foo { Id = 1, Name = "one" },
    new Foo { Id = 1, Name = "one" },
};

using (var writer = new StreamWriter($"file.csv"))
using (var csv = new CsvWriter(writer, new Configuration { HasHeaderRecord = false }))
{
    csv.WriteRecords(records);
}

结果文件:“file.csv”

1;one
1;one

或者简单地循环记录并写入它们:

var records = new List<Foo>
{
    new Foo { Id = 1, Name = "one" },
    new Foo { Id = 1, Name = "one" }
};

using (var writer = new StreamWriter($"file.csv"))
using (var csv = new CsvWriter(writer))
{
    foreach (var record in records)
    {
        csv.WriteRecord(record);
        csv.NextRecord();
    }
}

关于c# - 将数据写入 CSV 时如何排除 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55332538/

相关文章:

vb.net - 如何摆脱闪烁的形式?

C# - 将检查列表按钮与方法相关联

c# - 使用 CsvHelper 将引号写入特定的 CSV 字段

CsvHelper C# 日期时间格式 dd/mm/yyyy

c# - 需要由线程处理的作业队列

c# - 以编程方式从 DataTable 创建 DataGridview

c# - 支持 .NET 4.0 中的进度报告和增量结果 "Task Parallel Library"

javascript - 使用 Javascript 提交表单不适用于新添加的 &lt;input&gt;

c# - 使用 Thread.Sleep,同时使用程序

c# - 如何配置 CsvHelper 以跳过 MissingFieldFound 行