Actually, I\'ve an object in my controller, i just want to export that object as .xls or .csv file.i used a lot of approaches like this:
HTML
<Yes, you can save you data with Alasql JavaScript library with XLSX.js library. Here is an example:
First: include two JavaScript libraries into your page:
Second: replace exportData() function in your code with:
$scope.exportData = function () {
alasql('SELECT * INTO XLSX("john.xlsx",{headers:true}) FROM ?',[$scope.items]);
};
Third: for CSV files - simply use CSV() function:
alasql('SELECT * INTO CSV("john.csv",{headers:true, separator:";"}) FROM ?',[$scope.items]);
You can play with this example in jsFiddle.
If you're satisfied with a CSV file, then the ngCsv module is the way to go. You don't load elements from the DOM but export an array directly. Here you can see a sample of ngCsv in action.
The html:
<h2>Export {{sample}}</h2>
<div>
<button type="button" ng-csv="getArray" filename="test.csv">Export</button>
</div>
and the js:
angular.module('csv', ['ngCsv']);
function Main($scope) {
$scope.sample = "Sample";
$scope.getArray = [{a: 1, b:2}, {a:3, b:4}];
}