【发布时间】:2013-03-15 15:36:35
【问题描述】:
我已使用 System.Text.Encoding.ASCII.GetString(ms.ToArray)); 验证我的内存流具有预期的数据。
但是,使用 LinqToCSV nuget 库不会生成我的 csv 文件。我没有抛出任何错误或异常。当系统提示我打开文件时,我只是得到一个空文件。
这是我的操作方法
public FileStreamResult Export(){
var results = _service.GetProperties().Take(3);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.IO.TextWriter txt = new System.IO.StreamWriter(ms);
CsvFileDescription inputFileDescription = new CsvFileDescription{
SeparatorChar =',',
FirstLineHasColumnNames = true
}
;
CsvContext csv = new CsvContext();
csv.Write(results,txt,inputFileDescription);
return File(ms , "application/x-excel");
}
我觉得很有趣,如果我将返回类型更改为 contentResult,并将返回方法更改为 Content() 并将其传递给 System.Text.Encoding.ASCII.GetString(ms.ToArray));,我确实会看到一个显示我的数据的浏览器窗口。
【问题讨论】:
标签: linq asp.net-mvc-4 memorystream