一、导出CSV文件
<body>
<button id="export">点击我导出CSV文件</button>
<script>
function exportCsv(obj) {//json数据导出方法
let title = obj.title;//列表头部
let dataKey = Object.keys(obj.data[0]);//拿到对象数据的键,因为是一样的所以只去第一个即可
let data = obj.data;//列表内容
let str = [];
str.push(obj.title.join(",") + "\r\n");//拼接 enter 键或者换行符
for (let i = 0; i < data.length; i++) {
let temp = [];
for (let j = 0; j < dataKey.length; j++) {
temp.push(data[i][dataKey[j]]);
}
str.push(temp.join(",") + "\r\n");//拼接 enter 键或者换行符
}
let blob = new Blob(['\uFEFF' + str.join('')], {
type: 'text/plain;charset=utf-8',
});
let downloadLink = document.createElement("a");
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = "test.csv";//导出的文件名
downloadLink.click();
}
document.getElementById("export").onclick = function () {
exportCsv({
title: ["国家", "首都", "GDP"],
data: [
{country:'中国',city:'北京',gdp:'8千万亿'},
{country:'俄罗斯',city:'莫斯科',gdp:'7千万亿'},
{country:'巴西',city:'巴西利亚',gdp:'6千万亿'},
{country:'日本',city:'东京',gdp:'5千万亿'},
{country:'英国',city:'伦敦',gdp:'4千万亿'},
{country:'法国',city:'巴黎',gdp:'3千万亿'},
{country:'韩国',city:'首尔',gdp:'2千万亿'},
]
});
}
</script>
</body>