Repeter和GridView的数据导出到EXCEL表格中

来源:互联网 发布:linux显示环境变量的值 编辑:程序博客网 时间:2024/05/21 17:50

注:

Repeter:

当在Repeter:的ItemTemplate中有循环的按钮以及一些控件时,

在导出之前,应当禁用掉,否则会出现错误!

 

解决方法 :利用循环Repeater1来找出要禁用掉的按钮

  for (int i = 0; i < Repeater1.Items.Count; i++)
                {
                    if (i == 0){

//这是Repeater1的HeaderTemplate里面的按钮禁用方式
                        ((CheckBox)Repeater1.Controls[0].FindControl("chkAllss")).Visible = false;

}

//这是Repeater1的ItemTemplate里面按钮禁用方式

                    LinkButton btn = (Repeater1.Items[i].FindControl("Auditing") as LinkButton);
                    btn.Visible = false;
                   ((CheckBox)Repeater1.Items[i].FindControl("chkOne")).Visible = false;
                }

 

GridView:

GridView就简单多了,只要在导出之前把CLOUMN里面的按钮禁用就OK了

比如:GridView.Columns[8].Visible = false;

 

在导出的同时,有时候也要设置下格式,像22222222222,3333333333333,这些数据在导入EXCEL表格中

就会发生改变,变成22D+1,之类的,

要解决也很简单

首先repeter:

像这样些: <td style="vnd.ms-excel.numberformat:@">设置样式为文本格式

而GridView

像这样:

在页面加载GridView数据的同时触发一个OnRowDataBound 的事件

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Cells[2].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
            }
        }

设置下就OK了,

 


在导入数据的同时,设置导入的格式:比如:

支持的格式。下面就列出常用的一些格式:

1) 文本:vnd.ms-excel.numberformat:@

2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd

3) 数字:vnd.ms-excel.numberformat:#,##0.00

4) 货币:vnd.ms-excel.numberformat:¥#,##0.00

5) 百分比:vnd.ms-excel.numberformat: #0.00%

 

 

具体导出代码如下:

 

  /// <summary>
        /// 导出Excel函数
        /// </summary>
        /// <param name="FileType">application/ms-excel</param>
        /// <param name="FileName">导出的表名</param>
        private void Export(string FileType, string FileName)
        {
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
            Response.ContentType = FileType;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            this.EnableViewState = false;

//这里绑定数据,在禁用掉按钮就OK了

 RepeterProduct.RenderControl(hw);

   Response.Write(tw.ToString());
            Response.End();

 

}

 

 

 

 

希望我的这些经验可以对你们有用,给点分吧

 

原创粉丝点击