CsvHelper写入一个空的第一行标题

时间:2017-03-21 08:16:48

标签: c# csv csvhelper

这是CsvHelper库记录的标准代码,用于在生成CSV文件时启用标题行

var dbAccounts = _dbcontext.Accounts.ToList();
            using (TextWriter textWriter = new StreamWriter(path, false, Encoding.GetEncoding(28591)))
            {
                using (var csvWriter = new CsvWriter(textWriter, _csvConfiguration))
                {
                    csvWriter.Configuration.RegisterClassMap<CsvMappedAccount>();

                    csvWriter.WriteHeader<CsvMappedAccount>(); 

                    foreach (var dbAccount in dbAccounts)
                    {
                        csvWriter.WriteRecord(dbAccount); 
                    } 

                    textWriter.Flush();
                }
            }

这是注册班级

 public sealed class CsvMappedAccount: CsvClassMap<Account>
    {
        public CsvMappedAccount()
        {
            Map(m => m.ID).Name("ID");
            Map(m => m.Name).Name("AccountName");
            Map(m => m.AccountNo).Name("AccountNo");
        }
    }

然而,第一行只是打印为空,而第二行打印实际记录就好了,虽然这行在上面的代码中是明确的

csvWriter.WriteHeader<CsvMappedAccount>(); 

我已经尝试过官方网站和文档,似乎没有这个问题,并且没有建议启用标题行打印的不同实现。

图书馆https://github.com/JoshClose/CsvHelper

0 个答案:

没有答案