【问题标题】:LinqToCsv - not all the rows are written to the fileLinqToCsv - 并非所有行都写入文件
【发布时间】:2016-05-25 19:51:01
【问题描述】:

我正在使用 LinqToCsv 将数据写入 CSV 文件。 我有一个包含 8 条记录的对象列表,但是,当我将 csv 写入 MemoryStream 然后写入磁盘时,它只写入其中的 7 条。代码如下

var csvClaims = GetCSVClaims(webUser, searchString, isReferenceSearch);
CsvContext cc = new CsvContext();
CsvFileDescription outputFileDesc = new CsvFileDescription
{
   SeparatorChar = ',',
   FirstLineHasColumnNames = true
};
MemoryStream memStream = new MemoryStream();
TextWriter tw = new StreamWriter(memStream);
cc.Write(csvClaims, tw, outputFileDesc);
return memStream.ToArray();

我不确定我错过了什么。任何帮助将不胜感激。 我没有在这里添加 CSVClaims 类,因为它很大,但如果需要可以添加。

【问题讨论】:

标签: c# asp.net .net linqtocsv


【解决方案1】:

试试这个:

var csvClaims = GetCSVClaims(webUser, searchString, isReferenceSearch);
CsvContext cc = new CsvContext();
CsvFileDescription outputFileDesc = new CsvFileDescription
{
    SeparatorChar = ',',
    FirstLineHasColumnNames = true
};
using (var memStream = new MemoryStream())
{
    using (var tw = new StreamWriter(memStream))
    {
        cc.Write(csvClaims, tw, outputFileDesc);
        tw.Flush();
        return memStream.ToArray();
    }
}

您需要冲洗写入器并丢弃您的一次性用品。

【讨论】:

    猜你喜欢
    • 2017-03-16
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多