我正在使用UI-Grid用于在我的 Angular 应用程序上创建 GridView 。 UI-Grid 提供将过滤后的完整网格数据导出为 csv 或 pdf 格式。但我需要将数据导出到excel中。
我之前使用过 Alasql 来导出网格数据,但在那里我使用 ng-repeat 来生成网格。
这里 Ui-grid 指令负责生成网格,通过使用 UI-Grid 指令公开的简单方法,我们可以导出数据。只是想知道是否有人尝试过将数据导出到 Excel 中。
不共享代码,因为我使用的是 UI-Grid 教程提供的相同代码,它对我有用,只是我需要导出到 Excel 文件中。
最佳答案
我也在使用 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);
然后将返回数组中每个对象的实体字段映射到新数组 ,我使用下划线库中的映射函数来完成此操作。
entities = _.map($scope.filteredData, 'entity');
最后将上面函数中的“$scope.gridOptions.data”替换为“entities”。
关于javascript - 如何将 Angular UI-Grid 过滤后的完整数据导出到 Excel 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42930831/