vue将json数据导出为excel

vue将json数据以表格的形式展示渲染在页面中,并提供导出功能
点击导出执行下面的方法tableToExcel

//导出文件时进行编码  
function base64(s) {
  return window.btoa(unescape(encodeURIComponent(s)));
}
methods:{
 tableToExcel() {
      // 要导出的json数据
      const jsonData = "json数据";
      // 列标题
      let str = ’xxxxxxxxxxxx`‘
      // 循环遍历,每行加入tr标签,每个单元格加td标签
      for (let i = 0; i < jsonData.length; i++) {
        str += '';
        for (const item in jsonData[i]) {
          // 增加\t为了不让表格显示科学计数法或者其他格式
          if (Object.prototype.hasOwnProperty.call(item, jsonData[i])) {
            str += `${jsonData[i][item]}\t`;
          }
        }
        str += '';
      }
      // Worksheet名
      const worksheet = 'xxx',   //文件名称
        uri = 'data:application/vnd.ms-Excel;base64,',
        // 下载的表格模板数据
        template = `
      
        ${str}
`, // 下载模板 elink = document.createElement('a'); elink.download = '文件名称.xls'; elink.style.display = 'none'; elink.href = uri + base64(template); //base64编码 document.body.appendChild(elink); elink.click(); document.body.removeChild(elink); // window.location.href = uri + base64(template); }, }

你可能感兴趣的:(vue将json数据导出为excel)