C# 当源数据表包含少于12行时,CsvHelper CsvWriter为空

C# 当源数据表包含少于12行时,CsvHelper CsvWriter为空,c#,stream,csvhelper,C#,Stream,Csvhelper,当写入流时(也可能是其他目的地),如果我的数据表包含少于12行,CsvHelper不会返回任何内容。我测试了逐个添加行,直到在字符串myCsvAsString变量中得到结果 有人遇到过这个问题吗?下面是我用来复制它的代码: var stream = new MemoryStream(); using (var writer = new StreamWriter(stream)) using (var csvWriter = new CsvWrit

当写入流时(也可能是其他目的地),如果我的数据表包含少于12行,CsvHelper不会返回任何内容。我测试了逐个添加行,直到在字符串myCsvAsString变量中得到结果

有人遇到过这个问题吗?下面是我用来复制它的代码:

        var stream = new MemoryStream();

        using (var writer = new StreamWriter(stream))
        using (var csvWriter = new CsvWriter(writer, CultureInfo.InvariantCulture))
        {
            if (includeHeaders)
            {
                foreach (DataColumn column in dataTable.Columns)
                {
                    csvWriter.WriteField(column.ColumnName);
                }

                csvWriter.NextRecord();
            }

            foreach (DataRow row in dataTable.Rows)
            {
                for (var i = 0; i < dataTable.Columns.Count; i++)
                {
                    csvWriter.WriteField(row[i]);
                }

                csvWriter.NextRecord();
            }

            csvWriter.Flush();
            stream.Position = 0;
            StreamReader reader = new StreamReader(stream);
            string myCsvAsString = reader.ReadToEnd();
         }
var-stream=newmemoryStream();
使用(var writer=新的StreamWriter(流))
使用(var csvWriter=new csvWriter(writer,CultureInfo.InvariantCulture))
{
如果(包括领导)
{
foreach(dataTable.Columns中的DataColumn列)
{
csvWriter.WriteField(column.ColumnName);
}
csvWriter.NextRecord();
}
foreach(dataTable.Rows中的DataRow行)
{
对于(var i=0;i
好的,我发现了问题,我正在刷新csvWriter,但没有刷新StreamWriter


我在csvWriter.Flush()之后添加了writer.Flush(),流就完成了。

好的,我发现了问题,我正在刷新csvWriter,但没有刷新StreamWriter

我在csvWriter.Flush()之后添加了writer.Flush(),流就完成了