1

我想使用文件路径直接读取文件的内容。我可以通过选择文件来做到这一点。但我不知道如何使用直接文件路径来做到这一点。我找不到任何示例或来源。下面是我如何通过从输入中选择文件来读取文件。

import * as XLSX from 'xlsx';
var items = [];

readExcel = (file) => {
const promise = new Promise((resolve, reject) => {
  const fileReader = new FileReader();
  fileReader.readAsArrayBuffer(file);

  fileReader.onload = (e) => {
    const bufferArray = e.target.result;

    const wb = XLSX.read(bufferArray, { type: "buffer" });

    const wsname = wb.SheetNames[0];

    const ws = wb.Sheets[wsname];

    const data = XLSX.utils.sheet_to_json(ws);

    resolve(data);
  };

  fileReader.onerror = (error) => {
    reject(error);
  };
});

promise.then((d) => {
  this.items = d;
  console.log(this.items)

  // fill dictionary
  this.dictionary = Object.assign({}, ...this.items.map((x) => ({ [x.PartNumber]: x.Cost })));
  console.log(this.dictionary)

});

};

<input
        type="file"
        onChange={(e) => {
          const file = e.target.files[0];
          this.readExcel(file);
        }}
      />
4

2 回答 2

0

我相信它应该工作:

const req = new XMLHttpRequest();
req.responseType = "arraybuffer";
req.open("GET", "https://.../MyExcelFile.xlsx", true);

req.onload = () => {
  const bufferArray = req.response;
  const wb = XLSX.read(bufferArray, { type: "buffer" });
  ...
于 2021-05-02T08:00:30.313 回答
0

我找不到直接读取操作。我将excel文件转换为json格式并完成了我的工作。

于 2021-08-23T12:45:56.440 回答