GridView格式化导出Excel

来源:互联网 发布:宁波诺丁汉大学知乎 编辑:程序博客网 时间:2024/04/28 16:55

有时候需要按规则导出到Excel中,用模板的方法外,我提供一个简易的:

1 核心代码如下:

   /// <summary>
    
/// 导出到Excel
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void ButtonExcel_Click(object sender, EventArgs e)
    
{
        Response.ClearContent();

        Response.AddHeader(
"content-disposition""attachment; filename=ttt.xls");

        Response.ContentType 
= "application/excel";

        StringWriter sw 
= new StringWriter();

        HtmlTextWriter htw 
= new HtmlTextWriter(sw);
        
        GridViewXinXiLan.RenderControl(htw);
        Response.Write(sw);

        Response.Write(
"<table><tr><td>fdsa</td><td>,df</td></tr></table>");
        Response.Write(
"<font size=10 color=red>单位负责人:</font>");
        Response.Write(
"<p>  ");
        Response.Write(
"第二个测试  ");
        Response.Write(
"<br>");
        Response.Write(
"this is a test!");
        Response.Write(
"<br>");
        Response.Write(
"统计负责负责人:");

        Response.End();

    }


    
/// <summary>
    
/// 必须要的
    
/// </summary>
    
/// <param name="control"></param>

    public override void VerifyRenderingInServerForm(Control control)
    
{

    }

  Response.Write("<table><tr><td>单位负责人</td><td> </td><td>统计负责人:</td></tr></table>");

2 测试效果图

并且可以和表头设置相结合:

 

 protected void GridViewXinXiLan_RowCreated(object sender, GridViewRowEventArgs e)
    
{
          
switch (e.Row.RowType)
        
{
            
case DataControlRowType.Header:
                
//第一行表头
                TableCellCollection tcHeader = e.Row.Cells;
                tcHeader.Clear();
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
0].Attributes.Add("rowspan""3"); //跨Row
                tcHeader[0].Attributes.Add("bgcolor""white");
                tcHeader[
0].Text = "";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
1].Attributes.Add("bgcolor""Red");
                tcHeader[
1].Attributes.Add("colspan""6"); //跨Column
                tcHeader[1].Text = "全部信息</th></tr><tr>";

                
//第二行表头
                tcHeader.Add(new TableHeaderCell());
                tcHeader[
2].Attributes.Add("bgcolor""DarkSeaGreen");
                tcHeader[
2].Text = "身份证号码";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
3].Attributes.Add("bgcolor""LightSteelBlue");
                tcHeader[
3].Attributes.Add("colspan""2");
                tcHeader[
3].Text = "基本信息";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
4].Attributes.Add("bgcolor""DarkSeaGreen");
                tcHeader[
4].Text = "福利";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
5].Attributes.Add("bgcolor""LightSteelBlue");
                tcHeader[
5].Attributes.Add("colspan""2");
                tcHeader[
5].Text = "联系方式</th></tr><tr>";

                
//第三行表头
                tcHeader.Add(new TableHeaderCell());
                tcHeader[
6].Attributes.Add("bgcolor""Khaki");
                tcHeader[
6].Text = "身份证号码";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
7].Attributes.Add("bgcolor""Khaki");
                tcHeader[
7].Text = "姓名";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
8].Attributes.Add("bgcolor""Khaki");
                tcHeader[
8].Text = "出生日期";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
9].Attributes.Add("bgcolor""Khaki");
                tcHeader[
9].Text = "薪水";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
10].Attributes.Add("bgcolor""Khaki");
                tcHeader[
10].Text = "家庭住址";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
11].Attributes.Add("bgcolor""Khaki");
                tcHeader[
11].Text = "邮政编码";
                
break;
        }

    }

 

效果图:

原创粉丝点击