前端导出功能,是不是必须得要后端写个接口,这个东西该如何去做
导出什么,导出简单的csv,txt,json,html都可以,复杂的需要后端做
对 一般都需要接口,前端这边就页面给个导出按钮,将数据通过接口传给后端,后端会返回给前端下载链接,前端解析并创建隐藏的a标签,模拟用户点击触发文件下载。不过好像有第三方库是有提供前端生成和下载文件的api你可以找找
download(){
axios.get('下载文件接口',{responseType:'blob',params:{后端需要的数据} }).then(res => { //后端返回文件流
if (res.status === 200) {
let a = document.createElement("a"); //创建a标签
a.href = URL.createObjectURL(res.data) //获取当前文件的一个内存URL
a.download = '文件名'; //下载的文件名
a.style.display = "none"
document.body.appendChild(a)
a.click()
a.remove()
}
}).catch((e) => {
console.log(e);
})
}
前端有一个很实用的,xlsx插件,可以导入导出表格,很简单,可以自己用一下试一试