
前端实现客户端自定义导出功能
在前端进行导出操作时,通常会直接触发浏览器的下载功能。然而,本文介绍一种在客户端自定义导出路径和文件名的方法。
解决方案
使用javascript和元素即可实现该功能。具体步骤如下:
立即学习“前端免费学习笔记(深入)”;
- 准备导出数据:将要导出的数据转化为csv格式字符串。
- 创建元素:动态创建元素,并设置其href属性为经过编码的csv格式字符串。
- 设置导出文件名:通过download属性为元素指定导出文件名。
- 附加到文档中:将创建的元素添加到文档中。
- 触发点击事件:使用click()方法触发元素的点击事件,从而启动导出操作。
示例代码
var rows = [
["name1", "city1", "some other info"],
["name2", "city2", "more info"]
];
var csvContent = "data:text/csv;charset=utf-8," + rows.map(e => e.join(",")).join("\n");
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link); // Required for Firefox
link.click(); // This will download the data file named "my_data.csv".注意
- 替换rows变量中的数据内容。
- 将my_data.csv替换为所需的导出文件名。










