2015-06-10 44 views
2

我正在開發一個web項目。它在客戶端使用angularjs。 其中一個要求是在網格中顯示一些數據並給出將數據導出到csv文件的選項。在angularjs中選擇特定列

我想爲這個功能使用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> 

有人可以對應用程序的功能建議我可以做些什麼來選擇特定的列來導出?

回答

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}] 
+0

使用CSV列,以指定的列導出爲我工作的陣列做哪些列。我將它與csv-header結合使用來定義所選列的名稱。謝謝!這應該在文檔中。 – shanzilla