前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS导出JSON到Excel表格

JS导出JSON到Excel表格

作者头像
闻语博客
发布2021-01-21 17:23:34
13.8K0
发布2021-01-21 17:23:34
举报
文章被收录于专栏:闻语博客闻语博客
代码语言: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);
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019 年 09 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档