前端导入excel外加导出excel大全(亲测有效,建议excel格式自己要弄好,不然XLSX会处理不好)

安装xlsx

npm i XLSX --save

前端htnl部分

<input type="file" @change="changeRead" /> //导入的控件
<el-button  size="mini" plain icon="el-icon-download" type="info" @click="ExportData">导出</el-button> //导出的控件

导入方法执行部分

async changeRead(e){
        var that = this
        let files=e.target.files;
        if (files.length <= 0) { // 如果没有文件名
          return false
        } else if (!/\.(xls|xlsx)$/.test(files[0].name.toLowerCase())) {
          this.$Message.error('上传格式不正确,请上传xls或者xlsx格式')
          return false
        }

        const fileReader = new FileReader()
        fileReader.onload = (ev) => {
          try {
            const data = ev.target.result
            const workbook = XLSX.read(data, {
              type: 'binary'
            })
            const wsname = workbook.SheetNames[0]// 取第一张表
            const ws = XLSX.utils.sheet_to_json(workbook.Sheets[wsname])// 生成json表格内容
            console.log(ws, 'ws是表格里的数据,且是json格式') //这里就是导入之后的数据
            // 重写数据
            this.$refs.upload.value = ''
          } catch (e) {
            return false
          }
        }
        fileReader.readAsBinaryString(files[0])
      },
      

导入数据展示
在这里插入图片描述

导出数据示例

export default {
  resolveFile:[{'名称':'前端开发','年龄''18'}]
  }

导出为excel的方法

ExportData(){
        let dataFile=resolveFile.resolveFile //这里是指提供的数据(resolveFile.resolveFile)
        const data = XLSX.utils.json_to_sheet(dataFile)
        const wb = XLSX.utils.book_new()
        XLSX.utils.book_append_sheet(wb, data, 'kalacloud-data')
        XLSX.writeFile(wb, '导出数据.xlsx')
      },

导出示例
在这里插入图片描述
后期会推出怎么导出有样式的excel,要结合xlsx-style,敬请期待

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值