<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<button onclick="exportData(header,jsonData,'solid','csv')">导出csv</button>
<button onclick="exportData(header,[],'下载模板','csv')">下载模板</button>
</body>
</html>
<script type="text/javascript">
//表头
var header = [
{
key: 'name',
value: '姓名'
},
{
key: 'email',
value: '邮箱'
},
{
key: 'age',
value: '年龄'
},
{
key: 'phone',
value: '手机号'
},
{
key: 'address',
value: '地址'
}
]
//表格数据
var jsonData = [
{
name:'孙悟空',
phone:'123456',
email:'123@123456.com'
},
{
name:'猪八戒',
phone:'123456',
email:'123@123456.com'
},
{
name:'沙和尚',
phone:'123456',
email:'123@123456.com'
},
{
name:'唐僧',
phone:'123456',
email:'123@123456.com'
}
]
function exportData(header, jsonData, fileName,extension){
//列标题,用逗号隔开,每一个逗号就是隔开一个单元格
let str = '';
var keys = [];
for(i = 0; i<header.length; i++){
str+=`${header[i].value}\t,`;
keys.push(header[i].key);
}
str +=`\n`
for(let i = 0; i<jsonData.length; i++){
for(let j = 0; j < keys.length; j++){
console.log(jsonData[i],keys[j])
str+=`${jsonData[i][keys[j]] || ''}\t,`
}
str+=`\n`
}
let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
download(uri,fileName,extension);
} function download(url,fileName,extension){
var oA = document.createElement('a');
oA.href = url;
oA.download = `${fileName}.${extension}`;
document.body.appendChild(oA);
oA.click();
document.body.removeChild(oA);
}
</script>

最新文章

  1. Android应用中MVP开发模式
  2. oracle数据库常用操作命令
  3. java String 去除空格
  4. 让window命令行支持自己主动补全[相似Linux的Tab键]
  5. 记关于 Lambda 表达式的基础写法
  6. Python之路-awk文本处理
  7. 201521123050《Java程序设计》第1周学习总结
  8. atmega16功耗实测
  9. Python——组图Canvas控制参数
  10. 同时开始了SQL。。。
  11. python成长之路七-函数的进阶
  12. linux下ssh远程连接工具SecureCRT和xshell编码设置
  13. Google+ 团队的 Android UI 测试
  14. Android架构初探
  15. leetCode题解之字符最短路径解法2
  16. Java内存是怎么管理的
  17. C# 利用log4net 把日志写入到数据库表中
  18. java中线程状态-死亡
  19. jquery 中多条件选择器,相对选择器,层次选择器的区别
  20. springboot-数据库

热门文章

  1. image classification backbone 汇总分析
  2. west_wild 靶机
  3. VS Code 黑宝书背后的故事
  4. 简述python中`functools.wrapper()
  5. 微信小程序扫码解析小程序码
  6. 【UVa1635】Irrelevant Elements - 唯一分解定理
  7. 【算法•日更•第五十期】二分图(km算法)
  8. three.js 利用uv和ThreeBSP制作一个快递柜
  9. Jmeter 常用函数(29)- 详解 __eval
  10. Jmeter 常用函数(24)- 详解 __digest