导出HTML表格到Excel JavaScript函数添加select文件名称
我有以下function,将HTML导出为Excel:
function generateexcel(tableid) { var table= document.getElementById(tableid); var html = table.outerHTML; window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html)); }
问题是,我不能把一个特定的文件名保存为这样的用户得到像这样的东西:
你想保存%3Ctable%20id%3D%22tableRslts%22%20tabindex%3D%2235%22%20文件吗?
保存的文件如下所示:
IytvT8Jo.xls.part.xls
(至less在我们将使用的目标浏览器的Firefox中)
你将如何解决这个问题?
有两个选项,你可以看看:
- Filesaver API是新的“HTML5”function,允许/完全/这个。 只有一个小问题:相关部分在Firefox中还不被支持。 如果你想使用这个,有一个很好的包装库,这使得你更容易: filesaver.js
- Downloadify是一个闪存工具,它也是为此而创build的,你可以在这里find它。 ('缺点':闪光)
我不知道你是否已经做到了。 您可能需要在aspx页面中处理如下所示的内容:
$(window).load(function(){ $( "#clickExcel" ).click(function() { var dtltbl = $('#dtltbl').html(); `enter code here` window.open('data:application/vnd.ms-excel,' + $('#dtltbl').html()); }); });//]]>
在上面的脚本中#dtltbl是表Id。
下面的代码需要在你的服务器端代码中,那么你的问题就解决了。
Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.csv");