C#中導出Excel分爲兩大類。一類是Winform的,一類是Web。今天說的這一種是Web中的一種,把頁面上的Table部分導出到Excel中。html
Table導出Excel,簡單點說,分爲如下幾步:jquery
1.根據table的id,獲取到Table的html,如用jquery獲取table的代碼:$("#table").html().但這只是獲取到<table></table>之間的內容,還須要拼接上。app
2.把頁面獲取到的table的html代碼提交到後臺。ui
3.後臺的Response設置了一下要導出的格式,導出的編碼,和導出的文件名。編碼
具體詳細,看一下下面的代碼。spa
(1)獲取tableexcel
var tableHead = "<html><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" /><body><table><tr><td style=\"background-color: #84aced;\">社員番號</td><td style=\"background-color: #84aced;\">社員名前</td><td style=\"background-color: #84aced;\">拠點</td>" + "<td style=\"background-color: #84aced;\">分野</td><td style=\"background-color: #84aced;\">課</td><td style=\"background-color: #84aced;\">職位</td><td style=\"background-color: #84aced;\">" + "対象</td><td style=\"background-color: #84aced;\">一次評価者</td><td style=\"background-color: #84aced;\">二次評価者</td><td style=\"background-color: #84aced;\">操做</td></tr>"; $("#html").val(tableHead + $("#datalist").html() + "</table></body></html>"); //獲取並拼接代碼
(2)由於獲取表格的html代碼比較長,經過Form表單的形式提交個後臺code
document.getElementById("ExcelForm").submit();
(3)後臺將獲取到的table代碼導出到Excel中orm
string excelHtml = context.Request["excelHtml"]; string name = DateTime.Now.ToString(); context.Response.Buffer = true; //輸出的應用類型 context.Response.ContentType = "application/vnd.ms-excel"; //設定編碼方式,若輸出的excel有亂碼,可優先從編碼方面解決 context.Response.Charset = "utf-8"; context.Response.ContentEncoding = System.Text.Encoding.UTF8; //filenames是自定義的文件名 context.Response.AppendHeader("Content-Disposition", "attachment;filename=" + name + ".xls"); //content是步驟1的html,注意是string類型 context.Response.Write(excelHtml); context.Response.End();