为什么我没有使用c#在我的asp.net应用程序中获取.csv文件?

时间:2012-11-15 12:18:53

标签: c# asp.net csv

我试图通过此代码点击按钮在客户端计算机上获取.csv文件:

Response.Clear();
    Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = "text/csv"; ;
    Response.ContentEncoding = System.Text.Encoding.Unicode;
    Response.AddHeader("Content-Disposition", "attachment; filename=WBS.csv");
    Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
    string output = "WBSCode,Description,TerritoryCode,Amount" + "\n";
    Response.Write(output);

问题是代码正在执行,但我没有在我的机器上获得.csv文件..问题是什么?我是第一次这样做

1 个答案:

答案 0 :(得分:4)

您需要创建一个通用处理程序(.ashx文件),它将csv作为响应发送。然后你的按钮只需要有一个.ashx的网址。下面是一些代码的处理程序示例。

public class GetCsvFile : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/csv";
        context.Response.AddHeader("Content-Disposition", "attachment; filename=WBS.csv");
        context.Response.Write("WBSCode,Description,TerritoryCode,Amount\n");
    }

    public bool IsReusable
    {
        get
        {
            return true;
        }
    }
}