CSV 助手。 First Value 向右移动
Csv Helper. First Value is shifting to the right
我一直在尝试使用 csv 助手创建一个简单的 csv 文件。但是,我得到的结果并不是我所期望的。
由于某些我找不到的原因,第一个值向右移动并显示为 header.
有人能指出我做错了什么吗?
public class Record
{
public string Vrm { get; set; }
public string Version { get; set; }
public DateTime Started { get; set; }
public DateTime? Completed { get; set; }
public string Status { get; set; }
public string Comments { get; set; }
}
static void Main(string[] args)
{
var source = new List<Record> {
new Record {
Status = "Success",
Version = "enhance",
Started = DateTime.Parse("2017-11-15 13:27:56.9933333"),
Completed = DateTime.Parse("2017-11-15 13:27:57.7300000"),
Vrm = "16aux",
Comments = "Completed Successfully"
}
};
var month = DateTime.UtcNow.Month;
var year = DateTime.UtcNow.Year;
var fileName = $"TestFile_{month}{year}.csv";
using (var sw = new StreamWriter(fileName))
{
var writer = new CsvWriter(sw);
try
{
writer.WriteHeader<Record>();
foreach (var record in source)
{
writer.WriteField(record.Vrm);
writer.WriteField(record.Version);
writer.WriteField(record.Started);
writer.WriteField(record.Completed);
writer.WriteField(record.Status);
writer.WriteField(record.Comments);
writer.NextRecord();
}
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
var i = sw;
}
}
结果是这样的:
继续阅读 http://joshclose.github.io/CsvHelper/writing#writing-all-records
您需要在 writer.WriteHeader<Record>();
之后调用 writer.NextRecord();
使作者前进一行。
您也可以使用 csv.WriteRecords( records );
而不是对它们进行 foreaching
一次简单地写入所有数据
我一直在尝试使用 csv 助手创建一个简单的 csv 文件。但是,我得到的结果并不是我所期望的。 由于某些我找不到的原因,第一个值向右移动并显示为 header.
有人能指出我做错了什么吗?
public class Record
{
public string Vrm { get; set; }
public string Version { get; set; }
public DateTime Started { get; set; }
public DateTime? Completed { get; set; }
public string Status { get; set; }
public string Comments { get; set; }
}
static void Main(string[] args)
{
var source = new List<Record> {
new Record {
Status = "Success",
Version = "enhance",
Started = DateTime.Parse("2017-11-15 13:27:56.9933333"),
Completed = DateTime.Parse("2017-11-15 13:27:57.7300000"),
Vrm = "16aux",
Comments = "Completed Successfully"
}
};
var month = DateTime.UtcNow.Month;
var year = DateTime.UtcNow.Year;
var fileName = $"TestFile_{month}{year}.csv";
using (var sw = new StreamWriter(fileName))
{
var writer = new CsvWriter(sw);
try
{
writer.WriteHeader<Record>();
foreach (var record in source)
{
writer.WriteField(record.Vrm);
writer.WriteField(record.Version);
writer.WriteField(record.Started);
writer.WriteField(record.Completed);
writer.WriteField(record.Status);
writer.WriteField(record.Comments);
writer.NextRecord();
}
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
var i = sw;
}
}
结果是这样的:
继续阅读 http://joshclose.github.io/CsvHelper/writing#writing-all-records
您需要在 writer.WriteHeader<Record>();
之后调用 writer.NextRecord();
使作者前进一行。
您也可以使用 csv.WriteRecords( records );
而不是对它们进行 foreaching