4

CSVHelpernuGet パッケージを使用して csv ファイルを作成しようとしています

これがコードです

public ActionResult Test()
{
    var ms = new MemoryStream();
    var sr = new StreamWriter(ms);
    var csv = new CsvWriter(sr);

    csv.WriteField("sd");
    csv.WriteField("sd");
    csv.WriteField("sd");
    csv.WriteField("sd");

    //ms.Seek(0, 0);
    sr.Flush();
    //ms.Position = 0;
    var len = ms.Length;

    return File(ms, "text/csv", "test.csv");
}

ただし、ファイルは常に空白です

StreamWriterここで、フラッシュする必要があることを示唆するいくつかの質問を読みました。位置は0に移動しました。しかし、私はそれを試しましたが、うまくいかないようです

usingのステートメントでMemoryStreamも同じことをStreamWriter試しCSVWriter ましたが、これらすべてを試しましたが、まだ空白です

さらに、 の長さMemoryStreamは常にゼロです

私は何を間違っていますか?

4

3 に答える 3

2

それを理解しました-ストリームの代わりにバイト配列を FileContentResult に渡す必要がありました:

return File(ms.ToArray(), "text/csv", "test.csv");
于 2014-06-30T11:44:19.087 に答える