在HTML页面中就一个按钮. //////<asp:button id="Button1" style="Z-INDEX: 101; LEFT: 0px; POSITION: absolute; TOP: 8px" runat="server" Text="导出"> ///</asp:button> 和 一个DataGrid ///<asp:datagrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 0px; POSITION: absolute; TOP: 40px" runat="server"> ///</asp:datagrid> aspx.cs 文件的代码是: ////public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DataGrid1; protected System.Web.UI.WebControls.Button Button1; private void Page_Load(object sender, System.EventArgs e) {
DataGrid1.DataSource=CreateDataSource(); DataGrid1.DataBind(); // 在此处放置用户代码以初始化页面 }
ICollection CreateDataSource() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("身份证号码", typeof(string))); dt.Columns.Add(new DataColumn("图书单价",typeof(decimal))); dt.Columns.Add(new DataColumn("购买数量",typeof(Int32))); dt.Columns.Add(new DataColumn("总价格",typeof(decimal))); for (int i = 0; i < 30; i++) { dr = dt.NewRow(); dr[0] = "123456789123456789"; dr[1] = 100 * i /3.0; dr[2] = i + 5; dr[3] = (decimal)dr[1] * (Int32)dr[2]; dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; }
private void Button1_Click(object sender, System.EventArgs e) { Response.Clear(); Response.Buffer= true; Response.Charset="GB2312"; Response.AppendHeader("Content-DisposITion","attachment;filename=FileName.xls"); Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); //设置输出流为简体中文 Response.ContentType = "application/ms-excel"; //设置输出文件类型为excel文件。 this.EnableViewState = false; System.Globalization.CultureInfo myCITrad = new System.Globalization.CultureInfo("ZH-CN",true); System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCITrad); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWrITer); this.DataGrid1.RenderControl(oHtmlTextWrITer); // 在这里设置保存那个数据源的数据. Response.Write(oStringWrITer.ToString()); Response.End(); } private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridITemEventArgs e) //这个设置显示的格式 { if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingITem) { e.ITem.Cells[0].Attributes.Add("style","vnd.ms-excel.numberformat:@"); e.ITem.Cells[3].Attributes.Add("style","vnd.ms-excel.numberformat:¥#,###.00"); } } #region Web 窗体设计器生成的代码 override protected void OnInIT(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InITializeComponent(); base.OnInIT(e); }
/// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InITializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ITemDataBound); this.Load += new System.EventHandler(this.Page_Load); } #endregion } |