【发布时间】:2017-07-21 23:35:18
【问题描述】:
在尝试了几乎所有关于 SO 的相关问题的答案后, 我还是没听懂。
HTML 文件:
<li><a ng-click="exportToCsv('#total');">
<i class="fa fa-file-o mr-right7"></i>Export to CSV</a></li>
控制器文件:
$scope.exportToCsv=function(tableId){ // ex: '#my-table'
$scope.exportHref=Csv.tableToExcel(tableId,'List');
$timeout(function(){location.href=$scope.exportHref;},100);
还有我在控制器文件中的函数。
gModule.factory('Csv',function($window){
var uri='data:text/comma-separated-values;base64,',
template='<table>{table}</table>',
base64=function(s){return $window.btoa(unescape(encodeURIComponent(s)));},
format=function(s,c){return s.replace(/{(\w+)}/g,function(m,p){return c[p];})};
return {
tableToExcel:function(tableId,worksheetName){
var table=$(tableId),
ctx={worksheet:worksheetName,table:table.html()},
href=uri+base64(format(template,ctx));
return href;
}
};
});
我需要以 csv 格式导出表格中的数据,但我得到的是整个 html 代码。
我应该只以这种格式进行更改。 请指导。非常感谢您的帮助。
【问题讨论】: