如何将角度UI-Grid过滤和完整数据导出到excel中

时间:2017-03-21 15:03:22

标签: javascript angularjs angular-ui-grid

我正在使用UI-Grid在我的角度应用程序上创建网格视图。 UI-Grid提供将过滤的和完整的网格数据导出为csv或pdf格式。但我需要将数据导出到excel中。

我使用早期的Alasql导出网格数据但是我使用ng-repeat来生成网格。

这里的Ui-grid指令负责生成网格,并且通过使用UI-Grid指令公开的简单方法,我们可以导出数据。只是想知道是否有人尝试将数据导出到excel中。

不共享代码,因为我使用的是与UI-Grid教程相同的代码,并且它为我工作,只是我需要在excel文件中导出。

1 个答案:

答案 0 :(得分:2)

我也在使用ui-grid的应用程序中工作,将数据导出到xlsx我曾经使用过像这样的alasql:

$scope.exportXLS = function exportXLS() {
  alasql.promise('SELECT * INTO XLSX("data.xlsx",{headers:true}) FROM ?',[$scope.gridOptions.data])
 .then(function(data){
     console.log('Data saved as XLSX');
  }).catch(function(err){
     console.log('Error:', err);
  });
};

并且只导出过滤后的数据我使用gridApi得到它,如下所示:

$scope.filteredData =$scope.gridApi.core.getVisibleRows($scope.gridApi.grid);

然后将实体字段从返回数组中的每个对象映射到新数组 ,我是使用下划线库中的map函数完成的。

entities = _.map($scope.filteredData, 'entity');

最后替换' $ scope.gridOptions.data'与'实体'在上面的功能。