当前位置: 代码迷 >> ASP.NET >> 将数据从datagridview中导出到excel中,导出完毕后自动保存到给定的路径中。该怎么处理
  详细解决方案

将数据从datagridview中导出到excel中,导出完毕后自动保存到给定的路径中。该怎么处理

热度:2213   发布时间:2013-02-25 00:00:00.0
将数据从datagridview中导出到excel中,导出完毕后自动保存到给定的路径中。
当导出完毕后自动保存到给定的路径中。
请问如何实现?


------解决方案--------------------------------------------------------
C# code
Response.Clear();        Response.Buffer = true;        Response.Charset = "UTF-8";        Response.AppendHeader("Content-Disposition", "attachment;filename=UploadTenantFailure.xls");        Response.ContentEncoding = System.Text.Encoding.UTF8;        Response.ContentType = "application/ms-excel";         System.IO.StringWriter oStringWriter = new System.IO.StringWriter();        HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);        this.gvBusinessList.RenderControl(oHtmlTextWriter);        Response.Output.Write(oStringWriter.ToString());        Response.Flush();        Response.End();public override void VerifyRenderingInServerForm(Control control)    {        // base.VerifyRenderingInServerForm(control);    }
------解决方案--------------------------------------------------------
Response.Clear();
Response.Buffer = true;
Response.Charset = "gb2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=users.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=gb2312>"); 
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
------解决方案--------------------------------------------------------
导出EXCEL
C# code
/// <summary>    /// 导出Excel    /// </summary>    /// <param name="dgExport">要导出的GridView</param>    /// <param name="dtData">导出的数据源</param>    public static void Export(GridView dgExport, DataTable dtData)    {        System.Web.HttpContext curContext = System.Web.HttpContext.Current;        // IO用于导出并返回excel文件         System.IO.StringWriter strWriter = null;        System.Web.UI.HtmlTextWriter htmlWriter = null;        if (dtData != null)        {            // 设置编码和附件格式             curContext.Response.Clear();            curContext.Response.ClearContent();            curContext.Response.Buffer = true;            curContext.Response.ContentType = "application/vnd.ms-excel";            curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");//utf-7可以解决一定问题            curContext.Response.Charset = "GB2312";            curContext.Response.AppendHeader("content-disposition", "filename=\"" + System.Web.HttpUtility.UrlEncode(dtData.TableName, System.Text.Encoding.UTF8) + ".xls\"");            // 导出excel文件             strWriter = new System.IO.StringWriter();            htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);            HtmlForm frm = new HtmlForm();            frm.Attributes["runat"] = "server";            frm.Controls.Add(dgExport);            dgExport.DataSource = dtData.DefaultView;            dgExport.DataBind();            // 返回客户端             dgExport.RenderControl(htmlWriter);            curContext.Response.Write(strWriter.ToString());            curContext.Response.End();        }    }
------解决方案--------------------------------------------------------
保存在服务器端:
HTML code
<input id="fileExcel" runat="server" type="file" />
------解决方案--------------------------------------------------------
  相关解决方案