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标签

};

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

  1. Spring MVC之中前端向后端传数据

    Spring MVC之中前端向后端传数据和后端向前端传数据是数据流动的两个方向, 在此先介绍前端向后端传数据的情况. 一般而言, 前端向后端传数据的场景, 大多是出现了表单的提交,form表单的内容在 ...

  2. 前端与后端的数据交互(jquery ajax+python flask)

    前端与后端的数据交互,最常用的就是GET.POST,比较常用的用法是:提交表单数据到后端,后端返回json 前端的数据发送与接收 1)提交表单数据 2)提交JSON数据 后端的数据接收与响应 1)接收 ...

  3. Python Django 前后端数据交互 之 前端向后端发送数据

    Python Django 之 前端向后端发送数据

  4. 前端和后端的数据交互(jquery ajax+python flask+mysql)

    上web课的时候老师布置的一个实验,要求省市连动,基本要求如下: 1.用select选中一个省份. 2.省份数据传送到服务器,服务器从数据库中搜索对应城市信息. 3.将城市信息返回客户,客户用sele ...

  5. webpack+vue项目实战(四,前端与后端的数据交互和前端展示数据)

    地址:https://segmentfault.com/a/1190000010063757 1.前言 今天要做的,就是在上一篇文章的基础上,进行功能页面的开发.简单点说呢,就是与后端的数据交互和怎么 ...

  6. 前端调用后端接口下载excel文件的几种方式

    今天有一个导出相应数据为excel表的需求.后端的接口返回一个数据流,一开始我用axios(ajax类库)调用接口,返回成功状态200,但是!但是浏览器没有自动下载excel表,当时觉得可能是ajax ...

  7. vue+jquery使用FormData向后端传递数据和文件,express如何获取

    使用multiparty 模块 下载 cnpm install multiparty --save 前端代码: <template> <div class="add-are ...

  8. 关于前端调用后端php数据跨域的问题

    https://blog.csdn.net/qq_21386275/article/details/87269979 js前端 <!DOCTYPE html><html>< ...

  9. 前端向后端获取数据的三种方法:ajax、axios、fetch

    1.jQuery中的ajax get方法: $.ajax({ url:"v4/api/film/now-playing?t=1539401039415&page=1&coun ...

  10. C#后端接收前端的各种类型数据

    前端往后端提交数据的方式常用的就这么三种:1.form提交:2.url参数提交:3.json提交 1.针对表单form方式的提交 在后端使用Request.Form的方式接收,比如 前端代码片段: v ...

随机推荐

  1. Android拍照程序适配

    public void takePic(){ String forderPath = getExternalFilesDir("") + "/pic"; Fil ...

  2. 查询dockerhub中某镜像所有版本

    curl https://registry.hub.docker.com/v1/repositories/${imagename}/tags | tr -d '[[]" ]' | tr '} ...

  3. 实现分页数据请求的思路/Element UI(Plus)的分页模板(Vue3.x写法),(直接使用<script>引入vue.js)

    实现分页数据请求的思路/Element UI(Plus)的分页模板(Vue3.x写法),(直接使用<script>引入vue.js) 1. 效果图: 2.实现分页数据请求的思路:   分页 ...

  4. ping Hyper-V内虚拟机网络延迟

  5. 【2】locust性能测试原理分析+登录测试脚本+总结

     login_per_test1.py #对登录功能进行单点性能测试(一组测试数据)#发送首页请求,通过locust进行性能测试from locust import HttpLocust,task,T ...

  6. CF652F 题解

    题意 传送门 在一个长度为 \(m\) 的圆环上有 \(n\) 只初始位置互不相同的蚂蚁,每只蚂蚁的速度都为 \(1\),初始方向为顺时针或逆时针:两只运动方向不同的蚂蚁相遇时会调转方向,问 \(t\ ...

  7. PLM数据库脚本升级命令

    登录mysql:mysql -uroot  -S /mysqlrun/plmtestmysql/run/plmtestmysql.sock --port=10050  -p 导出数据库脚本:mysql ...

  8. 2363. 合并相似的物品 (Easy)

    问题描述 2363. 合并相似的物品 (Easy) 给你两个二维整数数组 items1 和 items2 ,表示两个物品集合.每个数组 items 有以下特质: items[i] = [valueᵢ, ...

  9. 查看Linux系统的一些信息

    1.查看物理cpu个数 grep 'physical id' /proc/cpuinfo | sort -u | wc -l cat /proc/cpuinfo | grep "physic ...

  10. VUE学习-生命周期

    生命周期 函数 描述 beforeCreate 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用. created 在实例创建完成后被立即 ...