Как прочитать данные из локального файла XLSX и сохранить их в объект / массив - PullRequest
0 голосов
/ 10 мая 2019

Мне нужно прочитать данные из локального файла XLSX и сохранить их в объект (или массив).

Данные выглядят так:

и мне нужны такие данные:

чтобы я мог работать с ним (сравнить его с другими объектами / отобразить его ...)

Как это возможно?

I tried an AJAX call with the following code:

/* set up XMLHttpRequest */
var url = "Test.xlsx";
var oReq = new XMLHttpRequest();
oReq.open("GET", url, true);
oReq.responseType = "arraybuffer";

oReq.onload = function(e) {
  var arraybuffer = oReq.response;

  /* convert data to binary string */
  var data = new Uint8Array(arraybuffer);
  var arr = new Array();
  for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
  var bstr = arr.join("");

  /* Call XLSX */
  var workbook = XLSX.read(bstr, {type:"binary"});

  /* DO SOMETHING WITH workbook HERE */
  var first_sheet_name = workbook.SheetNames[0];
  /* Get worksheet */
  var worksheet = workbook.Sheets[first_sheet_name];
  var test = XLSX.utils.sheet_to_json(worksheet,{raw:true})
  console.log(test)
}

oReq.send();

console.log(test) //I can not access it here..

Это сработало, и я получил объект так, как мне было нужно, но проблема в том, что я не могу получить доступ к объекту вне функции. Я сделал сообщение несколько часов назад: Как получить объект из асинхронного вызова (файл xlsx) в глобальную область действия

...