我正在尝试使用ALASQL将结果查询设置为数组或JSON对象:

var resdata2 = [ { A: "test", B: "testB" } ]; // Destination array

// Select first and second column values from xlxs
alasql('select A,B into ? from xlsx("gohan.xlsx")', [resdata2]);

console.log(resdata2);                        // Shows one object for xlsx line!
console.log(resdata2.length);                 // Shows length of 1 only

$.each(resdata2,function(idx, obj) {
    console.log(obj.A);                       // Shows only 'test'
    console.log(obj.B);                       // Shows only 'testB'
});


电子表格有18行,出现在第一行console.log()中,但是在第二行console.log()中和每个函数中,它仅显示第一行"Test""testB"

有什么想法可以显示所有内容吗?

最佳答案

可能您需要使用回调接口:

var resdata2;
alasql('select A,B from xlsx("gohan.xlsx")', [], function(data) {
    resdata2 = data;
});


在这里,您需要使用AlaSQL的回调接口,因为XLSX()函数是异步的。

关于javascript - 选择INTO数组或对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33894953/

10-10 14:46