使用alasql将多个json对象导出到xlsx文件

时间:2016-02-21 21:21:39

标签: javascript json excel xlsx alasql

第一次使用alasql和sql,但是尝试将多个json对象导出到xlsx文件 我正在使用

  alasql('SELECT * INTO XLSX("Report.xlsx",{headers:true}) FROM ?', [$scope.children, $scope.answer, $scope.optional, $scope.user]);

仅适用于数组中的第一个对象($ scope.children),但从不显示其余的这些对象。 有什么线索我可以将所有这些对象添加到一个表中。

我也尝试将所有对象合并到一个对象,但没有工作,我只获得表头,但它没有显示它只显示表格单元格内的对象数据的正确数据。

1 个答案:

答案 0 :(得分:0)

您对Excel文件的期望是什么?

如果这是多个工作表文件,每个数组都有不同的工作表,那么它应该是

 var opts = [{sheetid:'Children'},{sheetid:'Answer'}, 
    {sheetid:'Optional'},{sheetid:'User'}];

 alasql('SELECT INTO XLSX("Report.xlsx") FROM ?', 
      [opts,[$scope.children, $scope.answer, $scope.optional, $scope.user]]);

如果您想将所有这些数组合并到一个数组中,则需要先准备它,例如:

var arr = [];
$scope.children.forEach(function(ch,idx){
    arr.push({child:$scope.children[idx], answer:$scope.answer[idx],
                  optional:$scope.optional[idx],$scope.user[idx]
    });
});

alasql('SELECT * INTO XLSX("Report.xlsx") FROM ?',[arr]);

如果您可以提供有关$ scope.children,$ scope.answer和其他对象(或数组)结构的更多详细信息,我可以根据您的需要调整答案。