用GridViewt生成如下图的表格

解决方案 »

  1.   

    用GridViewt生成如下图的表格
    现在我的代码是
    GridView gridview = new GridView();
                    gridview.DataSource = dt;
                    gridview.DataBind();
                    string filename = LevelSupBaseInfoDropDownList.SelectedItem.Text;
                    Response.Clear();
                    Response.Buffer = true;
                    Response.Charset = "GB2312";
                    Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlPathEncode(filename + ".xls"));
                    Response.ContentEncoding = System.Text.Encoding.UTF7;
                    Response.ContentType = "application/ms-excel";
                    System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
                    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
                    gridview.RenderControl(oHtmlTextWriter);
                    Response.Output.Write(oStringWriter.ToString());
                    Response.Flush();
                    Response.End();
    dt是数据库读出来有表,
    现在的问题就无法在表格的前面添加一行文字
    编号:   F0001                                         日期:22009-01-01    
    现在我已经可以生成这样的表:
      

  2.   

    在GridView上面加一个Label,使Label.Text="编号:F0001";
      

  3.   


    GridView gridview = new GridView(); 
    我的gridview 是new  出来了!
    就算是拉一个GridView进来,
    GridView上面加一个Label,
    怎么加法啦!他输出的表格怎么有呢,帖下代码行不!
    如果引用 EXCEL,COM组件 这类的组件 是可以实现,可是我现在不想引用,因为服务上没有安有Microsoft Office
      

  4.   

    楼主这好象不难哦!!如果"编号:F0001"是静态的就如以下代码:
        <form id="form1" runat="server">
            <asp:Label ID="Label1" runat="server" Text="编号:F0001"></asp:Label><br />
            <asp:GridView ID="GridView1" runat="server">
            </asp:GridView>
        </form>
      

  5.   

    导出时可通excel模板实现.按照单元格设置值。第二行为列号。
    在页面通过label等显示编号和日期。gridview绑定数据
      

  6.   

    .cs 
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) 

    switch (e.Row.RowType) 

    case DataControlRowType.Header: 
    //第1行表头 
    TableCellCollection tcHeader = e.Row.Cells; 
    tcHeader.Clear(); 
    tcHeader.Add(new TableHeaderCell()); 
    tcHeader[0].Attributes.Add("colspan", "6"); //跨Column 
    tcHeader[0].Attributes.Add("bgcolor", "white"); 
    tcHeader[0].Text = "编号:F0001 日期:2009-01-0</th></tr<tr>"; //第2行表头 
    tcHeader.Add(new TableHeaderCell()); tcHeader[1].Text = "序号"; 
    tcHeader.Add(new TableHeaderCell()); 
    tcHeader[2].Attributes.Add("bgcolor", "Khaki"); 
    tcHeader[2].Text = "姓名"; 
    tcHeader.Add(new TableHeaderCell()); 
    tcHeader[3].Attributes.Add("bgcolor", "Khaki"); 
    tcHeader[3].Text = "性别"; 
    tcHeader.Add(new TableHeaderCell()); 
    tcHeader[4].Attributes.Add("bgcolor", "Khaki"); 
    tcHeader[4].Text = "身高"; 
    tcHeader.Add(new TableHeaderCell()); 
    tcHeader[5].Attributes.Add("bgcolor", "Khaki"); 
    tcHeader[5].Text = "**"; 
    tcHeader.Add(new TableHeaderCell()); 
    tcHeader[6].Attributes.Add("bgcolor", "Khaki"); 
    tcHeader[6].Text = "**"; 
    break; 


    .aspx 
    <asp:GridView ID="GridView1" runat="server" OnRowCreated="GridView1_RowCreated" ></asp:GridView> 以是我的解决办法