vue 本地xlsx文件下载_vue实现Excel文件的上传与下载功能的两种方式

本文介绍了在Vue项目中实现Excel文件上传和下载的两种方法。前端使用模板下载和导入Excel,通过AjaxHelper处理文件上传,兼容IE10下载。后端处理文件上传和下载,包括文件流转换为DataTable,以及文件验证。
摘要由CSDN通过智能技术生成

3a2c5c47719654b2eb3ed26ac95e70d8.png

一.前言项目中使用到比较多的关于Excel的前端上传与下载,整理出来,以便后续使用或分析他人。

1.前端vue:模板下载与导入Excel

导入Excel封装了子组件,点击导入按钮可调用子组件,打开文件上传的对话框,上传成功后返回结果

class="pull-right"

icon="el-icon-upload"

type="primary"

size="mini"

@click="importFile()"

>批量导入

class="pull-right right-10"

icon="el-icon-download"

type="primary"

size="mini"

@click="downloadFile('档案模板')"

>模板下载

size="mini"

type="primary"

icon="el-icon-plus"

class="pull-right"

@click="addRow"

>新增

placeholder="请输入编码,名称"

prefix-icon="el-icon-search"

v-model="FinQueryParams.archiveFilter"

size="mini"

>

:apiURL="fileUploadUrl"

ref="refFileUpload"

:Refresh="Refresh"

:OtherParams="{brandId: QueryParams.BrandID}"

>

importFile() {

this.$refs.refFileUpload.open();

}

向后台提交文件的方法

submitFile() {

const _this = this;

if (!_this.files.name) {

_this.$message.warning("请选择要上传的文件!");

return false;

}

let fileFormData = new FormData();

//filename是键,file是值,就是要传的文件

fileFormData.append("file", _this.files, _this.files.name);

if(_this.OtherParams){

const keys=Object.keys(_this.OtherParams);

keys.forEach(e=>{

fileFormData.append(e, _this.OtherParams[e]);

})

}

let requestConfig = {

headers: {

"Content-Type": "multipart/form-data"

}

};

AjaxHelper.post(_this.apiURL, fileFormData, requestConfig)

.then(res => {<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值