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)
})
});
}