Angular Ui-grid - 导出到 excel ui-grid 错误
Angular Ui-grid - export to excel ui-grid error
很好,我正在使用此代码 link http://brianhann.com/exporting-spreadsheets-from-ui-grid/ 从 table 导出到 excel ui-grid,但我跳过了这个错误,我通过发生在我身上的事情。
我在代码中出现错误:
$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
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>
很好,我正在使用此代码 link http://brianhann.com/exporting-spreadsheets-from-ui-grid/ 从 table 导出到 excel ui-grid,但我跳过了这个错误,我通过发生在我身上的事情。 我在代码中出现错误:
$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
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>