使用 alasql 将多个 JSON 对象导出到 XLSX 文件

export multiple json objects to xlsx file using alasql

本文关键字:XLSX 文件 对象 JSON alasql 使用      更新时间:2023-09-26

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

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

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

此外,我尝试将所有对象合并到一个对象中,但没有奏效,我只正确获取了表标题,但是它没有显示正确的数据,它只在表格单元格内显示(对象对象)。

您希望在 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 和其他对象(或数组)结构的更多详细信息,我可以根据您的需求调整答案。