前端点击下载excel表格数据
<el-button type="primary" @click="downloadChartData" size="mini">下 载</el-button>
// 隐藏的download按钮,返回数据后自动触发click生成csv文件
<el-button type="primary" style="display: none">
<a href="####" style="color: #fff;" id="download">excel下载地址</a>
</el-button>
downloadChartData() {
let self = this
let param = {
"start":common.timeFormat(this.form.time[0],'yy/MM/dd-hh:mm:ss'),
"end":common.timeFormat(this.form.time[1],'yy/MM/dd-hh:mm:ss'),
"aggregator": "zimsum",
"tags": {
"isp": this.form.isp,
"cdn": this.form.cdn,
"province": this.form.province,
"domain": this.form.domain,
"acctype": this.form.domainType
},
// "type": this.form.domainType
}
let totalParam = JSON.parse(JSON.stringify(param))
let paramTags = totalParam.tags
self.loading = true
for(let key in param.tags){
if(param.tags[key] === 'total'){
delete param.tags[key]
}
}
this.$ajax({
method: 'post',
url: `${self.host}/opentsdb/download`,
data: param,
responseType: 'blob'
}).then(function (res) {
self.loading = false
if(res.data.size && res.data.size === 0){
self.$message({
type: 'warning',
message: '暂无数据!'
});
}else{
let domainTags = paramTags.domain === 'total' ? '域名汇总' : paramTags.domain
let ispTags = paramTags.isp === 'total' ? '-运营商汇总' : '-' + common.ispMap[paramTags.isp]
let cdnTags = paramTags.cdn === 'total' ? '-运营商汇总' : '-' + common.cdnMap[paramTags.cdn]
let provinceTags = paramTags.province === 'total' ? '-运营商汇总' : '-' + common.provinceMap[paramTags.province]
let retFile = res.data
let downloadLink = document.getElementById('download')
let blob = new Blob([retFile], {type: 'text/plain;charset=utf-8'})
let downloadUrl = window.URL.createObjectURL(blob)
let downloadFileName = domainTags + ispTags + cdnTags + provinceTags + '-' + param.start + '___' + param.end + '-' + new Date().getTime() + '.csv'
downloadLink.setAttribute('href', downloadUrl)
downloadLink.setAttribute('download', downloadFileName)
// 自动点击下载按钮,进行下载
downloadLink.click()
}
})
}
前端点击下载excel表格数据的更多相关文章
- Java操作Jxl实现导出数据生成Excel表格数据文件
实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...
- Vue3实现动态导入Excel表格数据
1. 前言 在开发工作过程中,我们会遇到各种各样的表格数据导入,大部分我们的解决方案:提供一个模板前端进行下载,然后按照这个模板要求进行数据填充,最后上传导入,这是其中一种解决方案.个人认为还有另外 ...
- Visual Studio 2010利用libxl读写excel表格数据
C++读写数据,一般通过txt文件,但是随着数据量的增大,采集数据时运用excel表格的优势得以逐步体现.本文主要介绍一下运用第三方库libxl,对excel表格数据进行读写.分为三个部分,第一部分是 ...
- 用多线程优化Excel表格数据导入校验的接口
公司的需求,当前某个Excel导入功能,流程是:读取Excel数据,传入后台校验每一条数据,判断是否符合导入要求,返回给前端,导入预览展示.(前端等待响应,难点).用户再点击导入按钮,进行异步导入(前 ...
- 利用 pandas库读取excel表格数据
利用 pandas库读取excel表格数据 初入IT行业,愿与大家一起学习,共同进步,有问题请指出!! 还在为数据读取而头疼呢,请看下方简洁介绍: 数据来源为国家统计局网站下载: 具体方法 代码: i ...
- jxl读取Excel表格数据
调用jxl包实现Excel表格数据的读取,代码如下: import java.io.File; import java.io.IOException; import java.util.ArrayLi ...
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...
- JXL读取写入excel表格数据
问题描述: 使用java的jxl包创建.写入excel表格数据 问题解决: (1)说明 (2)写入execel数据 注: 以上是写入数据需要调用的函数接口 注: 具体接口调用过程,如上所示 (3)读取 ...
- 将包含经纬度点位信息的Excel表格数据导入到ArcMap中并输出成shapefile
将包含经纬信息的Excel表格数据,导入到ArcMap中并输出成shapefile,再进行后面的操作.使用这种方法可以将每一个包含经纬信息的数据在ArcMap中点出来. 一.准备数据 新建Excel表 ...
随机推荐
- Chrome Development Tool: [VM] file from javascript
Chrome Development Tool: [VM] file from javascript [VM] (scriptId) has no special meaning. It's a du ...
- Python学习笔记—Dict和set
dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...
- AMBARI部署HADOOP集群(4)
通过 Ambari 部署 hadoop 集群 1. 打开 http://192.168.242.181:8080 登陆的用户名/密码是 : admin/admin 2. 点击 “LAUNCH INS ...
- 查询出与jack互为好友的人名字
建表 /* Navicat MySQL Data Transfer Source Server : connect1 Source Server Version : 50611 Source Host ...
- 浏览器端-W3School-HTML:HTML DOM Video 对象
ylbtech-浏览器端-W3School-HTML:HTML DOM Video 对象 1.返回顶部 1. HTML DOM Video 对象 Video 对象 Video 对象是 HTML5 中的 ...
- css3图片变灰
html{ filter:grayscale(100%); -webkit-filter:grayscale(100%); -moz-filter:grayscale(100%); -ms-filte ...
- EL表达式与JSTL标签库(一)
1.JSTL概述 JSTL标签库由标签库和EL表达式两个部分组成.JSTL标准标签库(Java Server Page Standard Tag Library),用来解决创建的页面的操作问题,包括输 ...
- Windows 下关于转码的函数
std::string& MsgFieldList::GBToUTF8(std::string& des,const char* str) { WCHAR *strSrc; TCHAR ...
- office web apps安装部署,配置https,负载均衡(七)配置过程中遇到的问题详细解答
该篇文章,是这个系列文章的最后一篇文章,该篇文章将详细解答owa在安装过程中常见的问题. 如果您没有搭建好office web apps,您可以查看前面的一系列文章,查看具体步骤: office we ...
- python高级 之(四) --- 模块方法
模块 时间模块:time/datatime/calendar. 系统操作文件模块:os time模块 介绍 import time # 获取当前时间, 结果是存在时间元组中的.星期一是从0开始的 # ...