Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当表具有ID或类时,JQuery将表导出到Excel错误_Jquery_Excel - Fatal编程技术网

当表具有ID或类时,JQuery将表导出到Excel错误

当表具有ID或类时,JQuery将表导出到Excel错误,jquery,excel,Jquery,Excel,如果没有ID或类,我可以使用jquery导出HTML表: 但是,如果我的表具有ID或类attr,则以下jquery将在一个单元格中踢出一个html字符串以显示excel: $( "#clickExcel" ).click(function() { var dtltbl = $('#dtltbl').html(); window.open('data:application/vnd.ms-excel,' + $('#dtltbl').html()); }); 我可以通过删除表类和I

如果
没有ID或类,我可以使用jquery导出HTML表:

但是,如果我的表具有ID或类attr,则以下jquery将在一个单元格中踢出一个html字符串以显示excel:

$( "#clickExcel" ).click(function() {  
var dtltbl = $('#dtltbl').html();    
window.open('data:application/vnd.ms-excel,' + $('#dtltbl').html());
});

我可以通过删除表类和ID来解决这个问题,但这并不理想。有人有解决办法吗?

我和你有同样的问题,问题是这样解决的:

$("#btnExport").click(function (e) {
    window.open('data:application/vnd.ms-excel,' +'<table>' +$("#YourTableId").html()+ '</table>');
    e.preventDefault();
});
$(“#btnExport”)。单击(函数(e){
window.open('data:application/vnd.ms excel,'+''++$(“#YourTableId”).html()+'';
e、 预防默认值();
});

希望对您有所帮助

您可以在打开字符串之前对其进行编码

$( "#clickExcel" ).click(function() {  
    var dtltbl = $('#dtltbl').html();    
    window.open('data:application/vnd.ms-excel,' + encodeURI($('#dtltbl').html()));
});

正在删除空白,因此
变为
。另外,
这有一个空格
变成了
这有一个空格
。我不知道如何修复它,只是想补充一下。这是一个非常巧妙的技巧,如果你能让它工作@马尔克:是的,同样的事情发生在
元素上,它变成了
,把它搞砸了。我成功地删除了ID和类属性。更糟糕的情况是,我可以将表包装在一个div中,在删除它们之前存储现有的类和ID,导出它,然后使用包装好的div找到表并添加保存ID和类,但这太糟糕了。我认为你需要对内容进行编码: