1 <html> 2 <head> 3 <p style="font-size: 20px;color: red;">使用a标签方式将json导出csv文件</p> 4 <button onclick='tableToExcel()'>导出</button> 5 </head> 6 <body> 7 <script> 8 const tableToExcel = () => { 9 // 要导出的json数据 10 const jsonData = [ 11 { 12 name:'路人甲', 13 phone:'123456789', 14 email:'[email protected]' 15 }, 16 { 17 name:'炮灰乙', 18 phone:'123456789', 19 email:'[email protected]' 20 }, 21 { 22 name:'土匪丙', 23 phone:'123456789', 24 email:'[email protected]' 25 }, 26 { 27 name:'流氓丁', 28 phone:'123456789', 29 email:'[email protected]' 30 }, 31 ]; 32 // 列标题,逗号隔开,每一个逗号就是隔开一个单元格 33 let str = `姓名,电话,邮箱\n`; 34 // 增加\t为了不让表格显示科学计数法或者其他格式 35 for(let i = 0 ; i < jsonData.length ; i++ ){ 36 for(const key in jsonData[i]){ 37 str+=`${jsonData[i][key] + '\t'},`; 38 } 39 str+='\n'; 40 } 41 // encodeURIComponent解决中文乱码 42 const uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str); 43 // 通过创建a标签实现 44 const link = document.createElement("a"); 45 link.href = uri; 46 // 对下载的文件命名 47 link.download = "json数据表.csv"; 48 link.click(); 49 } 50 </script> 51 </body> 52 </html>
标签:const,name,excel,jsonData,js,拼接,123456789,123456,email From: https://www.cnblogs.com/qi-Blog/p/17893874.html