• 若依框架导出下载pdf/excel以及导入打印等


    一、打印文件

    // 报表打印
    handlePdf(row) {
     	wayAPI(row.billcode).then((res) => {
     		var binaryData = [];
     		binaryData.push(res);
     		let url = window.URL.createObjectURL(new Blob(binaryData, {
     			type: "application/pdf"
     		})); 					
     		window.open("/static/pdf/web/viewer.html?file=" + encodeURIComponent(url));
     	});
    },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    二、下载文件,当返回的是文件路径时候(比如:/file/文件.pdf),直接用this.download()方法

    waysAPI().then((response) => {
     	this.download(response.data);//response.data是返回的路径
    });
    //这里的waysAPI是已经封装好了请求
    
    • 1
    • 2
    • 3
    • 4

    三、下载文件,当返回是文件流的形式时候(文件流)

    excels(qparams).then(response => { //qparams是接口参数
    		const blob = new Blob([response], {
    		type: "application/vnd.ms-excel;charset=utf-8"
    		});
    		const fileName = '下载的表格名称' + '.xlsx';
    		if (window.navigator.msSaveOrOpenBlob) {
    				navigator.msSaveBlob(blob, fileName);
    		} else {
    		const link = document.createElement("a");
    		link.href = window.URL.createObjectURL(blob);
    		link.download = fileName;
    		link.click();
    		window.URL.revokeObjectURL(link.href);
    		}
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    上面是excel,如果是pdf,那么

    const blob = new Blob([res.data], {type: 'application/pdf'});
    
    • 1

    api.js文件中

    // 导出入库单
    export function excels(query) {
        return request({
            url: 'urls',
            method: 'get',
            params: query,
    		responseType: 'blob' //这个必须,不然会乱码
        })
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    数据结构-顺序存储二叉树
    DO280私有仓库持久存储与章节实验
    STC15单片机-看门狗介绍
    宏任务和微任务、事件循环、面试题
    Java配置42-配置redis高可用(sentinel监控)
    在C++中++a和a++有什么区别?
    9.4JavaEE——声明式事务管理(一)基于XML方式的声明式事务
    Android 使用元数据
    Python牛客刷题笔记
    Docker搭建Sentry
  • 原文地址:https://blog.csdn.net/huang_jimei/article/details/134553760