返回首页

我生成一个表,通过CS页面click事件。
我很感兴趣出口动态生成一个Excel文件,表,
任何人都可以帮忙!
任何想法!请大家帮忙!

即使谷歌反刍NT解决:ðprblm
所有soltion提供了DataGrid的BT我havnt使用,
我的代码去生成表是这样的:

protected void Button1_Click(object sender, EventArgs e)

    {

 Response.Write("<table width="100%" height="210">");

 

        Response.Write("<tr bgcolor="#D1D7B5">"); // start: display header

        Response.Write("<td valign="top" width="50px">");

        Response.Write("<center>");

        Response.Write("<font size="4" color="#444444">");

        Response.Write("");

        Response.Write("");

        Response.Write("");

        Response.Write("</font>");

        Response.Write("</center>");

        Response.Write("</td>");

 

        Response.Write("<td valign="top" width="130px">");

        Response.Write("<font size="3" color="#444444">");

        Response.Write("");

        Response.Write(" ");

        Response.Write("Grand Total");

        Response.Write("");

        Response.Write("</font>");

        Response.Write("</td>");

 

               da2 = new SqlDataAdapter(years, connec);

        dt2 = new DataTable();

        da2.Fill(dt2);

 

        for (int j = 0; j < dt2.Rows.Count; j++)

        {

            if (yyyy1 == yyyy2)

            {

                str2 = findvalue("select count(CaseStatus) as CaseStatus1 from PROPOSAL  where    CaseStatus='" + cases + "'and datefinal between'" + strtdate + "'and'" + enddate + "'");

                if (str2 == "0")

                {

                    str3 = "0";

                }

                else

                {

 

                    str3 = findvalue("select sum(AreaDiverted) as AreaDiverted from PROPOSAL where    CaseStatus='" + cases + "'and datefinal between'" + strtdate + "'and'" + enddate + "'");

                }                    //strtdate = clm1;

            }

            else

            {

                nxtend = dt1.Rows[j][0].ToString() + "/12/31";

                str2 = findvalue("select count(CaseStatus) as CaseStatus1 from PROPOSAL  where    CaseStatus='" + cases + "'and datefinal between'" + strtdate + "'and'" + nxtend + "'");

 

                if (str2 == "0")

                {

                    str3 = "0";

                }

                else

                {

 

                    str3 = findvalue("select sum(AreaDiverted) as AreaDiverted from PROPOSAL where    CaseStatus='" + cases + "'and datefinal between'" + strtdate + "'and'" + nxtend + "'");

 

                }

                if (j + 1 != dt1.Rows.Count)

                {

                    strtdate = dt1.Rows[j + 1][0].ToString() + "/01/01";

                }

                yyyy1 = Convert.ToString(Convert.ToInt16(yyyy1) + 1);

            }

 

            Response.Write("<td align="center" width="7%>");<br" mode="hold" />            Response.Write("<center>");

            Response.Write("<font size="3" color="#444444">");

            Response.Write("");

            Response.Write(str2);

            Response.Write("");

            Response.Write("</font>");

            Response.Write("</center>");

            Response.Write("");

 

            Response.Write("<td valign="top" width="7%">");

            Response.Write("<center>");

            Response.Write("<font size="3" color="#444444">");

            Response.Write("");

            Response.Write(str3);

            Response.Write("");

            Response.Write("</font></center>");

            Response.Write("");

            Response.Write("</td>");

        }

 

  //Response.Write("");

 

        Response.Write("</tr>");

 



       //Response.Write(""); //end line

        Response.Write("</table>");

        Response.Write("       // Response.Write("</body>");

        // Response.Write("</html>");

 

    }

回答

评论会员:OriginalGriff 时间:2012/02/06
议员谷歌可以帮助:

请尝试至少做一个基本的搜索,您张贴问题之前,或者你只是浪费你的时间和我们
评论会员:游客 时间:2012/02/06
Prera​​k帕特尔
{A1}]
评论会员:游客 时间:2012/02/06
Prashant塔瓦LKO:试试这个代码,然后告诉我{C}在你的Page指令中使用这个属性,因为有时它赋予错误没有这个属性EnableEventValidation="假"[编辑]代码被包裹在"前"的标签[/编辑]
RaviRanjankr:嗨伙计,
试试这个代码来纠正你的问题,使任何ü已存储在ViewState中,然后将它转换功能存储UR dt或DS

所示的代码

public void fillgrid()

    {

        DataTable dt = new DataTable();

        dt = Employee.selectgrid();

        grdArea.DataSource = dt;

        grdArea.DataBind();

    }

 

 public void convertexcel()

    {

            try

            {

                Response.Clear();

                // ExportGridExel();

                GridView grdExcel = new GridView();

                grdExcel.AutoGenerateColumns = true;

                DataTable dtExcel = (DataTable)ViewState["viewRecordEX"];

                grdExcel.DataSource = (DataTable)ViewState["viewRecordEX"];

                grdExcel.DataBind();

                //Set the content type to Excel.

                grdExcel.AllowPaging = false;

                

                //Set the content type to Excel.

                Response.ContentType = "application/excel";   //ViewofEmployeeMaster.ms-excel

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

                //Remove the charset from the Content-Type header.

                Response.Charset = "";

                //Turn off the view state.

                this.EnableViewState = false;

                System.IO.StringWriter tw = new System.IO.StringWriter();

                System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);

                //code written for excel 

                HtmlForm frm = new HtmlForm();

                frm.Attributes.Add("ID", "frm");  // form1   //frm1

                frm.Attributes.Add("runat", "Server");

 



                GridViewRow row1 = new GridViewRow(0, -1, DataControlRowType.Header, DataControlRowState.Normal);

                TableCell rowheader1 = new TableHeaderCell();

                rowheader1.Text = "EMPLOYEE MASTER RECORDS";

               //rowheader1.BorderWidth = 0;

                rowheader1.ColumnSpan = 12;

                rowheader1.Font.Size = 20;

                rowheader1.HorizontalAlign = HorizontalAlign.Left;

                row1.Cells.Add(rowheader1);

                Table t1 = grdExcel.Controls[0] as Table;

                if (t1 != null)

                {

                    t1.Rows.AddAt(0, row1);

                }

                ////Add  Header Text

                //GridViewRow row = new GridViewRow(1, -1, DataControlRowType.Header, DataControlRowState.Normal);

                //TableCell totals = new TableCell();

                ////  totals.ColumnSpan = 18;

                //totals.Text = ViewState["empname"].ToString() + " - " + ddlSubQruery.SelectedItem.Text;

                //totals.BorderWidth = 0;

                //totals.HorizontalAlign = HorizontalAlign.Center;

                //totals.ColumnSpan = 8;

                //row.Cells.Add(totals);

                //Table t = gvViewRecordEmp.Controls[0] as Table;

                //if (t != null)

                //{

                //    t.Rows.AddAt(1, row);

                //}

                //Add Blank Row

                GridViewRow rowblk5 = new GridViewRow(0, -1, DataControlRowType.Header, DataControlRowState.Normal);

                TableCell tblblnk5 = new TableCell();  //TableHeaderCell()

                tblblnk5.BorderWidth = 0; 

                //tblblnk.ColumnSpan = 18;

                rowblk5.Cells.Add(tblblnk5);

                Table tblk5 = grdExcel.Controls[0] as Table;

                if (tblk5 != null)

                {

                    tblk5.Rows.AddAt(1, rowblk5);

                }

                //Add Blank Header

                //GridViewRow rowblk = new GridViewRow(2, -1, DataControlRowType.Header, DataControlRowState.Normal);

                //TableCell tblblnk = new TableHeaderCell();

                //tblblnk.BorderWidth = 0;

                //tblblnk.ColumnSpan = 18;

                //rowblk.Cells.Add(tblblnk);

                //Table tblk = grdArea.Controls[0] as Table;

                //if (tblk != null)

                //{

                //    tblk.Rows.AddAt(2, rowblk);

                //}

                frm.Controls.Add(grdExcel);

                // gvViewRecordEmp.Columns[6].Visible = false;

                //  gvViewRecordEmp.Columns[5].Visible = false;

                //end code

                //Get the HTML for the control.

                grdExcel.RenderControl(hw);

                //Write the HTML back to the browser.

                Response.Write(tw.ToString());

                //End the response.

                Response.End();

            }

            catch (Exception ex)

            {

                throw ex;

 

            }

        }
评论会员:Prashant塔瓦LKO 时间:2012/02/06
{A2的}]难以置信......第一检索词链接..
评论会员:马库斯・克雷默 时间:2012/02/06
RKnGl非常感谢....我会尽量给你的代码.. THX