Javascript HTML表的隐藏列也正在导出
我有一个HTML表格,我有一个下拉列表,这样用户可以看到他想看到的任何行。我有一个导出按钮。当用户单击“导出”按钮时,我正在将数据导出到Excel 导出时,我没有导出隐藏行,而应用CSS属性Javascript HTML表的隐藏列也正在导出,javascript,jquery,css,html-table,Javascript,Jquery,Css,Html Table,我有一个HTML表格,我有一个下拉列表,这样用户可以看到他想看到的任何行。我有一个导出按钮。当用户单击“导出”按钮时,我正在将数据导出到Excel 导出时,我没有导出隐藏行,而应用CSS属性display:none时,我在所有隐藏行中添加一个类,并在导出时删除它们。但当我导出数据时,额外的两列正在导出,我不知道为什么 $("#save").on("click", function() { var selectedType = []; $.each($(".drop
display:none
时,我在所有隐藏行中添加一个类,并在导出时删除它们。但当我导出数据时,额外的两列正在导出,我不知道为什么
$("#save").on("click", function() {
var selectedType = [];
$.each($(".dropdown-menu input[type='checkbox']:checked"), function() {
selectedType.push($(this).val());
});
$.each($("#salesBreakupTable tr.filterData td:nth-child(2)"), function() {
if (jQuery.inArray($(this).text(), selectedType) == -1 && $(this).text() != "Total") {
$(this).parent().css("display", "none");
$(this).parent().addClass("hide-data"); //class i am adding to hidden rows
} else {
$(this).parent().css("display", "");
$(this).parent().removeClass("hide-data");
}
});
});
$("#export").click(function() { //export button on click
var copyTable = $("#salesBreakupTable").clone(false).attr('id', '_copy_dailySales');
copyTable.insertAfter($("#dailySales"));
copyTable.find('.hide-data').remove(); //removing rows while exporting
copyTable.table2excel({
filename: "Daily Sales Report.xls"
});
copyTable.remove();
});
当我从下拉列表中选择credit
时,其导出方式如下:
在我把表涂成红色之后,有两列是额外的
注
由于某些原因,我无法使用数据表,因为数据表没有导出列span,它会将所有列逐个向左对齐,然后是在Excel中看起来非常糟糕的数据
编辑
我刚刚找到了它导出额外列的原因,我用数据表修复的列就是这些列,这里我修复了前两列,所以它们在excel上导出额外的列
编辑
如果有其他方法,我愿意使用,我已经尝试过数据表,但它没有使用列span导出列,这就是为什么我使用
table2export
添加此行将为您完成以下任务:
copyTable.find('.DTFC_LeftWrapper').remove(); //removing static columns while exporting
这是对更新的的摆弄,它似乎是在导出对象中的数据,而这没有检查内容的“可见性”。我将登录以控制台对象在
copyTable.find('.hide data').remove()之前和之后的内容代码>并查看它是否正在删除任何内容。是的,它正在删除,问题是每当我使用数据表固定列时,它都会导出额外的列,我也尝试过其他没有显示的表:隐藏,我导出的是完整的表,但它导出的是固定的列extra@FDavidov嘿,你能帮我一下吗?看起来你可能需要删除固定列,就像导出时删除隐藏行一样<代码>copyTable.find('td:eq(1),th:eq(1)').remove();copyTable.find('td:eq(2),th:eq(2)').remove()代码>@SadhanaDhande嘿,它不起作用了:(