我一直在尝试使用AngularJs将表从jsp页面导出到Excel。
Angularjs会不会在IE中运行?并且还收到此错误SCRIPT5009: 'Node' is undefined
在Chrome和Firefox中,excel仅在我保存而不是使用open with
选项时才会打开。保存的Excel不正确。试图解决这个问题几周。
甚至尝试过使用Jquery,但没有运气。 请给我一个解决方案。真的很感激。
我的jsp:
<html>
<head>
<script src="/Pulse/static/scripts/jquery-1.11.2.min.js"></script><script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
<script src="https://rawgithub.com/eligrey/FileSaver.js/master/FileSaver.js" type="text/javascript"></script>
</head>
<body>
<div id="myCtrl" ng-app="myApp" ng-controller="myCtrl">
<table>
<tr><td>
<p ng-click="exportData()" id="myImg">Click here</p>
</td></tr>
</table>
<div id="exportable">
<table width="100%" id="myTable">
<thead>
<tr>
<th>Num</th>
<th>Sq</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>4</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
我的角色:
<script>
var myApp = angular.module('myApp', []);
myApp.controller('myCtrl',function($scope, $http) {
$scope.exportData = function() {
var blob = new Blob(
[ document.getElementById('myTable').innerHTML ],
{
type : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"
});
window.saveAs(blob, "MyRep.xls");
}
});
</script>
我在Firefox中点击open with
excel时得到了这个:
任何人都可以指出我做错了什么吗?
答案 0 :(得分:0)
你可以推荐这个:
var myApp = angular.module('myApp', ['ui.bootstrap', 'ngAnimate', 'ngTouch', 'mgcrea.ngStrap']);myApp.controller('myCtrl',function($scope, $http,$timeout) {
$scope.exportData = function() {
$timeout(function () {
var blob = new Blob([ document.getElementById('myTable').innerHTML ],
{
type : "application/vnd.ms-excel"
});
saveAs(blob, "MyRep.xls");}, 2000);
}
});
我想在firefox中运行良好
我在我的页面中使用了其他脚本
<link href="~/Content/Controls/AngularStrap/libs.min.css" rel="stylesheet" /><script src="~/Content/Controls/AngularStrap/angular-strap.min.js"></script><script src="~/Content/Controls/AngularStrap/angular-strap.tpl.min.js"></script><script src="~/Content/Controls/FileSaver/FileSaver.js"></script>