导出HTML表格到Excel JavaScript函数添加选择的文件名(Export HTML ta

2019-07-29 23:57发布

我有以下功能导出一个HTML脱颖而出:

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 (在Firefox中至少这是我们将使用目标浏览器)

你将如何解决这一问题?

Answer 1:

还有,你可以看看两个选项:

  • Filesaver API是新的“HTML5”功能,允许/正好/本。 只是有一个小问题:在相关部分不能在Firefox被支持。 如果你想用这个有一个很好的包装库,这使得这更容易为你: filesaver.js
  • Downloadify是它正是这种创造,以及,你可以在这里找到一个闪光的工具。 ( '缺点':闪光)


Answer 2:

我不知道如果你已经做到了这一点。 您可能需要处理下面的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");


文章来源: Export HTML table to Excel JavaScript function add select file name