随着单位活动的增多,各大4S店要求查看活动报名的要求的出现,导出Excel或者是Word文档功能显得尤为重要。可以大量节省编辑的工作时间和工作强度。
今天花了点时间编写了各大报名品牌的Excel导出功能。原理非常简单,其实就想往页面输出报名列表,不同的是在输出HTML文本时在HEAD标记 HTML标记增加点东西。
代码如下:
今天花了点时间编写了各大报名品牌的Excel导出功能。原理非常简单,其实就想往页面输出报名列表,不同的是在输出HTML文本时在HEAD标记 HTML标记增加点东西。
代码如下:
1 string strExportFileName = new SysCar.BLL.BrandCategory().GetModel(Convert.ToInt32(this.rblJoinBrand.SelectedValue)).Name;
2 int actID = Convert.ToInt32(Request.QueryString["actid"]);
3 SysCar.BLL.Apply apply = new BLL.Apply();
4
5 List<SysCar.Model.Apply> appExcel = apply.DataTableToList(apply.GetList("(ActivityID=" + actID + " and PATINDEX('%|" + this.rblJoinBrand.SelectedValue + "|%',BrandCollection)>0)").Tables[0]);
6
7 Response.ContentType = "application/vnd.ms-excel";
8 Response.AddHeader("Content-Disposition", "inline;filename="
9 + HttpUtility.UrlEncode(strExportFileName + "_名单.xls", Encoding.UTF8));
10
11
12 //如果输出为Word,修改为以下代码
13 //Response.ContentType = "application/ms-word"
14 //Response.AddHeader("Content-Disposition", "inline;filename=test.doc")
15
16 StringBuilder sb = new StringBuilder();
17 System.IO.StringWriter sw = new System.IO.StringWriter(sb);
18 System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
19 sb.Append("<html xmlns:x=urn:schemas-microsoft-com:office:excel><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>" + strExportFileName + "</x:Name><x:WorksheetOptions><x:Print><x:ValidPrinterInfo /></x:Print></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
20 sb.Append("<table><tr><td colspan=4>" + strExportFileName + "<font color='red'>" + appExcel.Count + "(人)</font></td></tr><tr><td>编号</td><td>姓名</td><td>性别</td><td>联系电话</td></tr>");
21 for (int i = 0; i < appExcel.Count; i++)
22 {
23 string strSex = "男";
24 if (Convert.ToInt32(appExcel[i].Sex) == 2)
25 {
26 strSex = "女";
27 }
28 sb.Append("<tr><td>" + appExcel[i].ApplyID + "</td><td>" + appExcel[i].Name + "</td><td>" + strSex + "</td><td>" + appExcel[i].Mobile + "</td></tr>");
29
30 }
31 sb.Append("</table>");
32 sb.Append("</body></html>");
33
34
35 Response.Write(sb.ToString());
36 Response.End();
2 int actID = Convert.ToInt32(Request.QueryString["actid"]);
3 SysCar.BLL.Apply apply = new BLL.Apply();
4
5 List<SysCar.Model.Apply> appExcel = apply.DataTableToList(apply.GetList("(ActivityID=" + actID + " and PATINDEX('%|" + this.rblJoinBrand.SelectedValue + "|%',BrandCollection)>0)").Tables[0]);
6
7 Response.ContentType = "application/vnd.ms-excel";
8 Response.AddHeader("Content-Disposition", "inline;filename="
9 + HttpUtility.UrlEncode(strExportFileName + "_名单.xls", Encoding.UTF8));
10
11
12 //如果输出为Word,修改为以下代码
13 //Response.ContentType = "application/ms-word"
14 //Response.AddHeader("Content-Disposition", "inline;filename=test.doc")
15
16 StringBuilder sb = new StringBuilder();
17 System.IO.StringWriter sw = new System.IO.StringWriter(sb);
18 System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
19 sb.Append("<html xmlns:x=urn:schemas-microsoft-com:office:excel><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>" + strExportFileName + "</x:Name><x:WorksheetOptions><x:Print><x:ValidPrinterInfo /></x:Print></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
20 sb.Append("<table><tr><td colspan=4>" + strExportFileName + "<font color='red'>" + appExcel.Count + "(人)</font></td></tr><tr><td>编号</td><td>姓名</td><td>性别</td><td>联系电话</td></tr>");
21 for (int i = 0; i < appExcel.Count; i++)
22 {
23 string strSex = "男";
24 if (Convert.ToInt32(appExcel[i].Sex) == 2)
25 {
26 strSex = "女";
27 }
28 sb.Append("<tr><td>" + appExcel[i].ApplyID + "</td><td>" + appExcel[i].Name + "</td><td>" + strSex + "</td><td>" + appExcel[i].Mobile + "</td></tr>");
29
30 }
31 sb.Append("</table>");
32 sb.Append("</body></html>");
33
34
35 Response.Write(sb.ToString());
36 Response.End();
关键点:
1
2 <!--解决导出Excel无表格线问题-->
3 <html xmlns:x=urn:schemas-microsoft-com:office:excel>
4 <head>
5 <!--[if gte mso 9]>
6 <xml>
7 <x:ExcelWorkbook>
8 <x:ExcelWorksheets><x:ExcelWorksheet>
9 <x:Name>表格名称</x:Name>
10 <x:WorksheetOptions>
11 <x:Print><x:ValidPrinterInfo /></x:Print>
12 </x:WorksheetOptions>
13 </x:ExcelWorksheet></x:ExcelWorksheets>
14 </x:ExcelWorkbook>
15 </xml>
16 <![endif]-->
17
18
19
20 <!--解决导出Excel中文乱码问题-->
21 <meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">
22
2 <!--解决导出Excel无表格线问题-->
3 <html xmlns:x=urn:schemas-microsoft-com:office:excel>
4 <head>
5 <!--[if gte mso 9]>
6 <xml>
7 <x:ExcelWorkbook>
8 <x:ExcelWorksheets><x:ExcelWorksheet>
9 <x:Name>表格名称</x:Name>
10 <x:WorksheetOptions>
11 <x:Print><x:ValidPrinterInfo /></x:Print>
12 </x:WorksheetOptions>
13 </x:ExcelWorksheet></x:ExcelWorksheets>
14 </x:ExcelWorkbook>
15 </xml>
16 <![endif]-->
17
18
19
20 <!--解决导出Excel中文乱码问题-->
21 <meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">
22