JS导出JSON到Excel表格

2021-01-21 17:23:34 浏览数 (1)

代码语言:javascript复制
<a href="javascript:;" id="export">导出</a>
代码语言:javascript复制
$("#export").click(function () {
        var Title = [{ "value": "姓名" }, { "value": "课题组" }, { "value": "手机" }, { "value": "手机短号" }, { "value": "申请人邮箱" }, { "value": "申请培训时间" }, { "value": "动物实验资格证号" }, { "value": "状态" }];
        var Value = [{ "Fullnames": "扯淡", "Fullname": "扯淡", "Mobile": "18888888888", "Mobilecornet": "021-88888888", "Email": "8888@qq.com", "TimeAllocation": "9月份第四周", "QualificationCode": "9876543210", "Status": "已审核" }, { "Fullnames": "扯淡", "Fullname": "扯淡1", "Mobile": "18999999999", "Mobilecornet": "021-99999999", "Email": "9999@qq.com", "TimeAllocation": "3月份第四周", "QualificationCode": "0123456789", "Status": "未审核" }];
        var data = { "title": Title, "data": Value };
        JSONToExcelConvertor("培训申请管理", data.data, data.title);
    })
代码语言:javascript复制
function JSONToExcelConvertor(FileName, JSONData, ShowLabel) {
        //先转化json  
        var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;

        var excel = '<table>';

        //设置表头  
        var row = "<tr>";
        for (var i = 0, l = ShowLabel.length; i < l; i  ) {
            row  = "<td style="color:red">"   ShowLabel[i].value   '</td>';
        }

        //换行  
        excel  = row   "</tr>";

        //设置数据  
        for (var i = 0; i < arrData.length; i  ) {
            var row = "<tr>";

            for (var index in arrData[i]) {
                var value = arrData[i][index] === "." ? "" : arrData[i][index];
                row  = '<td>'   value   '</td>';
            }

            excel  = row   "</tr>";
        }

        excel  = "</table>";

        var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>";
        excelFile  = '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">';
        excelFile  = '<meta http-equiv="content-type" content="application/vnd.ms-excel';
        excelFile  = '; charset=UTF-8">';
        excelFile  = "<head>";
        excelFile  = "<!--[if gte mso 9]>";
        excelFile  = "<xml>";
        excelFile  = "<x:ExcelWorkbook>";
        excelFile  = "<x:ExcelWorksheets>";
        excelFile  = "<x:ExcelWorksheet>";
        excelFile  = "<x:Name>";
        excelFile  = "{worksheet}";
        excelFile  = "</x:Name>";
        excelFile  = "<x:WorksheetOptions>";
        excelFile  = "<x:DisplayGridlines/>";
        excelFile  = "</x:WorksheetOptions>";
        excelFile  = "</x:ExcelWorksheet>";
        excelFile  = "</x:ExcelWorksheets>";
        excelFile  = "</x:ExcelWorkbook>";
        excelFile  = "</xml>";
        excelFile  = "<![endif]-->";
        excelFile  = "</head>";
        excelFile  = "<body>";
        excelFile  = excel;
        excelFile  = "</body>";
        excelFile  = "</html>";

        var uri = 'data:application/vnd.ms-excel;charset=utf-8,'   encodeURIComponent(excelFile);

        var link = document.createElement("a");
        link.href = uri;

        link.style = "visibility:hidden";
        link.download = FileName   ".xls";

        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
    }

0 人点赞