C# html的Table導出到Excel中

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();
相關文章
相關標籤/搜索