分享

将DataSet导出为Excel- 种子张 - 新浪BLOG

 荷露叮咚 2007-06-22

protected void barExport_ButtonClicked(object sender, Infragistics.WebUI.UltraWebToolbar.ButtonEvent be)
    {
        if (be.Button.Key == "One")
        {
            DataSet ds = (DataSet)ViewState["DataSet"];
            System.Data.DataTable t = new System.Data.DataTable();
            t.TableName = "线路信息查询";

            t.Columns.Add("投运单位");
            t.Columns.Add("线路名称");
            t.Columns.Add("线路长度(KM)");
            t.Columns.Add("投运日期");
            t.Columns.Add("电压等级(kV)");
            t.Columns.Add("总杆塔数");
            if (ds == null || ds.Tables[0].Rows.Count < 1)
            {
                return;
            }
            else
            {
              
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    DataRow r = t.NewRow();
                    DataRow r2 = ds.Tables[0].Rows[i];

                    r["投运单位"] = r2["BUILDUNIT"];
                    r["线路名称"] = r2["NAME"];
                    r["线路长度(KM)"] = r2["LENGTH"];
                   
                    r["投运日期"] = DateTime.Parse(r2["LAUNCHDATE"].ToString()).ToString("yyyy-MM-dd");

                    r["电压等级(kV)"] = r2["VOLTAGELEVEL.code_name"];
                    r["总杆塔数"] = r2["POLECOUNT"];

                    t.Rows.Add(r);
                }
                GetExcel(t);
            }
        }
    }


public void GetExcel( System.Data.DataTable dtData )
    {
        System.Web.UI.WebControls.GridView dgExport = null;
        // 当前对话
        System.Web.HttpContext curContext = System.Web.HttpContext.Current;
        // IO用于导出并返回excel文件
        System.IO.StringWriter strWriter = null;
        System.Web.UI.HtmlTextWriter htmlWriter = null;

        if ( dtData != null )
        {
            // 设置编码和附件格式
            System.Web.HttpContext.Current.Response.Clear();
            System.Web.HttpContext.Current.Response.HeaderEncoding = System.Text.Encoding.GetEncoding("gb2312");

            curContext.Response.ContentType = "application/vnd.ms-excel";
            curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + dtData.TableName + DateTime.Today.ToShortDateString() + ".xls"); //定义输出文件和文件名
            curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;

            System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;

            curContext.Response.Charset = "";

            // 导出excel文件
            strWriter = new System.IO.StringWriter();
            htmlWriter = new System.Web.UI.HtmlTextWriter( strWriter );

            dgExport = new System.Web.UI.WebControls.GridView();
            dgExport.DataSource = dtData.DefaultView;
            dgExport.AllowPaging = false;
            dgExport.DataBind();

            dgExport.RenderControl( htmlWriter );
            curContext.Response.Write( strWriter.ToString() );
            curContext.Response.End();
        }

    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多