• 工作总结系列---【vue页面实现导出表格效果】


    工作情景:在工作中,页面有一个导出表格按钮,点击就会出现表格,作为工作小白,第一次遇到这个问题不知道如何把表格从底部弹出,不过最后实现效果了

    实现步骤:

    1.封装请求:
    ecport function exportTableApi(paramsdata){
     return Request({
     url:'url',
     method:"get",
     params:{...paramsdata},
     responseType:"blob"
     })
    }
    
    
    <template>
      <div><button @click="exporttable">导出表格</button></div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          paramsObj: "",
          yearTitle: "",
          monthTitle: "",
        };
      },
    
      created() {
          //格式化参数
        console.log(getToday(), "=======今天的日期========");
        if (this.$route.query.manageorgId || this.$route.query.date) {
          this.$route.query.manageorgId.indexOf("%") > -1? (this.paramsObj.manageorgId = "%"): (this.paramsObj.manageorgId = this.$route.query.manageorgId);
          this.paramsObj.date = this.$route.query.date;
        } else {
          this.paramsObj.manageorgId = JSON.parse(getLocal("userinfo")).manageorgId;
          this.paramsObj.date = getToday();
        }
    
        this.formatDay(this.paramsObj.date);
      },
    
     methods:{
        //  1.处理日期,需要转换成2020-10-21格式
        formatDay(date){
            let tempDate=date.split("-")
            let year=tempDate[0]
            let month=tempDate[1]
            let date=tempDate[2]
            //将小于10的数字0去掉
            parseInt(month)<10?(month=month.substr(1)):month;
            parseInt(day)<10?(day=day.substr(1)):day;
            this.monthTitle=`${month}月累计`
    		this.yearTitle=`${year}月累计`
        },
    
        // 2.点击发送请求:
       getExportTable(params){
        exportTableApi(params).then((res)=>{
        let blob=new Blob([res],{
        type:"application/vnd.ms-excel;charset=utf-8"
        });
        const fileName="案件占比.xls";
        let downloadElement=document.createElement("a");
        let href=window.URL.createObjectURL(blob);//创建下载的链接
        downloadElement.href=href;
        downloadElement.download=fileName;//下载后文件名
        document.body.appendChild(downloadElement);
        downloadElement.click();//点击下载
        document.body.removedChild(downloadElement);//下载完成移除元素
        window.URL.revokeObjectURL(href) //释放blob
        })
        .catch(err=>{
        console.log("下载失败,err")
        })
    	
       },
        // 3.点击发送请求
       exporttable(){
           this.getExportTable()
       }
    }
    };
    </script>
    
    <style>
    </style>
    
  • 相关阅读:
    sql左外连接、右外连接、group by、distinct(区别)、intersect(交叉)、通配符、having
    nvarchar,varchar 区别
    链家笔试链家——找寻最小消费获取最大平均分java
    利用SpringAOP 实现 日志输出
    AOP 学习笔记
    Spring AOP中pointcut expression表达式解析
    基于@Aspect的AOP配置
    URI 中特殊字符处理
    给电脑设置视力保护色
    Spring不支持依赖注入static静态变量
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/15120495.html
Copyright © 2020-2023  润新知