导出的txt中是json格式数据,格式如下
[
{
"a": "11",
"b": "12",
"c": [
{
"a1-1": "aaa",
"a1-2": "cc",
"a1-3": [
{
"a1a1-1": "bbb1",
"a1a1-2": "bbb2",
"a1a1-3": "bbb3",
"a1a1-4": "bbb34"
},{
"a1a2-1": "bbb1",
"a1a2-2": "bbb2",
"a1a2-3": "bbb3",
"a1a2-4": "bbb34"
}
]
},{
"a2-1": "aaa",
"a2-2": "cc",
"a2-3": [
{
"a2a1-1": "bbb1",
"a2a1-2": "bbb2",
"a2a1-3": "bbb3",
"a2a1-4": "bbb34"
},{
"a2a2-1": "bbb1",
"a2a2-2": "bbb2",
"a2a2-3": "bbb3",
"a2a2-4": "bbb34"
}
]
}
]
}
]
格式可以自己定义,反正返回给前端都是一串字符串,前端将数据写入txt文档代码如下:
//导出
exportFile(){
let _this = this;
let param = {
paramName:_this.paramName
}
//exportdata就是后端接口,txt中内容就来自后端接口返回的字符串数据
exportdata(paramName).then((res) => {
if (res && res.code === "00000" && res.data!=null ) {
//文件名
const name = "数据导出.txt";
const element = document.createElement('a')
// 此处,我这边后端接口返回的字符串存在res.data.dataJson中,res.data.dataJson可以替换成你自己想要写入txt的字段名
//一定要清楚你后端接口返回的数据格式,不清楚可以debugger看结构,或者代码中加console.log输出接口返回的数据,这样可以定位到具体返回的哪个字段是要写入txt的字符串
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(res.data.dataJson))
element.setAttribute('download', name)
element.style.display = 'none'
element.click();
}
});
}