Home  >  Article  >  Web Front-end  >  Detailed explanation of how el-upload implements uploading Excel files

Detailed explanation of how el-upload implements uploading Excel files

小云云
小云云Original
2018-01-20 10:50:513687browse

This article mainly introduces the relevant information about the example of uploading Excel files using the elemetUi component-el-upload. I hope that through this article, everyone can realize such a function. Friends who need it can refer to it. I hope it can help everyone.

elemetUi component--el-upload implements an example of uploading Excel files

[Requirements] To implement uploading Excel files, when uploading to the server, you also need to Attach a parameter to determine the file format before requesting the upload file interface.

[Knowledge Points]

1. In the official el-upload documentation, the following attributes are mainly used:

data Optional parameters, additional parameters included when uploading
name Optional parameters, uploaded file field names
before-upload Optional parameter, the hook before uploading the file. The parameter is the uploaded file. If false is returned or Promise is returned and rejected, the upload will stop. .

 2. Split for string interception

[Analysis]


##

<template>
  <p class="panel admin-panel">
    <p class="panel-head" id="add"><strong><span class="el-icon-edit"></span><span class="title">上传数据</span></strong></p>
    <p class="body-content">
      <el-form :model="ruleForm" ref="ruleForm" label-width="100px" class="form uploadform">
        <el-form-item label="部门" prop="name">
          <el-select v-model="form.type" placeholder="请选择" style="width: 135px">
            <el-option
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>

        <el-form-item>

          <el-upload
              class="upload-demo"
              ref="upload"
              action="http://10.1.20.218:8088/gnh-webadmin-platfrom/api/v1/sendSalaryBillGeinihua"
              :on-preview="handlePreview"
              :before-upload="beforeAvatarUpload"
              :on-remove="handleRemove"
              :file-list="fileList"
              :auto-upload = &#39;false&#39;
              :on-success = &#39;handleSuccess&#39;
              :data="form"
              name="salaryBill">
            <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
            <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
            <p slot="tip" class="el-upload__tip">只能上传xls/xlsx文件</p>
          </el-upload>

        </el-form-item>
      </el-form>
    </p>
  </p>
</template>
<script>
  export default {
    data() {
      return {
        options: [{
          value: &#39;1&#39;,
          label: &#39;帅哥部&#39;
        }, {
          value: &#39;2&#39;,
          label: &#39;美女部&#39;
        }],
        fileName:&#39;&#39;,
        fileList:[],
        ruleForm: {
//          name: &#39;&#39;,
          isShow: &#39;0&#39;
        },
        form:{
          type:&#39;1&#39;
        },

      };
    },
    methods: {
      submitUpload() {
        this.$refs.upload.submit();
      },

      beforeAvatarUpload(file) {

        let Xls = file.name.split(&#39;.&#39;);

        if(Xls[1] === &#39;xls&#39;||Xls[1] === &#39;xlsx&#39;){
          return file
        }else {
          this.$message.error(&#39;上传文件只能是 xls/xlsx 格式!&#39;)
          return false
        }

      },
      handleRemove(file, fileList) {
      },
      handlePreview(file) {
      },
      handleSuccess(res,file,fileList){

        if(res.code===20000){
          this.$message({
            message: &#39;上传成功!&#39;,
            type: &#39;success&#39;
          });
        }else {
          this.$message({
            message: res.msg,
            type: &#39;error&#39;
          });
        }

      }
    }
  }
</script>
<style scope>
  input[type="file"] {
    display: none;
  }
  .el-upload-list{
    width: 200px;
  }
  .el-select {
    width: 135px;
  }

</style>

Related recommendations:


How to determine whether there is a picture in the file when uploading an Excel file in php

##How to determine whether there is a picture in the file when uploading an Excel file in php

jquery-file-upload File upload with progress bar effect example sharing

The above is the detailed content of Detailed explanation of how el-upload implements uploading Excel files. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn