Я проверил с помощью System.Text.Encoding.ASCII.GetString(ms.ToArray));
, что в моем потоке памяти есть ожидаемые данные.
Однако использование библиотеки nuget LinqToCSV не приведет к созданию моего 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));
, я получу окно браузера, показывающее мои данные.