vue 使用XLSX 导入表格


vue 使用XLSX 导入表格

 

1,引入

import XLSX from "xlsx"; 2,使用el-upload
             

3,导入方法

//导入
      importExcel(file) {
        const types = file.name.split(".")[1];
        const fileType = ["xlsx", "xlc", "xlm", "xls", "xlt"].some(
          item => item === types
        );
        if (!fileType) {
          alert("格式错误!请重新选择");
          return;
        }
        this.file2Xce(file).then(tabJson => {
          if (tabJson && tabJson.length > 0) {
            var data = {};
            var this_ = this;
            let params = Object.assign({}, this_.reviewForm);
            this_.card = JSON.stringify(tabJson[0].sheet);
            data.card = this_.card;
//中英文转化 let merchantList = this_.dateTransition(data); for(let i=0;i
    file2Xce(file) {
        return new Promise(function(resolve, reject) {
          const reader = new FileReader();
          reader.onload = function(e) {
            const data = e.target.result;
            this.wb = XLSX.read(data, {
              type: "binary"
            });
            const result = [];
            this.wb.SheetNames.forEach(sheetName => {
              result.push({
                sheetName: sheetName,
                sheet: XLSX.utils.sheet_to_json(this.wb.Sheets[sheetName])
              });
            });
            resolve(result);
          };
          reader.readAsBinaryString(file.raw);
        });
      },

4 中英文转换

 // 将对应的中文key转化为自己想要的英文key
      dateTransition(data){
        let list = [];
        var obj = {};
          var outdata =JSON.parse(data.card);
        for(var i = 0; i