任何方式从IE9或更高版本的Javascript中导出excel或csv文件

我已经研究了几天,现在碰到这一个适用于Chrome和Firefox,但不是IE。 我已经遇到了这个从 var objExcel = new ActiveXObject("Excel.Application"); IE友好,但扼stream器var objExcel = new ActiveXObject("Excel.Application"); 。 我试过xlsx.js,但是不能使用flash。

我已经研究了CSV,但是在IE中引入了类似的问题,导致了扼stream圈。

我试图保持客户端(因为我已经获得了本地存储的数据),但我必须有IE 9 +可用(因为我的主要用户将使用IE9 [不是我select])。

任何解决scheme,或者我坚持去服务器端呢?

不幸的是我没有访问IE9。 这个解决scheme是否适合你? http://bl.ocks.org/insin/1031969

如何设置一个data: url,如下所示:

 window.location.href = 'data:application/vnd.ms-excel;base64,PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4bWxuczp4PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpleGNlbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiPjxoZWFkPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPjx4OkV4Y2VsV29ya2Jvb2s+PHg6RXhjZWxXb3Jrc2hlZXRzPjx4OkV4Y2VsV29ya3NoZWV0Pjx4Ok5hbWU+VzNDIEV4YW1wbGUgVGFibGU8L3g6TmFtZT48eDpXb3Jrc2hlZXRPcHRpb25zPjx4OkRpc3BsYXlHcmlkbGluZXMvPjwveDpXb3Jrc2hlZXRPcHRpb25zPjwveDpFeGNlbFdvcmtzaGVldD48L3g6RXhjZWxXb3Jrc2hlZXRzPjwveDpFeGNlbFdvcmtib29rPjwveG1sPjwhW2VuZGlmXS0tPjwvaGVhZD48Ym9keT48dGFibGU+PGNhcHRpb24+Q09ERS1QQUdFIFNVUFBPUlQgSU4gTUlDUk9TT0ZUIFdJTkRPV1M8L2NhcHRpb24+PGNvbGdyb3VwIGFsaWduPSJjZW50ZXIiPjwvY29sZ3JvdXA+PGNvbGdyb3VwIGFsaWduPSJsZWZ0Ij48L2NvbGdyb3VwPjxjb2xncm91cCBzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj48L2NvbGdyb3VwPjxjb2xncm91cCBzcGFuPSIzIiBhbGlnbj0iY2VudGVyIj48L2NvbGdyb3VwPjx0aGVhZCB2YWxpZ249InRvcCI+PHRyPjx0aD5Db2RlLVBhZ2U8YnI+SUQ8L3RoPjx0aD5OYW1lPC90aD48dGg+QUNQPC90aD48dGg+T0VNQ1A8L3RoPjx0aD5XaW5kb3dzPGJyPk5UIDMuMTwvdGg+PHRoPldpbmRvd3M8YnI+TlQgMy41MTwvdGg+PHRoPldpbmRvd3M8YnI+OTU8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZD4xMjAwPC90ZD48dGQgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICMwMGY7IGNvbG9yOiAjZmZmIj5Vbmljb2RlIChCTVAgb2YgSVNPL0lFQy0xMDY0Nik8L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD5YPC90ZD48dGQ+WDwvdGQ+PHRkPio8L3RkPjwvdHI+PHRyPjx0ZD4xMjUwPC90ZD48dGQgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkIj5XaW5kb3dzIDMuMSBFYXN0ZXJuIEV1cm9wZWFuPC90ZD48dGQ+WDwvdGQ+PHRkPjwvdGQ+PHRkPlg8L3RkPjx0ZD5YPC90ZD48dGQ+WDwvdGQ+PC90cj48dHI+PHRkPjEyNTE8L3RkPjx0ZD5XaW5kb3dzIDMuMSBDeXJpbGxpYzwvdGQ+PHRkPlg8L3RkPjx0ZD48L3RkPjx0ZD5YPC90ZD48dGQ+WDwvdGQ+PHRkPlg8L3RkPjwvdHI+PHRyPjx0ZD4xMjUyPC90ZD48dGQ+V2luZG93cyAzLjEgVVMgKEFOU0kpPC90ZD48dGQ+WDwvdGQ+PHRkPjwvdGQ+PHRkPlg8L3RkPjx0ZD5YPC90ZD48dGQ+WDwvdGQ+PC90cj48dHI+PHRkPjEyNTM8L3RkPjx0ZD5XaW5kb3dzIDMuMSBHcmVlazwvdGQ+PHRkPlg8L3RkPjx0ZD48L3RkPjx0ZD5YPC90ZD48dGQ+WDwvdGQ+PHRkPlg8L3RkPjwvdHI+PHRyPjx0ZD4xMjU0PC90ZD48dGQ+V2luZG93cyAzLjEgVHVya2lzaDwvdGQ+PHRkPlg8L3RkPjx0ZD48L3RkPjx0ZD5YPC90ZD48dGQ+WDwvdGQ+PHRkPlg8L3RkPjwvdHI+PHRyPjx0ZD4xMjU1PC90ZD48dGQ+SGVicmV3PC90ZD48dGQ+WDwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPlg8L3RkPjwvdHI+PHRyPjx0ZD4xMjU2PC90ZD48dGQ+QXJhYmljPC90ZD48dGQ+WDwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPlg8L3RkPjwvdHI+PHRyPjx0ZD4xMjU3PC90ZD48dGQ+QmFsdGljPC90ZD48dGQ+WDwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPlg8L3RkPjwvdHI+PHRyPjx0ZD4xMzYxPC90ZD48dGQ+S29yZWFuIChKb2hhYik8L3RkPjx0ZD5YPC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+Kio8L3RkPjx0ZD5YPC90ZD48L3RyPjwvdGJvZHk+PHRib2R5Pjx0cj48dGQ+NDM3PC90ZD48dGQ+TVMtRE9TIFVuaXRlZCBTdGF0ZXM8L3RkPjx0ZD48L3RkPjx0ZD5YPC90ZD48dGQ+WDwvdGQ+PHRkPlg8L3RkPjx0ZD5YPC90ZD48L3RyPjx0cj48dGQ+NzA4PC90ZD48dGQ+QXJhYmljIChBU01PIDcwOCk8L3RkPjx0ZD48L3RkPjx0ZD5YPC90ZD48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+WDwvdGQ+PC90cj48dHI+PHRkPjcwOTwvdGQ+PHRkPkFyYWJpYyAoQVNNTyA0NDkrLCBCQ09OIFY0KTwvdGQ+PHRkPjwvdGQ+PHRkPlg8L3RkPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD5YPC90ZD48L3RyPjx0cj48dGQ+NzEwPC90ZD48dGQ+QXJhYmljIChUcmFuc3BhcmVudCBBcmFiaWMpPC90ZD48dGQ+PC90ZD48dGQ+WDwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPlg8L3RkPjwvdHI+PHRyPjx0ZD43MjA8L3RkPjx0ZD5BcmFiaWMgKFRyYW5zcGFyZW50IEFTTU8pPC90ZD48dGQ+PC90ZD48dGQ+WDwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPlg8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvYm9keT48L2h0bWw+'; 

如果这不起作用,那么我认为你有两个select:

  • 使用服务器端组件准备下载。 这可以是一个非常简单的组件,只是返回一个GET参数作为文件。

  • 向包含数据的用户显示一个页面,并将其复制到Excel中。 您可以使用制表符分隔的文本或HTML表格 – 其中任何一个应该很好地粘贴到电子表格中。