我正在开发一个网络项目。它在客户端使用 angularjs。 其中一项要求是在网格中显示一些数据,并提供将数据导出到 csv 文件的选项。
我正在尝试使用 ngCsv 模块来实现此功能。我在网格中显示集合中的数据。在显示时,我可以控制可以显示哪些列。但是,在将数据导出到 CSV 时,我只能使用集合。当我使用该集合时,它会导出导出的 csv 文件中集合中的所有列。但我只想导出特定的列。可能有一种方法可以从 angularjs 中的集合中仅选择特定列,但我找不到方法来做到这一点。
这是在 Controller 上加载应用程序的函数
function loadApps()
{
appService.getApps().then(function (result) {
vm.assets = result.data.items;});
}
此函数用于导出应用程序
vm.exportApps = function () {
return vm.apps.filter(function (a) {
return a.selected;
});
}
这是来自 html
<button class="btn btn-sm btn-primary" ng-csv="vm.exportApps" filename="SelectedAppsList.csv">Export Apps </button>
有人可以建议我可以做什么来仅选择要导出的特定列吗?
最佳答案
您可以尝试在 html 代码中使用 csv-column-order 属性。
<button class="btn btn-sm btn-primary" ng-csv="vm.exportApps" csv-column-order="vm.columns" filename="SelectedAppsList.csv">Export Apps </button>
并指定您需要哪些列
vm.columns = function () {
return ['column1', 'column2', 'column3'];
};
它们来自您的对象数组
vm.apps = [{column1:10, column2:12, column3:13}, {column1:14, column2:15, column3:16}]
关于angularjs - 选择angularjs中的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30768600/