我使用的UI格太,以将数据导出到XLSX我用了alasql这样在应用程序的工作:
$scope.exportXLS = function exportXLS() {
alasql.promise('SELECT * INTO XLSX("data.xlsx",{headers:true}) FROM ?',[$scope.gridOptions.data])
.then(function(data){
console.log('Data saved as XLSX');
}).catch(function(err){
console.log('Error:', err);
});
};
,并仅导出filterd数据我得到它使用gridApi这样:
$scope.filteredData =$scope.gridApi.core.getVisibleRows($scope.gridApi.grid);
则该实体字段从返回的数组的每个对象到一个新的数组 映射,我做,使用映射函数从下划线库。
entities = _.map($scope.filteredData, 'entity');
最后在上面的函数中用'entities'代替'$ scope.gridOptions.data'。
我觉得现在最简单的方法是生成CSV格式的内容并下载与CSV扩展 – neptune
CSV数据应在Excel会自动打开一个blob对象。我也使用UI-Grid,当我以csv格式导出并单击“打开”时,Excel打开并显示工作表中的数据。当你打开你下载的CSV数据会发生什么? –
通常当我们在excel中打开一个csv时,所有数据都在一列中。除非我们已经使用数据>来自文本选项并将','作为分隔符将csv导入到excel中。即使我们在任何csv文件上执行过一次这样的动作,excel也会应用相同的分隔符并在不同的列中生成数据,以后我们会在Excel中打开一个csv。 – techprat