asp.net导出excel数据控件是Repeater1实现源代码
using office = Microsoft.Office; using Exl = Microsoft.Office.Interop.Excel; #region ExportExecl //票数详情统计 protected void btnDarenVotes_Click(object sender, EventArgs e) { string sql = "select ID as 编号,Name as 名字,IDNum as 身份证号 from DarenInfo order by Votes desc"; ExportExecl(sql, "VoteInfo", btnDarenVotes.ToolTip); } /// <summary> /// /// </summary> /// <param name="sql">sql语句</param> /// <param name="tableName">表对象</param> /// <param name="msg"></param> protected void ExportExecl(string sql, string tableName,string msg) { //1.创建一个execl表格,命名 Random rm = new Random(); int rmNum = rm.Next(10000, 999999); string saveName = string.Format("{0}-{1}-{2}.xls", tableName, DateTime.Now.ToString("yyyyMMddhhmmssms"), rmNum); string savePath = Server.MapPath("xls/") + saveName; //2.配合Sql查询语句,查出数据并且导入到对应的表格路径 int tempPoint = sql.IndexOf(" from"); string tempSql = string.Format(sql.Insert(tempPoint, " into [Excel 8.0;database={0}].[{1}]"), savePath, tableName); DBHelperDaren.ExecuteCommand(tempSql); string tempUrl = string.Format("http://{0}/admin/Daren/xls/{1}", Request.Url.Authority, saveName); linkToExport.InnerText =string.Format("导出成功,单击鼠标右键“另存为”保存至本地"); linkToExport.HRef = tempUrl; } #endregion ExportExecl
StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); //rep.RenderControl(hw); this.Repeater1.RenderControl(hw); Response.Clear(); Response.ContentType = "application/vnd.ms-excel"; Response.Charset = ""; Repeater1.Page.EnableViewState = false; Response.AppendHeader("Content-Disposition", "attachment;filename=\"" + HttpUtility.UrlEncode("aa.xls", System.Text.Encoding.UTF8) + "\""); string html = "<html><head><meta http-equiv=Content-Type content=\"text/html;"; html += "charset=UTF8\"><title></title></head><body><table><tr><td>序号</td></tr>"; // html += "<td>用户名</td><td>密码</td><td>所属机构</td><td>用户类型</td></tr>"; Response.Write(html); Response.Write(sw.ToString()); Response.Write("</table></body></html>"); Response.End();