2016-01-20 1 views
2

Хорошо, я использую этот код для ссылки http://brianhann.com/exporting-spreadsheets-from-ui-grid/ Экспорт в excel ui-grid из таблицы, но я пропущу эту ошибку, передаю, что со мной происходит. ошибка ввода происходит в коде, где он говорит:Угловая Ui-сетка - экспорт в excel ui-grid error

$rows.forEach(function (row, ri) { 
    ri +=1; 
    $scope.gridApi.grid.columns.forEach(function (col, ci) { 
    var loc = XLSX.utils.encode_cell({r: ri, c: ci}); 
    sheet[loc] = { 
     v: row[ci].value, 
     t: 's' 
    }; 
    endLoc = loc; 
    }); 

С уважением, и большое спасибо.

Код контроллера:

$scope.exportXLSX = function(){ 
var data = [ 
    [] // header row 
]; 

var rows = uiGridExporterService.getData($scope.gridApi.grid, uiGridExporterConstants.VISIBLE, uiGridExporterConstants.VISIBLE); 

var sheet = {}; 

$scope.gridApi.grid.columns.forEach(function (col, i) { 
    if (col.visible) { 
    var loc = XLSX.utils.encode_cell({r: 0, c: i}) 
    sheet[loc] = { 
     v: col.displayName 
    }; 
    } 
}); 

var endLoc; 
rows.forEach(function (row, ri) { 
    ri +=1; 
    $scope.gridApi.grid.columns.forEach(function (col, ci) { 
    var loc = XLSX.utils.encode_cell({r: ri, c: ci}); 
    sheet[loc] = { 
     v: row[ci].value, 
     t: 's' 
    }; 
    endLoc = loc; 
    }); 
}); 
sheet['!ref'] = XLSX.utils.encode_range({ s: 'A1', e: endLoc }); 

var workbook = { 
    SheetNames: ['Sheet1'], 
    Sheets: { 
    Sheet1: sheet 
    } 
}; 

var wopts = { bookType: 'xlsx', bookSST: false, type: 'binary' }; 
var wbout = XLSX.write(workbook, wopts); 

saveAs(new Blob([s2ab(wbout)], {type: ""}), "test.xlsx"); 

};

error

ответ

1

Я предлагаю вам с помощью alasql

https://github.com/agershun/alasql

С такой код:

$scope.exportMyData = function() { 

     alasql('SELECT c1 AS columnA, c2 AS columnB, c3 AS columnC INTO XLSX("data.xlsx",{headers:true}) FROM ?', 
      [$scope.myDataSource]); 
    } 

И в HTML

 <button type="button" class="btn btn-primary" ng-click="exportMyData()"> Export </button> 
+0

спасибо, разрешено. – sourcer