导出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");