2012-02-23 10 views
1

ASP.net Webフォームでは、コンテンツタイプを 'application/vnd.ms-excel'に設定してブラウザにExcelのテーブルを読み込ませるコードを書いていましたが、うまく機能しました。さて、私はネットでこれを行うための最善の方法を見つけることを試みています。ASP.net MVC 3 FileStreamResultを使用して.netコードで生成されたテキストを返す方法

私はこのようになりますいくつかの.NETコードを書いている:

public FileStreamResult TaskforceDetailExcelData(string taskforceIdsCommaSeparated) 
{ 
    System.IO.MemoryStream ms = new System.IO.MemoryStream(); 
    System.IO.StreamWriter sw = new System.IO.StreamWriter(ms); 
    sw.Write("<html><head></head><body><table>...</table></body></html>"); 
    return new FileStreamResult(ms, "application/vnd.ms-excel"); 
} 
結果は、私は、ブラウザで次の取得ということです

:私が何をする必要がありますどのような

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML><HEAD> 
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD> 
<BODY></BODY></HTML> 

私のテーブルをExcelの応答タイプでブラウザに表示させますか?

答えて

0

このコードを試してください。 (テストされていませんが、テキスト/ csv MIMEタイプの場合と似ています)

public FileResult Export() 
{ 
    var csv = "<html><head></head><body><table>...</table></body></html>"; 
    System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); 
    byte[] result = encoding.GetBytes(csv); 
    return File(result, "application/vnd.ms-excel", "segnalazioni.csv"); 
} 
関連する問題