如何解决如何在函数外传输数据
想问我如何在函数外传输rowObject数据。
document.getElementById('buttonn').addEventListener("click",() => {
XLSX.utils.json_to_sheet(data,'out.xlsx');
if(selectedFile){
let fileReader = new FileReader();
fileReader.readAsBinaryString(selectedFile);
fileReader.onload = (event)=>{
let result = event.target.result;
let workbook = XLSX.read(result,{type:"binary"});
console.log(workbook);
workbook.SheetNames.forEach(sheet => {
let rowObject = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheet]);
console.log(rowObject);
data = rowObject;
// document.getElementById("jsondata").innerHTML = JSON.stringify(rowObject,undefined,4)
// document.getElementById("jsondata").innerHTML = JSON.stringify(rowObject,4)
});
}
}
});
const resultData = rowObject;
这里是将行对象设置为新的resultData,以便我可以在表中使用它。 谢谢!
解决方法
将其全局分配,您可以将其设置在窗口中:
window["rowObject"] = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheet]);
任何地方都可以到达(如果这就是您的意思)
,在EventHandler之外,您必须定义一个全局变量:let globalData;
然后,您可以在EventHandler中分配此变量,并在代码中的任何位置使用它。
以下是全局/局部变量的示例:
let i_am_global = 0;
function f() {
let i_am_local = 1;
i_am_global = 2;
}
console.log(i_am_global);
f();
console.log(i_am_global);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。