日期:2014-05-17 浏览次数:20539 次
<%@ Page Language="C#" Debug="true" %> <%@ Import Namespace="System.Xml" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> public bool isExport = false; private System.Data.DataTable GetData() { System.Data.DataTable dt = new System.Data.DataTable(); System.Data.DataRow dr; dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String))); dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String))); dt.Columns.Add(new System.Data.DataColumn("语文", typeof(System.Decimal))); System.Random rd = new System.Random(); for (int i = 0; i < 8; i++) { dr = dt.NewRow(); dr[0] = "班级" + i.ToString(); dr[1] = "【孟子E章】" + i.ToString(); dr[2] = System.Math.Round(rd.NextDouble() * 100, 0); dt.Rows.Add(dr); } return dt; } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { GridView1.DataSource = GetData(); GridView1.DataBind(); } } protected void Button1_Click(object sender, EventArgs e) { isExport = true; Response.Clear(); Response.Buffer = true; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls"); Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); GridView1.DataSource = GetData(); GridView1.DataBind(); this.GridView1.RenderControl(oHtmlTextWriter); Response.Output.Write(oStringWriter.ToString()); Response.Flush(); Response.End(); } public override void VerifyRenderingInServerForm(Control control) { } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (isExport) { e.Row.Cells[1].Visible = false; } else { if (e.Row.RowType == DataControlRowType.DataRow) { HyperLink x = e.Row.Cells[1].Controls[0] as HyperLink; x.Attributes.Add("onclick", "window.open('','_xx','width=200,height=300,left=200');"); x.Target = "_xx"; } } } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> </head> <body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound"> <Columns> <asp:BoundField DataField="学生班级" /> <asp:HyperLinkField DataNavigateUrlFields="学生班级" DataTextField="学生姓名" DataNavigateUrlFormatString="xx.aspx?id={0}" /> </Col