首页 > 其他分享 >纯前端实现后端给数据进行文件导出——angular里面的使用

纯前端实现后端给数据进行文件导出——angular里面的使用

时间:2022-11-04 09:11:15浏览次数:81  
标签:jsonKey 后端 dataObj downloadLink title 导出 var data angular

interface dataList {
cmd_cnt: number;
risk_name: string;
user_cnt: number;
risk_type:string;
}

listOfData: dataList[] = [ ];
dataObj:any = {
title:['风险名称','风险事件','涉及用户数','涉及操作次数'], //数据的每一列
jsonKey:['risk_type', 'risk_name','user_cnt','cmd_cnt'], //数据的标题对应的键
data: this.listOfData, //具体的数据
fileName: "数据汇总" //数据名称
};
点击导出文件
exprotCSV(){
this.dataObj.data = this.listOfData
this.exportCvs(this.dataObj) //调用具体的方法处理数据
}
//处理导出文件的函数
exportCvs(dataObj:any) {
var title = dataObj.title;
var jsonKey = dataObj.jsonKey;
var data = dataObj.data;
var str = [];
str.push(dataObj.title.join(",") + "\n");
for (var i = 0; i < data.length; i++) {
var temp = [];
for (var j = 0; j < jsonKey.length; j++) {
temp.push(data[i][jsonKey[j]]);
}
str.push(temp.join(",") + "\n");
}
var uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str.join("")); //text/csv表示文件类型 ,生成一个地址
var downloadLink = document.createElement("a"); //创建一个a标签
downloadLink.href = uri; //给 a标签加入href
downloadLink.download = new Date().toISOString().substring(0, 10) + "-" + dataObj.fileName + ".csv"; //文件名称
document.body.appendChild(downloadLink); //挂载到文件里面
downloadLink.click(); //点击下载
document.body.removeChild(downloadLink); //删除a标签
};

标签:jsonKey,后端,dataObj,downloadLink,title,导出,var,data,angular
From: https://www.cnblogs.com/5200flyer/p/16856557.html

相关文章

  • java分页查询后端代码
    packagecom.example.demo;importjava.util.List;importorg.apache.ibatis.annotations.Delete;importorg.apache.ibatis.annotations.Insert;importorg.apache.......
  • 若依(前后端分离版vue)项目部署Tomcat--构建发布到外置Tomcat
    前言:懒得码字,摘抄自:王清江唷微信公众号需求:总有一些公司需要用外置Tomcat来跑项目,下面讲述如何用外置Tomcat跑后端。第一步:引入依赖(admin模块下面):    <dependen......
  • vue下载后端文件流
    接口加上:responseType:"arraybuffer",exportfunctionpostExport(data){returnrequest({url:'http。。。',method:'POST',respo......
  • nginx前后端代理配置
    #前端页面代理location/{roothtml/h5;indexindex.htmlindex.htm;}#后端静态文件代理location/age/static{......
  • MySQL导出表数据为Excel文件时变成E+15【原创】
    如标题所示,因为Excel数据格式变成E+15导致查出的数据不准确。上午百度也没搜出好的方法。想到了一个笨办法,先将文件导成txt,然后用UE列模式在数据前加一列单引号,在黏贴到Ex......
  • 高德地图搜索结果如何导出成excel里?
    前段时间,根据朋友的要求,开发了地图里的商家采集工具。地图商家如何导出?电话如何导出EXCEL?现在很多做销售工作的思路都开阔了,从地图上直接找商家推销。但是普遍反映一个......
  • 跟炒鸡辣鸡一起学用go写游戏后端
    几个月前,把java分布式游戏后端研究了一遍,仿照现成的架构写了两套游戏出来。但是我的脚步并未停下,现在开始研究如何用Go语言搭建游戏后端。1、设计前后端交互的方式之前的j......
  • 跟炒鸡辣鸡一起学用go写游戏后端2
    上回说完了采用何种方式与前端进行交互,这次来说说使用何种形式的数据格式与前端进行交互。也就是通常所说的protocol(协议)。目前,比较主流的是json和xml的方式,不过鉴于游戏......
  • Orthogonal Quasi-Triangularization
    Theorem.Let \(V\) be a finite-dim'l real ips, and let \(T\) be a linear operator on \(V\). Then there exists an onb \(\beta\) for \(V\)......
  • Web项目统一导出方案
    *前言我们在做web项目时,业务需求做的最多的就是查询,既然有查询,难免就有导出。如果给每个查询界面都写一个导出未免有点不够优雅,代码会变得很臃肿冗余,虽然可以把一些公共的......