Javascript HTML表的隐藏列也正在导出

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

我有一个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
时,其导出方式如下:

在我把表涂成红色之后,有两列是额外的

注 由于某些原因,我无法使用数据表,因为数据表没有导出列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嘿,它不起作用了:(