Mar*_*kus 5 c# csv exception csvhelper
我正在尝试使用 CsvHelper 将数据写入 CSV 文件。但是,我总是遇到以下异常:
CsvHelper.Configuration.ConfigurationException:“继承 IEnumerable 的类型无法自动映射。您是否不小心调用了作用于单个记录的 GetRecord 或 WriteRecord,而不是调用了作用于记录列表的 GetRecords 或 WriteRecords?”
这是我的代码(C#):
TextWriter outfile = new StreamWriter("blatest.csv");
List<string> test = new List<string>
{
"hello",
"world"
};
CsvWriter csv = new CsvWriter(outfile);
csv.WriteRecords(test);
Run Code Online (Sandbox Code Playgroud)
我想将 aList<string>或(理想情况下)aList<Dictionary<string, string>>写入 CSV。正确的代码是什么?以及如何设置标题行?
任何帮助表示赞赏。我真的无法理解这个问题。
对于错误,这是因为string实现IEnumerable(因为它是 char[])。通常使用WriteRecords您传入一个IEnumerable自定义对象。
您可以尝试另一种方式(示例)
using(var stream = new MemoryStream())
using(var reader = new StreamReader(stream))
using(var writer = new StreamWriter(stream))
using(var csvWriter = new CsvHelper.CsvWriter(writer))
{
//csvWriter.Configuration.HasHeaderRecord = false;
foreach( var s in test)
{
csvWriter.WriteField(s);
}
writer.Flush();
stream.Position = 0;
reader.ReadToEnd(); //dump it where you want
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6040 次 |
| 最近记录: |