asp页面如何弹出保存和打开Excel文件的对话框???
我是想在asp页面中单击导出按钮的时候我就可以把Dataset中的数据导出来,然后就可以打开或者保存,求大哥们尽量给代码咯
[解决办法]
参考:
public void ExportResult(DataTable dt, string excelName)
{
Response.Clear();
Response.Charset = "";
Response.ContentType = "applicationnd.ms-xls";
StringWriter sw = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(sw);
DataGrid dg = new DataGrid();
dg.DataSource = dt;
dg.DataBind();
dg.RenderControl(htmlWrite);
Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(excelName));
Response.Write(sw.ToString());
Response.End();
}
/// <summary>
/// 导出Excel
/// </summary>
protected void btn_exl_Click(object sender, EventArgs e)
{
ToExcel();
}
//必须有 不然会出错
public override void VerifyRenderingInServerForm(Control control)
{
}
public void ToExcel()//整个GRIDVIEW导出到EXCEL
{
gvSoft.Columns[0].Visible = false;
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("决算完成【" + DateTime.Now.ToString("yyyy-MM-dd") + "】.xls", System.Text.Encoding.UTF8));
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
int row = gvSoft.Columns.Count;
//关闭控件的视图状态
gvSoft.Page.EnableViewState = false;
//初始化HtmlWriter
System.IO.StringWriter writer = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
gvSoft.RenderControl(htmlWriter);
//输出
HttpContext.Current.Response.Write(writer.ToString());
HttpContext.Current.Response.End();
}