view.html 2.75 KB
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
    <th:block th:include="include :: header('excel内容读取')" />
</head>
<body>
<div class="main-content">
    <span>view.xlsx</span>
    <div>
        <ul class="nav nav-tabs" id="tab_id"></ul>
    </div>
    <div id="content_id" class="tab-content"></div>
</div>

<th:block th:include="include :: footer" />
<th:block th:include="include :: xlsx-mini-js" />
<script>
    var prefix = ctx + "eit/excel";

    $(function() {
        try {
            let xhr = new XMLHttpRequest();
            xhr.open('get', "/file/view.xlsx", true);
            xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
            xhr.responseType = 'arraybuffer';
            xhr.onload = function (e) {
                if (xhr.status == 200) {
                    let data = new Uint8Array(xhr.response)
                    let workbook = XLSX.read(data, { type: 'array' });
                    showWorkbook(workbook);
                    /**
                     let sheetNames = workbook.SheetNames;
                     let sheetName = sheetNames[0];
                     let worksheet = workbook.Sheets[sheetName];
                     let sheetHtml = XLSX.utils.sheet_to_html(worksheet);
                     $("#out").html(sheetHtml);

                     $("#out table").addClass("table table-bordered table-hover");
                     */
                }
            };
            xhr.send();
        } catch (e) {
            console.info(e);
        }

        function showWorkbook(workbook) {
            let sheetNames = workbook.SheetNames;
            let navHtml = '';
            let tabHtml = '';
            let myTabId = 'tab_id';
            let tabContentId = 'content_id';
            for (let index = 0; index < sheetNames.length; index++) {
                let sheetName = sheetNames[index];
                let worksheet = workbook.Sheets[sheetName];
                let sheetHtml = XLSX.utils.sheet_to_html(worksheet);
                let tabid = "tab" + "test" + "-" + index;
                let xlsid = "xlsid" + "test" + "-" + index;
                let active = index == 0 ? "active" : '';
                navHtml += '<li class="nav-item"><a class="nav-link ' + active + '"  href="#"  data-target="#' + tabid + '" data-toggle="tab">' + sheetName + '</a></li>';
                tabHtml += '<div id="' + tabid + '" class="tab-pane ' + active + '" style="padding:10px;overflow:auto;height:600px" >' +
                    '<div id="' + xlsid + '">' + sheetHtml + ' </div></div>';
            }
            $("#" + myTabId).html(navHtml);
            $("#" + tabContentId).html(tabHtml);
            $("#content_id table").addClass("table table-bordered table-hover");
        }

    });
</script>
</body>
</html>