我将FileReader对象与xlsx.js结合使用,将Excel表格中的数据导入我的AngularJS Web-App。
该函数永远不会结束,因此我需要通过单击按钮继续我的脚本来手动调用空虚拟函数check(){}来手动继续脚本。我不知道,为什么剧本的行为就像那样。
我的控制器代码:
$scope.fileChanged = function(files) {
var i,f;
f = files[0];
reader = new FileReader();
reader.onload = function(e) {
var data = e.target.result;
var workbook = XLSX.read(data, {type: 'binary'});
formData.data.teams = XLSX.utils.sheet_to_json(workbook.Sheets['latusch']);
var sheet_name_list = workbook.SheetNames;
var worksheet = workbook.Sheets['latusch'];
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;
}
});
reader.readAsArrayBuffer(f);
}
答案 0 :(得分:0)
readAsArrayBuffer
位于onload回调中,因此不会被调用
将其从回调中删除。