2016-01-20 63 views
2

好,我使用此代碼鏈接http://brianhann.com/exporting-spreadsheets-from-ui-grid/出口到excel ui網格從一個表,但我跳過這個錯誤,我通過了發生在我身上的事情。它說,在代碼中出現 我錯誤:角Ui網格 - 出口到Excel UI網格錯誤

$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