选择angularjs

时间:2015-06-10 22:45:24

标签: angularjs export-to-csv

我正在开发一个webproject。它在客户端使用angularjs。 其中一个要求是在网格中显示一些数据,并提供将数据导出到csv文件的选项。

我正在尝试使用ngCsv模块来实现此功能。我从集合中显示网格中的数据。在显示时我可以控制我可以显示的列。但是,在将数据导出为CSV时,我可以使用的是集合。当我使用该集合时,它将导出导出的csv文件中集合中的所有列。但我想只导出特定的列。可能有一种方法只能从angularjs中的集合中选择特定列,但我找不到一种方法。

这是在控制器上加载应用程序的功能

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>

有人可以建议我只能选择要导出的特定列吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试在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}]