var app = angular.module('app', ['ui.grid', 'ui.grid.pagination', 'ui.grid.exporter']);
app.controller('MainCtrl', ['$scope', 'uiGridExporterService', 'uiGridExporterConstants',
function($scope, uiGridExporterService, uiGridExporterConstants) {
$scope.export = function() {
var exportData = [];
var exportColumnHeaders = $scope.gridOptions.showHeader ? uiGridExporterService.getColumnHeaders($scope.gridApi.grid, uiGridExporterConstants.VISIBLE) : [];
angular.forEach($scope.gridApi.grid.rows, function(row) {
if (row.visible) {
var values = [];
angular.forEach(exportColumnHeaders, function(column) {
var value = row.entity[column.name];
values.push({
value: value
});
});
exportData.push(values);
}
});
var csvContent = uiGridExporterService.formatAsCsv(exportColumnHeaders, exportData, ',');
uiGridExporterService.downloadFile($scope.gridOptions.exporterCsvFilename, csvContent, $scope.gridOptions.exporterOlderExcelCompatibility);
};
$scope.gridOptions = {
enableFiltering: true,
paginationPageSizes: [5, 10, 15],
paginationPageSize: 5,
exporterCsvFilename: 'filteredData.csv',
onRegisterApi: function(gridApi) {
$scope.gridApi = gridApi;
},
columnDefs: [{name: 'FirstName'}, {name: 'LastName'}, {name: 'Job'}],
data: [{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"},
{"FirstName": "Tim", "LastName": "Harker", "Job": "Stack Overflow User"},
{"FirstName": "Sonny", "LastName": "Jayet", "Job": "Stack Overflow User"}]
};
}
]);
button {
margin-bottom: 10px;
}
div[ui-grid] {
height: 280px;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-grid/4.0.2/ui-grid.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/angular-ui-grid/4.0.2/ui-grid.min.css" />
<div ng-app="app" ng-controller="MainCtrl">
<button ng-click="export()">Export Filtered & Paged Grid</button>
<div ui-grid="gridOptions" ui-grid-pagination ui-grid-exporter class="grid"></div>
</div>
Est-ce que ma réponse ci-dessous a aidé? Avez-vous besoin de quelque chose d'autre? –
Salut merci pour votre réponse, je ne l'ai pas encore essayé. Je suis un étudiant avec un travail à temps partiel, je ne suis pas dans l'entreprise tous les jours :(Je vais vous dire si cela a fonctionné! –
Je comprends certainement, matey.Grand de vous avoir sur la communauté en ligne Stack Overflow. ref le sujet de la bonne manière si vous voulez le faire dans l'entreprise tous les jours :). Faites-moi savoir comment ça se passe quand vous avez une chance. Heureux d'aider! –