zoukankan      html  css  js  c++  java
  • 前端实现导入Excel 数据回显

    首先需要下载  xlsx 插件

    然后在需要的页面引入

    import XLSX from 'xlsx'

    1.定义一个文件上传项 <input type="file" id="excel-file">

    放入button  按钮当中,通过change事件  监听文件选择

          // 导入
          getFiles(e){
            // 获取excel 文件参数(files)
            var files = e.target.files[0];
            var suffix = e.target.files[0].name.split(".")[1]
            // 判断文件类型是不是xlsx 格式
            if(suffix != 'xls' && suffix !='xlsx'){
              return this.$message.warning('文件类型不正确')
            }
            // 定义FileReader对象
            var reader = new FileReader()
            //  文件读取成功完成时触发
            reader.onload = (ev) => {
              // 文件里的文本会在这里被打印出来
              console.log('onload',ev)
                try {
                  var data = ev.target.result
                  var workbook=XLSX.read(data,{type:"binary"}) // 以二进制流方式读取得到整份excel表格对象
                  var persons = []; // 存储获取到的数据
                } catch (e) {
                    console.log(e)
                    this.$message.warning('文件类型不正确');
                    return;
                }
                  // 表格的表格范围,可用于判断表头是否数量是否正确
                  var fromTo = '';
                  // 遍历每张表读取
                  for (const sheet in workbook.Sheets) {
                      if (workbook.Sheets.hasOwnProperty(sheet)) {
                          fromTo = workbook.Sheets[sheet]['!ref'];
                          persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
                          // break; // 如果只取第一张表,就取消注释这行
                      }
                  }
                  // 把获取的表格数据进行赋值
                  this.reorderTable = persons.slice(0,-1)
                  //  显示弹窗
                  this.showfile = true
                  // console.log('以二进制方式打开文件',this.showfile,this.reorderTable); 
            };
              // 以二进制方式打开文件
              reader.readAsBinaryString(files);
          },
    

      

  • 相关阅读:
    数据库创建标量值函数
    大并发大数据量请求的处理方法
    模态对话框 bootstrap-modal.js
    创建测试表,批量插入数据的存储过程,分页存储过程
    android:强大的图片下载和缓存库Picasso
    压缩图片链接
    Css3:transform变形
    css中 padding属性的数值赋予顺序为
    Css3颜色值RGBA得表示方式
    css3 box-shadow让我们实现图层阴影效果
  • 原文地址:https://www.cnblogs.com/llive/p/14880957.html
Copyright © 2011-2022 走看看