javascript - 如何将 Angular UI-Grid 过滤后的完整数据导出到 Excel 中

标签 javascript angularjs angular-ui-grid

我正在使用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/

相关文章:

javascript - 如何为特定页面的 ion-nav-bar 添加额外的按钮?

javascript - 从应用程序中直接输入的网址读取路由参数

javascript - 如何使用 $watch 稳定的方式

angularjs - 全局禁用 ng-animate,然后在某些元素上启用

angularjs - Angular UI-Grid 无法获取要显示的数据

angularjs - 在ui-grid中显示数据的一些问题

javascript - Angular 网格选中的复选框滚动问题

javascript - 我正在尝试查询 firestore 中的时间戳

javascript - Knockout Js 和 Typeahead

javascript - 如何使用 Angular $window 对象访问全局 javascript 方法?