【问题标题】:Select specific columns in angularjs选择angularjs中的特定列
【发布时间】:2015-06-10 22:45:23
【问题描述】:

我正在做一个网络项目。它在客户端使用 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>

有人可以建议我可以做些什么来选择要导出的特定列吗?

【问题讨论】:

    标签: angularjs export-to-csv


    【解决方案1】:

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

    【讨论】:

    • 使用 csv-column-order 指定导出哪些列对我有用。我将它与 csv-header 结合使用来定义所选列的名称。谢谢!这应该在文档中。
    猜你喜欢
    • 2015-11-03
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2018-11-03
    • 2015-04-18
    相关资源
    最近更新 更多