使用React读取XLSX.js文件时,在Internet Explorer 11上出现TypeMissMatchError。

问题描述 投票:0回答:1

我得到了对话框的错误信息 TypeMissMatchError 在Internet Exlorer 11上选择文件读取后,会出现这样的情况。

enter image description here

下面是我读取文件的代码。

onChangeFile = event => {
    event.stopPropagation();
    event.preventDefault();
    const file = event.target.files[0];
    const reader = new FileReader();
    reader.addEventListener("load", e => {
      const data = e.target.result;
      let readedData = XLSX.read(data, { type: "array", cellDates: true, dateNF: "yyyy-mm-dd;@" });

      const wsname = readedData.SheetNames[0];
      const ws = readedData.Sheets[wsname];
      const dataParse = XLSX.utils.sheet_to_json(ws, { header: 1, raw: false, dateFN: "yyyy-mm-dd", blankrows: false, defval: "" });
      this.validateImportedData(dataParse);
      this.upload.value = "";
    });
    reader.readAsArrayBuffer(file);
  };

Any idea about this error ?

reactjs internet-explorer-11 xlsx
1个回答
1
投票

我试着检查你的代码,发现你的代码中有=>箭头函数。

箭头函数表达式 IE浏览器不支持。

这可能是导致该错误的原因。

您需要将您的代码从ES 6移植到ES 5中,这样才能在IE浏览器中工作。

您可以尝试使用 Babeljs 来转置代码。它可以帮助你解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.