Javascript 如何将Html表格转换为xls(excel)

Javascript 如何将Html表格转换为xls(excel),javascript,angularjs,Javascript,Angularjs,我使用的是FileSaver.js,我需要使用AngularJS将HTML表转换为xls 适用于所有浏览器,但iOS设备有问题 可以使用的任何替代解决方案或任何其他插件?Github的以下内容向您展示了如何将HTML表导出到Microsoft Excel myApp.factory('Excel',function($window){ var uri='data:application/vnd.ms-excel;base64,', template='<ht

我使用的是
FileSaver.js
,我需要使用
AngularJS
将HTML表转换为xls

适用于所有浏览器,但iOS设备有问题

可以使用的任何替代解决方案或任何其他插件?

Github的以下内容向您展示了如何将HTML表导出到Microsoft Excel

myApp.factory('Excel',function($window){
    var uri='data:application/vnd.ms-excel;base64,',
            template='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',
            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;
            }
        };
    })
    .controller('MyCtrl',function(Excel,$timeout){
      $scope.exportToExcel=function(tableId){ // ex: '#my-table'
            $scope.exportHref=Excel.tableToExcel(tableId,'sheet name');
            $timeout(function(){location.href=$scope.fileData.exportHref;},100); // trigger download
    }
});
myApp.factory('Excel',函数($window){ var uri='data:application/vnd.ms excel;base64', 模板=“{table}”, base64=函数{return$window.btoa(unescape(encodeURIComponent));}, 格式=函数(s,c){返回s.replace(/{(\w+)}/g,函数(m,p){返回c[p];})}; 返回{ tableToExcel:函数(tableId、工作表名称){ 变量表=$(表ID), ctx={工作表:工作表名称,表:table.html()}, href=uri+base64(格式(模板,ctx)); 返回href; } }; }) .controller('MyCtrl',函数(Excel,$timeout){ $scope.exportToExcel=函数(tableId){//ex:“#我的表” $scope.exportHref=Excel.tableToExcel(tableId,'sheet name'); $timeout(function(){location.href=$scope.fileData.exportHref;},100);//触发器下载 } }); 然后像这样称呼它:

<button class="btn btn-link" ng-click="exportToExcel('#table1')">       
   <span class="glyphicon glyphicon-share"></span> Export to Excel
</button>

输出到Excel