C#CSVWriter如何避免在将所有行写入文件的末尾获取空行

时间:2016-07-11 11:31:00

标签: c# csvhelper

我使用CSVWriter使用以下链接写入csv:

How to create csv with header and footer using LinqtoCsv or anything better in C#

但由于某种原因,我在最后创建了一个空行。任何人都可以帮助我,我做错了什么,或者我怎么能避免空洞?

以下是使用csvwriter创建csv的代码:

        using (var writer = File.AppendText(outputCsv))
        {
            var csv = new CsvWriter(writer);
            csv.Configuration.RegisterClassMap<CustomMap>();
            csv.Configuration.HasHeaderRecord = true;
            csv.Configuration.QuoteNoFields = true;
            csv.Configuration.Delimiter = "|";

            csv.WriteRecords(asRunLogs.ToList());
            csv.WriteRecord(new CSVFooterRecord()
            {
                FooterText =
                    $"TRAILER:{"qsaam_promos.csv"}|{DateTime.Now.ToString("ddMMyyHHmm")}|{asRunLogs.Count}"
            });
        }

当我在Notepad ++中打开文件时,我可以在最后看到一个空行。

对此表示感谢。

由于

1 个答案:

答案 0 :(得分:2)

你可以做到

writer.Write($"TRAILER:{"qsaam_promos.csv"}|{DateTime.Now.ToString("ddMMyyHHmm")}|{asRunLogs.Count}");
writer.Flush();

而不是

csv.WriteRecord(new CSVFooterRecord()
{
    FooterText =
        $"TRAILER:{"qsaam_promos.csv"}|{DateTime.Now.ToString("ddMMyyHHmm")}|{asRunLogs.Count}"
});