javascript - HTML 表格的隐藏列也正在导出

标签 javascript jquery css html-table

我有一个 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();
    });

Link to Fiddle

当我从下拉列表中选择 credit 时,它会像这样导出:

this

表格后有两列是额外的,我已将其涂成红色。

注意事项

由于某些原因我不能使用数据表,因为数据表不导出 col-span,它将所有列一一左对齐,然后数据在 Excel 中看起来很糟糕。

编辑

我刚刚找到它导出额外列的原因,我用数据表修复的列就是那些列,这里我修复了前两列,所以它们在 excel 上导出额外的列

编辑

如果有任何其他方法我对此持开放态度,我已经尝试过数据表,但它不使用 col-span 导出列,这就是我使用 table2export 的原因。

最佳答案

添加这一行将为您完成这项工作:

copyTable.find('.DTFC_LeftWrapper').remove(); //removing static columns while exporting

这是更新后的 code 的 fiddle

关于javascript - HTML 表格的隐藏列也正在导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55965033/

相关文章:

javascript - 如何停止 meteor ?

javascript - 使用 JavaScript 将不透明度应用于 div 图像

javascript - 如何从父元素获取 ID 作为字符串并与另一个字符串进行比较?

html - 将 css 应用于具有相同模式的元素

javascript - 显示为 : none is always 0 的元素的 offsetTop 属性

javascript - 移动浏览器的固定定位

javascript - jquery,将 css 属性设置为空字符串

javascript - DOM 对象 CSS 更改

php - Codeigniter--添加 "active"css 类链接,如何?

jquery - 根据鼠标移动使用 translate3d 更改 div 位置