HTML 的tabel導出excel最終版本(JS)

<script>
    // 使用outerHTML屬性獲取整個table元素的HTML代碼(包括<table>標籤),而後包裝成一個完整的HTML文檔,設置charset爲urf-8以防止中文亂碼
    var html = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementsByTagName("table")[0].outerHTML + "</body></html>";
    // 實例化一個Blob對象,其構造函數的第一個參數是包含文件內容的數組,第二個參數是包含文件類型屬性的對象
    var blob = new Blob([html], {type: "application/vnd.ms-excel"});
    var a = document.getElementsByTagName("a")[0];
    // 利用URL.createObjectURL()方法爲a元素生成blob URL
    a.href = URL.createObjectURL(blob);
    // 設置文件名
    a.download = "學生成績表.xls";
</script>

 

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8"/>
    <title></title>
</head>
<body>
<!-- 設置border="1"以顯示錶格框線 -->
<table border="1">
    <!-- caption元素能夠生成表標題,其單元格列跨度爲表格的列數 -->
    <caption>學生成績表</caption>
    <tr>
        <!-- 可使用rowspan和colspan來合併單元格 -->
        <th rowspan="2">編號</th>
        <th rowspan="2">學號</th>
        <th rowspan="2">姓名</th>
        <th rowspan="2">性別</th>
        <th rowspan="2">年齡</th>
        <th colspan="3">成績</th>
    </tr>
    <tr>
        <th>語文</th>
        <th>數學</th>
        <th>英語</th>
    </tr>
    <tr>
        <td>1</td>
        <td>2016001</td>
        <td>張三</td>
        <td></td>
        <td>13</td>
        <td>85</td>
        <td>94</td>
        <td>77</td>
    </tr>
    <tr>
        <td>2</td>
        <td>2016002</td>
        <td>李四</td>
        <td></td>
        <td>12</td>
        <td>96</td>
        <td>84</td>
        <td>89</td>
    </tr>
</table>

<a>導出表格</ a>

<script>
    // 使用outerHTML屬性獲取整個table元素的HTML代碼(包括<table>標籤),而後包裝成一個完整的HTML文檔,設置charset爲urf-8以防止中文亂碼
    var html = "<html><head><meta charset='utf-8' /></head><body>" + document.getElementsByTagName("table")[0].outerHTML + "</body></html>";
    // 實例化一個Blob對象,其構造函數的第一個參數是包含文件內容的數組,第二個參數是包含文件類型屬性的對象
    var blob = new Blob([html], {type: "application/vnd.ms-excel"});
    var a = document.getElementsByTagName("a")[0];
    // 利用URL.createObjectURL()方法爲a元素生成blob URL
    a.href = URL.createObjectURL(blob);
    // 設置文件名
    a.download = "學生成績表.xls";
</script>
</body>
</html>
test.html
相關文章
相關標籤/搜索