欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue element上傳excel

劉姿婷2年前9瀏覽0評論

在前端開發(fā)中,上傳excel文件是一個常見的需求。Vue作為目前非常流行的前端框架,可以通過引入第三方組件庫element-ui來實(shí)現(xiàn)excel上傳功能。下面將詳細(xì)介紹如何在Vue項(xiàng)目中使用element-ui實(shí)現(xiàn)excel上傳。

首先,在Vue項(xiàng)目中安裝element-ui:

npm install element-ui -S

然后在main.js中引入:

import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)

接下來,在需要使用excel上傳的組件中,可以使用element-ui提供的el-upload組件:

<template>
<div>
<el-upload
class="upload-demo"
action="/api/excel/upload"
:show-file-list="false"
:on-success="handleSuccess"
:before-upload="beforeUpload"
>
<el-button size="small" type="primary">點(diǎn)擊上傳</el-button>
<div slot="tip" class="el-upload__tip">只能上傳xlsx文件且不超過5MB</div>
</el-upload>
</div>
</template>

其中,action屬性代表上傳URL,show-file-list屬性表示上傳文件后是否顯示文件列表,on-success為上傳成功時的回調(diào)函數(shù),before-upload為上傳前執(zhí)行的函數(shù)。

接下來定義handleSuccess函數(shù)和beforeUpload函數(shù):

methods: {
beforeUpload(file) {
const isXlsx = file.type === 'application/vnd.ms-excel'
const isLt5M = file.size / 1024 / 1024< 5
if (!isXlsx) {
this.$message.error('只能上傳xlsx文件')
return false
}
if (!isLt5M) {
this.$message.error('上傳文件大小不能超過 5 MB')
return false
}
return true
},
handleSuccess(response, file, fileList) {
this.$message.success('上傳成功')
}
}

在beforeUpload函數(shù)中,先判斷上傳的文件類型是否為xlsx,如果不是,則提示用戶只能上傳xlsx文件,并返回false阻止本次上傳。如果文件類型正確,再判斷上傳的文件大小是否小于5MB,如果超過5MB,則同樣提示用戶文件大小不能超過5MB,并返回false阻止本次上傳。如果文件大小和類型都正確,則返回true,允許本次上傳。

在handleSuccess函數(shù)中,上傳成功后會彈出上傳成功的提示信息。

最后,需要在后端接口中進(jìn)行excel文件的解析操作。具體實(shí)現(xiàn)方式可以使用python中的pandas包對excel進(jìn)行解析。這里給出一個簡單的python后端代碼示例:

import pandas as pd
from flask import Flask, request, jsonify
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
@app.route('/api/excel/upload', methods=['POST'])
def upload():
excel_file = request.files.get('file')
df = pd.read_excel(excel_file)
# do something with df
return jsonify({'success': True})
if __name__ == '__main__':
app.run(port=5000, debug=True)

通過request.files.get('file')獲取上傳的文件,并使用pandas的read_excel函數(shù)將文件讀取為DataFrame。之后,開發(fā)者可以按需對DataFrame進(jìn)行操作。