| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /**
- * @Description: 定出Excel文件方法封装处理
- * @Author: Rockery
- * @Date: 2022-03-28 09:19:59
- * @LastEditors: Rockery
- * @LastEditTime: 2022-04-18 11:16:33
- * @FilePath: \airport_web\src\utils\exportexcel.js
- * @Copyright: Copyright (c) 2016~2022 by Rockery(1113269755@qq.com), All Rights Reserved.
- */
- import { parseTime } from '@/utils/ruoyi';
- import { Message } from 'element-ui';
- /**
- * 导出Excel文件
- * @param {*} data 文件数据流
- * @param {String} filePrefix 文件前缀名
- * @param {String} fileSuffix 文件后缀名
- */
- export function exportExcel(data, filePrefix, fileSuffix) {
- // 判断文件前缀名是否存在,不存在默认'EXPORTEXCEL'
- filePrefix = filePrefix ?? 'EXPORTEXCEL';
- // 判断文件后缀名是否存在,不存在默认'.xls'
- fileSuffix = fileSuffix ?? '.xls';
- // 处理文件数据流
- const contentByExportExcel = data;
- const blobByExportExcel = new Blob([contentByExportExcel], {
- type: 'application/vnd.ms-excel;charset=utf-8'
- });
- // 组装文件名称
- const filenameByExportExcel = `${filePrefix}_${parseTime(
- new Date(),
- '{y}-{m}-{d}'
- )}_${new Date().getTime()}${fileSuffix}`;
- // 执行文件下载操作
- if ('download' in document.createElement('a')) {
- const elink = document.createElement('a');
- elink.download = filenameByExportExcel;
- elink.style.display = 'none';
- elink.href = URL.createObjectURL(blobByExportExcel);
- document.body.appendChild(elink);
- elink.click();
- URL.revokeObjectURL(elink.href);
- document.body.removeChild(elink);
- Message({
- message: '导出Excel成功!',
- type: 'success',
- showClose: true,
- center: true
- });
- } else {
- navigator.msSaveBlob(blobByExportExcel, filenameByExportExcel);
- Message({
- message: '导出Excel成功!',
- type: 'success',
- showClose: true,
- center: true
- });
- }
- }
|