Excel表格导入导出功能

102 阅读1分钟

1.表格导入 表格导入我用的是Element框架的Upload上传组件,话不多说,看代码:

 <el-upload
        :action="url"//url是上传的地址
        :headers="token"//设置token令牌(token:{ token: "这里是token的具体值" })
        :auto-upload="true"
        :show-file-list="false"
        accept=".xls, .xlsx"//控制上传的文件格式
        :on-success="success"//上传的回调函数
      >
        <el-button class="tiku" type="primary">导入题库</el-button>//导入的按钮
      </el-upload>

2.表格导出 表格导出封装成一个函数,放便在多个页面使用.看代码:

export function download(url, params) {//url请求的地址,params请求参数
    return new Promise((resolve, reject) => {
        axios({
            method: 'get',
            url: url,
            params: params,
            responseType: 'blob',

        }).then(response => {
            const blob = new Blob([response.data]);
            let fileName = '后台表格.xlsx';//定义表格的名字
            if ('download' in document.createElement('a')) { // 非IE下载
                const elink = document.createElement('a');
                elink.download = fileName;
                elink.style.display = 'none';
                elink.href = URL.createObjectURL(blob);
                document.body.appendChild(elink);
                elink.click();
                URL.revokeObjectURL(elink.href);// 释放URL 对象
                document.body.removeChild(elink)
            } else// IE10+下载
                navigator.msSaveBlob(blob, fileName)
            }
            resolve(response);
        }).catch((err) => {
            reject(err)
        })
    });
}