js导出数据到excel文件

穿精又带淫゛_ 提交于 2019-12-02 14:38:45
              //列标题
                var str = '<tr><td>游戏名称</td><td>角色名</td><td>区服</td><td>区号</td><td>支付方式</td><td>交易单号1</td><td>交易单号2</td><td>新注册账号</td><td>手机号</td><td>提交日期</td></tr>'
                    //循环遍历,每行加入tr标签,每个单元格加td标签
                   //this.userlist : vue里面获得的后端数据
                for (let i = 0; i < this.userlist.length; i++) {
                    str += '<tr>'
                    for (let item in this.userlist[i]) {
                        //增加\t为了不让表格显示科学计数法或者其他格式 \u200C
                        if (item == "Order1" || item == "Order2" || item == "Account") {
                              //阻止输出的数据进行科学计数
                            str += `<td style="mso-number-format:'\@';" >${ this.userlist[i][item]}</td>`
                        } else {
                            str += `<td>${ this.userlist[i][item]}</td>`
                        }

                    }
                    str += '</tr>'
                }
                //Worksheet名
                var worksheet = 'Sheet1'
                var uri = 'data:application/vnd.ms-excel;base64,'

                //下载的表格模板数据
                var template = `<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">
                                <head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
                                <x:Name>${worksheet}</x:Name>
                                <x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
                                </x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
                                </head><body><table>${str}</table></body></html>`
                    //下载模板
                    //window.location.href = uri + base64(template);
                window.open(uri + base64(template), "_blank")
            }
            //输出base64编码
            function base64(s) {
                return window.btoa(unescape(encodeURIComponent(s)))
            }123456789101112131415161718192021222324252627282930313233343536373839

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!