将excel中的数据转换成json文件的方法

export function exceltojson(fileList) {
  // 前言:FileReader是一种异步文件读取机制,结合input:file可以很方便的读取本地文件。
  let reader = new FileReader();
  let file = fileList[0]; //拿到第一条数据
  reader.readAsBinaryString(file); // 将文件以二进制形式读入页面
  // console.log(this); //这里的this指向 vue中的data
  // let _this = this; //把data里的数据赋值给新的变量
  // wb:wordbook 工作表
  reader.addEventListener("load", function (e) {
    console.log(this); //FileReader实例对象
    var data = e.target.result; //读取成功后result中的数据
    var wb = XLSX.read(data, { type: "binary" }); //以base64方法读取 结果

    let sheetName = wb.SheetNames[0]; //是获取Sheets中第一个Sheet的名字
    let sheets = wb.Sheets[sheetName]; //wb.Sheets[Sheet名]获取第一个Sheet的数据
    //将数据解析为json字符串
    let dataList2 = JSON.stringify(XLSX.utils.sheet_to_json(sheets));
    let dataList3 = JSON.parse(dataList2); //讲json转为 数组的格式 看格式所需
    // _this.dataList = dataList3; //赋值
    const blob = new Blob([dataList2], { type: "application/json" });
    const url = URL.createObjectURL(blob);
    const link = document.createElement("a");
    link.href = url;
    link.download = "data.json";
    link.click();
    URL.revokeObjectURL(url);
  });
}

你可能感兴趣的:(excel,json,javascript,vue.js)