前端excel文件上传

前端excel文件上传

使用element-plus上传ecxcel文件

步骤

  1. 下载xlsx库:npm install xlsx
  2. 导入xlsx:import * as XLSX from ‘xlsx’
  3. 使用element-plus的el-upload组件
  4. 编写文件上传函数
 <!-- 文件上传 -->
    <el-upload class="upload-demo" drag multiple :show-file-list="false" accept=".xlsx" :http-request="uploadHandler">
      <el-icon class="el-icon--upload"><upload-filled /></el-icon>
      <div class="el-upload__text">
        拖拽文件到此处或者 <em>点击上传</em>
      </div>
      <template #tip>
        <div class="el-upload__tip">
          格式为xlsx 文件大小小于500KB
        </div>
        <el-table :data="tableData" v-if="tableData.length">
          <el-table-column v-for="(value, key) in tableData[0]" :key="key" :prop="key" :lable="key">
          </el-table-column>
        </el-table>
      </template>
    </el-upload>

uploadHandler(data) {
      //安装xlsx库
      // npm install xlsx
      //这是文件上传
      const file = data.file
      console.log(file)
      //创建一个文件读取的实例
      const reader = new FileReader()
      console.log(reader)
      //读取成一个Buffer格式文件
      reader.readAsArrayBuffer(file)
      //当onload执行时,文件已经读取完成
      reader.onload = async (e) => {
        console.log(e.target.result)
        const fileData = e.target.result
        //利用XLSX对数据进行解析
        const wordbook = await XLSX.read(fileData, { type: Array })
        console.log(wordbook, "wordbook")
        //获取一张表的表名
        const sheetName = wordbook.SheetNames[0]
        //根据表名拿到表里面的内容
        const sheetData = wordbook.Sheets[sheetName]
        //解析成JSON
        const json = XLSX.utils.sheet_to_json(sheetData)
        console.log(json, "json")
        this.tableData = json

      }

效果图:
文件上传
上传成功后展示图
注意:以上就是今天的分享啦

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值