Gridview到Excel文件 - 保存输出而不是显示它

时间:2015-08-24 13:24:34

标签: c# asp.net gridview

我在下面有这个代码,它接受我的GridView,填充它,并在我的浏览器中生成并打开带有griddata的Excel文件。

如果我想将该文件直接保存到我的服务器或将其附加到电子邮件中,而不是自动弹出的显示提示,该怎么办。

我可以通过对脚本进行少量修改来实现吗?

protected void btnExcelExport_Click(object sender, EventArgs e) 
{ 
    HtmlForm form = new HtmlForm(); 

    Response.Clear(); 
    Response.Buffer = true; 
    Response.Charset = ""; 
    Response.AddHeader("content-disposition", string.Format("attachment;filename={0}", "Student.xls")); 
    Response.ContentType = "application/ms-excel"; 

    StringWriter sw = new StringWriter(); 
    HtmlTextWriter hw = new HtmlTextWriter(sw); 

    GridView1.AllowPaging = false; 
    BindGridDetails(GridView1); 

    form.Attributes["runat"] = "server"; 
    form.Controls.Add(GridView1); 
    this.Controls.Add(form); 
    form.RenderControl(hw); 

    string style = @"<!--mce:2-->"; 
    Response.Write(style); 
    Response.Output.Write(sw.ToString()); 
    Response.Flush(); 
    Response.End(); 
}

1 个答案:

答案 0 :(得分:0)

您可以将网格数据保存为服务器上的逗号分隔值文件并通过电子邮件发送或直接保存在服务器上。 可以使用Excel打开CSV文件。