Angular ui grid 角度Ui网格-导出到excel Ui网格错误

Angular ui grid 角度Ui网格-导出到excel Ui网格错误,angular-ui-grid,Angular Ui Grid,很好,我正在使用此代码从表中将导出链接到excel ui网格,但我跳过了这个错误,我传递了发生在我身上的情况。 I错误发生在代码中,其中显示: $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] = {

很好,我正在使用此代码从表中将导出链接到excel ui网格,但我跳过了这个错误,我传递了发生在我身上的情况。 I错误发生在代码中,其中显示:

$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");
})


我建议您使用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>
导出