<script>
export default(){
data(){
return:{
getDowloadData:[]
}
},
methods:{
//下载
async nextZai(val){
this.getDowloadData=[];
let result=await voluntarySearchToId(val.id);
if(result.status){
if(result.data){
this.loading=false;
let obj={};
let str='';
result.data.forEach((val,index)=>{
obj={
zySort:index+1,
name:val.name,
level:val.level,
university:val.university,
province:val.province,
subject_required:val.subject_required.replace(/,/g,'、'),
subject_explain:val.subject_explain.replace(/,/g,'、'),
annotation:val.annotation.replace(/,/g,'、')
};
this.getDowloadData.push(obj)
//列标题,逗号隔开,每一个逗号就是隔开一个单元格
str = `志愿顺序,专业名称,学历等级,院校名称,省份,选考科目,选考科目要求,说明\n`;
//增加\t为了不让表格显示科学计数法或者其他格式
for(let i = 0 ; i < this.getDowloadData.length ; i++ ){
for(let item in this.getDowloadData[i]){
str+=`${this.getDowloadData[i][item] + '\t'},`;
}
str+='\n';
}
})
this.downloadZyInfo='';
//encodeURIComponent解决中文乱码
let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
//通过创建a标签实现
var link = document.createElement("a");
link.href = uri;
//对下载的文件命名
link.download = "高考志愿.xlsx";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}else{
this.$message({
message:'当前存档内暂无您的志愿',
type:'warning',
duration:1500,
offset:300
})
}
}
}
}
</script>
Vue将JSON数据以xlsx文件格式下载
最新推荐文章于 2024-10-12 09:31:53 发布