C# CSVWriter 如何避免在将所有行写入文件结束时出现空行

本文关键字:结束 文件 何避免 CSVWriter | 更新日期: 2023-09-27 17:56:23

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

如何使用 LinqtoCsv 或 C# 中更好的方法创建带有页眉和页脚的 csv

但是由于某种原因,我在最后创建了一个空行。谁能帮助我做错了什么,或者我怎样才能避免得到一个空行?

以下是使用 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}"
            });
        }

当我在记事本++中打开文件时,我可以在末尾看到一个空行。

感谢这方面的帮助。

谢谢

C# CSVWriter 如何避免在将所有行写入文件结束时出现空行

你可以做

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}"
});