js实现数据导出为excel表格


用js实现数据导出成excel表格

在开发过程中遇到了老板需要把呈现在列表里面的数据导出成excel表格的问题,百度了一些方案,现在做个总结

//我这里用静态数据做个例举,大家可以根据自己需求对应修改

function exportToExcel(){
  let headerList = ['姓名','年龄','出生日期']; 表头部分
  let bodyList = [
    ['新狗','18','1993'],
    ['蜡笔','22','2000']
  ];//主体内容部分
  
  let excelList = [];//声明一个空数组准备将头部和内容柔和在一起
  
  excelList.push(thList.join("\t,") + "\n")
  //这条语句的意思是将头部集合转换为已特殊符"\t,"分开的字符串,"/t,"在excel中相当于tab建的作用, 作用就是切换到后面的单元格,这样headerList中的每一个元素都可以占在各自的单元格中,"\n"就是说当每一条字符串结束后换行, 这样就可以让bodyList每一条子集合数据都独立拥有一行
  
  bodyList.forEach(item=>{
     excelList.push(item.join("\t," + "\n")) //原理跟上述一样
  })
  
  var merged = excelList .join("");//将上述得到的excel集合,转化为excel表格中的需要使用的字符串
      //## 导出操作
      // encodeURIComponent解决中文乱码
      const uri =
        "data:text/csv;charset=utf-8,\ufeff" + encodeURIComponent(merged);
      // 通过创建a标签实现
      let link = document.createElement("a");
      link.href = uri;

      link.download = `在线简历库${proxy.$tool.makeDate(new Date(), true)}.csv`;  //这里是最后下载下来的excel表格名称
      link.click();
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM