我有一个带有下拉菜单的HTML表,因此用户可以看到他想要看到的任何行,我有一个导出按钮。当用户单击“导出”按钮时,我正在将数据导出到Excel。
导出时,我不导出隐藏行,而应用CSS属性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
时,它的输出是这样的:
我把桌子上的颜色涂成红色后,有两列是多余的。
由于某些原因,我无法使用数据表,因为数据表未导出col-span,它将所有列一一对齐,然后在Excel中看起来非常糟糕的数据。
我刚刚找到了导出额外列的原因,我要用数据表修复的列就是那些列,这里我已经修复了前两列,因此它们在excel上导出了额外的内容
如果我对其他方法持开放态度,则可以尝试使用数据表,但不能使用col-span导出列,这就是为什么我使用table2export
。
答案 0 :(得分:1)
添加此行将为您完成这项工作:
copyTable.find('.DTFC_LeftWrapper').remove(); //removing static columns while exporting
以下是更新过的code
的小提琴