从ASP.NET页面创建文件导出和保存

时间:2011-09-19 20:28:30

标签: c# asp.net

我有一个ASP.NET网页,其中包含用户数据的网格视图。我需要获取gridview中的数据,生成excel文件,并允许用户将该excel文件保存到本地计算机。

在代码中实现此目的的最佳方法是什么?是否可以显示文件保存对话框,然后在用户选择目录和文件名后从网格数据创建文件?我已经在软件开发方面做到了这一点,但从未在Web开发中处理过它。

由于

1 个答案:

答案 0 :(得分:5)

大多数人倾向于这样实现它:

protected void btnExportToExcel_Click(object sender, EventArgs e)    
{
        Response.Clear();
        Response.AddHeader("content-disposition", "attachment; filename=FileName.xls");

        Response.Charset = "";         
        Response.ContentType = "application/vnd.xls";
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();        
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
        GridView1.RenderControl(htmlWrite);        
        Response.Write(stringWrite.ToString());
        Response.End();
}

Source.

另一种选择(我更喜欢的是)使用EPPLus