js实现数据导出为excel表格
⽤js实现数据导出成excel表格
在开发过程中遇到了⽼板需要把呈现在列表⾥⾯的数据导出成excel表格的问题,百度了⼀些⽅案,现在做个总结
//我这⾥⽤静态数据做个例举,⼤家可以根据⾃⼰需求对应修改
function exportToExcel(){
let headerList = ['姓名','年龄','出⽣⽇期']; 表头部分 let bodyList = [
['新狗','18','1993'], ['蜡笔','22','2000'] ];//主体内容部分
let excelList = [];//声明⼀个空数组准备将头部和内容柔和在⼀起
excelList.push(thList.join(\"\,\") + \"\\n\")
//这条语句的意思是将头部集合转换为已特殊符\"\,\"分开的字符串,\"/t,\"在excel中相当于tab建的作⽤,
作⽤就是切换到后⾯的单元格,这样headerList中的每⼀个元素都可以占在各⾃的单元格中,\"\\n\"就是说当每⼀条字符串结束后换⾏, 这样就可以让bodyList每⼀条⼦集合数据都独⽴拥有⼀⾏
bodyList.forEach(item=>{
excelList.push(item.join(\"\,\" + \"\\n\")) //原理跟上述⼀样 })
var merged = excelList .join(\"\");//将上述得到的excel集合,转化为excel表格中的需要使⽤的字符串 //## 导出操作
// encodeURIComponent解决中⽂乱码 const uri =
\"data:text/csv;charset=utf-8,\\" + encodeURIComponent(merged); // 通过创建a标签实现
let link = document.createElement(\"a\"); link.href = uri;
link.download = `在线简历库${proxy.$tool.makeDate(new Date(), true)}.csv`; //这⾥是最后下载下来的excel表格名称 link.click();}