首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-02-16 
将数据从datagridview中导出到excel中,导出完毕后自动保存到给定的路径中。当导出完毕后自动保存到给定的路

将数据从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" />
------解决方案--------------------


C# code
  /// <summary>        /// 将DataGrid数据导入到Excel        /// </summary>        /// <param name="gv">GridView控件</param>        /// <param name="strFileName">文件名</param>        /// <returns></returns>        public static void ImportExcel(System.Web.UI.WebControls.GridView gv, string strFileName)        {            System.Web.HttpContext obj = System.Web.HttpContext.Current;            obj.Response.Clear();            obj.Response.Buffer = true;            //obj.Response.Charset="GB2312";             obj.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls");            obj.Response.ContentEncoding = System.Text.Encoding.UTF8;            obj.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。            obj.Response.ContentType = "application/vnd.ms-excel";            System.IO.StringWriter sw = new System.IO.StringWriter();            System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);            gv.RenderControl(htw);            obj.Response.Write(sw.ToString());            obj.Response.End();        } 

热点排行