日期:2014-05-17 浏览次数:20428 次
System.Data.DataSet ds = new System.Data.DataSet(); System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser"); System.Data.DataRow dr; dataTable1.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32))); dataTable1.Columns.Add(new System.Data.DataColumn("UserName", typeof(System.String))); dataTable1.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["UserId"] }; for (int i = 0; i < 8; i++) { dr = dataTable1.NewRow(); dr[0] = i; dr[1] = "用户姓名【孟子E章】测试" + i.ToString(); dataTable1.Rows.Add(dr); } System.Data.DataTable dataTable2 = new System.Data.DataTable("BlogArticle"); dataTable2.Columns.Add(new System.Data.DataColumn("ArticleId", typeof(System.Int32))); dataTable2.Columns.Add(new System.Data.DataColumn("Title", typeof(System.String))); dataTable2.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32))); dataTable2.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["ArticleId"] }; Random rd = new Random(); for (int i = 0; i < 20; i++) { dr = dataTable2.NewRow(); dr[0] = i; dr[1] = "文章标题例子" + i.ToString(); dr[2] = rd.Next(0, 7); dataTable2.Rows.Add(dr); } ds.Tables.Add(dataTable1); ds.Tables.Add(dataTable2); Response.ClearContent(); Response.BufferOutput = true; Response.Charset = "utf-8"; Response.ContentType = "application/ms-excel"; Response.AddHeader("Content-Transfer-Encoding", "binary"); Response.ContentEncoding = System.Text.Encoding.UTF8; String FileName = "孟宪会Excel表格测试"; if (!String.IsNullOrEmpty(Request.UserAgent)) { // firefox 里面文件名无需编码。 if (!(Request.UserAgent.IndexOf("Firefox") > -1 && Request.UserAgent.IndexOf("Gecko") > -1)) { FileName = Server.UrlEncode(FileName); } } Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName + ".xls"); Response.Write("<?xml version='1.0'?><?mso-application progid='Excel.Sheet'?>"); Response.Write(@"<Workbook xmlns='urn:schemas-microsoft-com:office:spreadsheet' xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns:ss='urn:schemas-microsoft-com:office:spreadsheet' xmlns:html='http://www.w3.org/TR/REC-html40'>"); Response.Write(@"<DocumentProperties xmlns='urn:schemas-microsoft-com:office:office'>"); Response.Write(@"<Author>孟宪会</Author><LastAuthor>孟子E章</LastAuthor> <Created>2010-09-08T14:07:11Z</Created><Company>mxh</Company><Version>1990</Version>"); Response.Write("</DocumentProperties>"); Response.Write(@"<Styles><Style ss:ID='Default' ss:Name='Normal'><Alignment ss:Vertical='Center'/> <Borders/><Font ss:FontName='宋体' x:CharSet='134' ss:Size='12'/><Interior/><NumberFormat/><Protection/></Style>"); //定义标题样式 Response.Write(@"<Style ss:ID='Header'><Borders><Border ss:Position='Bottom' ss:LineStyle='Continuous' ss:Weight='1'/> <Border ss:Position='Left' ss:LineStyle='Continuous' ss:Weight='1'/> <Border ss:Position='Right' ss:LineStyle='Continuous' ss:Weight='1'/> <Border ss:Position='Top' ss:LineStyle='Continuous' ss:Weight='1'/></Borders> <Font ss:FontName='宋体' x:CharSet='134' ss:Size='18' ss:Color='#FF0000' ss:Bold='1'/></Style>"); //定义边框 Response.Write(@"<Style ss:ID='border'><NumberFormat ss:Format='@'/><Borders> <Border ss: