XMLHttpRequest と sheetjs ( https://github.com/SheetJS/js-xlsx ) を使用して、Excel スプレッドシートから json オブジェクトを作成しています。の外部で作成されたオブジェクトにアクセスするのに苦労していることを除いて、すべてがうまく機能していますoReq.onload
。json オブジェクトを作成した後、XMLHttpRequest の下のコードへの入力オブジェクトとして使用したいと思います。
return json
最後に試してみましたoReq.onload
が、追加のコードを内部に含めようとしましたfunction (e) {}
が、どちらのオプションも機能しませんでした。任意の提案をいただければ幸いです。
/* set up XMLHttpRequest */
var url = "graph.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"});
/* Create the json object */
var json = to_json(workbook);
/*Converts excel format to JSON*/
function to_json(workbook) {
var result = {};
workbook.SheetNames.forEach(function(sheetName) {
var roa = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
if(roa.length > 0){
result[sheetName] = roa;
}
});
return result;
}
};
oReq.send();
/*I WOULD LIKE TO USE THE CREATED JSON OBJECT HERE*/