我已经使用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));
我会得到一个显示我的数据的浏览器窗口。