vue js中,利用json数据临时生成一个可下载csv的功能
downloadCSV(data, fileName) { // 将数据转换为CSV格式 const csv = this.convertToCSV(data); // 创建一个Blob对象 const blob = new Blob([csv], { type: 'text/csv' }); // 创建一个下载链接 const url = URL.createObjectURL(blob); // 创建一个<a>元素并设置下载链接 const link = document.createElement('a'); link.href = url; link.download = fileName+'_data.csv'; // 模拟点击下载链接 link.click(); // 释放URL对象 URL.revokeObjectURL(url); }, convertToCSV(jsonString) { const jsonArray = JSON.parse(jsonString); const header = Object.keys(jsonArray[0]).map(key => `${key}`).join(',') + '\n'; const rows = jsonArray.map(obj => Object.values(obj).map(value => `="${value}"`).join(',')).join('\n'); return header + rows; }