如何将DataTableJavaScript数据导出到eccel,而不导出隐藏列,但不影响隐藏响应数据?

如何将DataTableJavaScript数据导出到eccel,而不导出隐藏列,但不影响隐藏响应数据?,javascript,datatables,datatables-1.10,Javascript,Datatables,Datatables 1.10,我有一个datatable,通过一种形式的检查,我显示和/或隐藏列,除了具有active responseive特性之外;这使得一些数据在第一个colunma中使用+下拉菜单隐藏。问题是,在导出datatable时,它会导出所有数据,甚至是隐藏的数据。如果我加上 exportOptions:{columns:':visible'}}在export按钮的配置中,它只导出表的可见数据,而不导出由responsive隐藏的数据,因为我可以导出datatable的所有活动数据,也就是说,这些数据只由re

我有一个datatable,通过一种形式的检查,我显示和/或隐藏列,除了具有active responseive特性之外;这使得一些数据在第一个colunma中使用+下拉菜单隐藏。问题是,在导出datatable时,它会导出所有数据,甚至是隐藏的数据。如果我加上 exportOptions:{columns:':visible'}}在export按钮的配置中,它只导出表的可见数据,而不导出由responsive隐藏的数据,因为我可以导出datatable的所有活动数据,也就是说,这些数据只由responsive按钮可见和隐藏

该实现是使用datatables和jquery实现的

/*With this function I create the table*/
function reloadtable(datos, tabla, alertIS, jqform) {
    tablaret = $('#' + tabla).DataTable({
        destroy: true,
        data: datos,
        scrollCollapse: true,
        autoWidth: false,
        responsive: true,

        columnDefs: [

            {
                "title": "Ejecución",
                "targets": 0,
                "createdCell": function(td, cellData, rowData, row, col) {}
            },
            {
                "title": "Estado",
                "targets": 1,
                "createdCell": function(td, cellData, rowData, row, col) {
                    if (alertIS == true) {
                        let background = "";
                        let paso;
                        if (cellData == "Finalizado" || cellData == "Cancelada" || cellData == "En Proceso") {
                            switch (cellData) {
                                case "Finalizado":
                                    background = '#004DFF';
                                    break;
                                case "Cancelada":
                                    background = '#BABABA';
                                    break;
                                case "En Proceso":
                                    background = '#FFAA00';
                                    break;
                                default:
                                    background = '#FFFFFF';
                                    break;
                            }

                        } else {
                            console.log(rowData["ejecucion"]);
                            console.log();

                            background = evalfechaByColor(rowData["ejecucion"], rowData["TareaRangoFin"]);
                            if (background != "#000000" && cellData == "Sin Asignar") {
                                background = "#0008FF"
                            }
                        }
                        let color = background == "#000000" ? "#ffffff" : "#000000"
                        $(td).css('border', 'solid 5px #FFFFFF');
                        $(td).css('border-radius', '1rem');
                        $(td).css('color', color);
                        $(td).css('background', background);
                    }
                }
            },
            {
                "title": "Cod tarea",
                "targets": 2,
            }, {
                "title": "Usuario de campo",
                "targets": 3,
            },
            {
                "title": "Prioridad",
                "targets": 4,
            },
            {
                "title": "Cliente",
                "targets": 5,
            },

            {
                "title": "Doc cliente",
                "targets": 6,
            },
            {
                "title": "Dirección",
                "targets": 7,
            },
            {
                "title": "Teléfono 1",
                "targets": 8,
            },
            {
                "title": "Teléfono 2",
                "targets": 9,
            },
            {
                "title": "Sede",
                "targets": 10,
            },
            {
                "title": "Campaña",
                "targets": 11,
            },
            {
                "title": "Zona",
                "targets": 12,
            },
            {
                "title": "Ajendamientos",
                "targets": 13,
            },
            {
                "title": "Tipo tarea",
                "targets": 14,
            },
            {
                "title": "Tipo de servicio",
                "targets": 15,
            },
            {
                "title": "Novedad",
                "targets": 16,
            }, {
                "title": "Tipo vehoculo",
                "targets": 17,
            },
            {
                "title": "Peso",
                "targets": 18,
            },
            {
                "title": "Cantidad",
                "targets": 19,
            },
            {
                "title": "Volumen",
                "targets": 20,
            },
            {
                "title": "Creación",
                "targets": 21,
            },
            {
                "title": "Inicio recorrido",
                "targets": 22,
            },
            {
                "title": "Fin recorrido",
                "targets": 23,
            },
            {
                "title": "Inicio de tarea",
                "targets": 24,
            },
            {
                "title": "fion de tarea",
                "targets": 25,
            },
            {
                "title": "Inicio de rango",
                "targets": 26,
            },
            {
                "title": "Fin de rango",
                "targets": 27,
            },
            {
                "title": "Tim Est de tarea",
                "targets": 28,
            },
            {
                "title": "Tiempo de tarea",
                "targets": 29,
            },
            {
                "title": "Tim Est Recorrido",
                "targets": 30,
            },
            {
                "title": "Tiempo recorrido",
                "targets": 31,
            },
            {
                "title": "Orden",
                "targets": 32,
            },
            {
                "title": "calificaíon",
                "targets": 33,
            },
            {
                "title": "Comentarios calificacíon",
                "targets": 34,
            },
            {
                "title": "notas",
                "targets": 35,
            },
            {
                "title": "Opciones",
                "targets": 36,
            }
        ],
        columns: [{
                data: "ejecucion"
            },
            {
                data: 'estado'
            },
            {
                data: 'codetarea'
            },
            {
                data: 'nameDriver'
            },
            {
                data: 'prioridad'
            },
            {
                data: 'nomClient'
            },
            {
                data: 'identiClient'
            },
            {
                data: 'direction'
            },
            {
                data: 'tel1'
            },
            {
                data: 'tel2'
            },
            {
                data: 'sede'
            },
            {
                data: 'campaña'
            },
            {
                data: 'zona'
            },
            {
                data: 'ajendamientos'
            },
            {
                data: 'tipoTarea'
            },
            {
                data: 'typeService'
            },
            {
                data: 'prsNoved'
            },
            {
                data: 'tipvehi'
            },
            {
                data: 'peso'
            },
            {
                data: 'piezaCant'
            },
            {
                data: 'volumen'
            },
            {
                data: 'creation'
            },
            {
                data: 'RecHoraIn'
            },
            {
                data: 'RecHoraFin'
            },
            {
                data: 'TareaHoraIn'
            },
            {
                data: 'TareaHoraFin'
            },
            {
                data: 'TareaRangoIn'
            },
            {
                data: 'TareaRangoFin'
            },
            {
                data: 'TareaTiempoEst'
            },
            {
                data: 'TareaTiempoReal'
            },
            {
                data: 'RecTiempoEst'
            },
            {
                data: 'RecTiempoReal'
            },
            {
                data: 'idRel'
            },
            {
                data: 'rate'
            },
            {
                data: 'rateObs'
            },
            {
                data: 'notas'
            },
            {
                "mData": null,
                "bSortable": false,
                "mRender": function(data, type, full) {
                    let obsi = "";
                    if (alertIS == true) {
                        obsi = `
                    <button id='delet' class='btn btn-info mx-1' onclick='info("` + full['key'] + `")'><i class='fa fa-search'></i></button>
                    <button id='infocierre' class='btn btn-success mx-1' onclick='ifoClose("` + full['key'] + `")'><i class='fas fa-clipboard-check'></i></button>
                    `
                    }
                    return obsi;;
                }
            }

        ],

        "lengthMenu": [
            [10, 25, 50, -1],
            [10, 25, 50, "Todos"]
        ],
        "language": configLanguafetable,
        dom: "<'d-block d-md-flex justify-content-md-around'<'my-2'l><B><f>>" + "rtip",
        buttons: [{
                extend: 'copy',
                text: "Copiar",
                exportOptions: {
                    // columns: ':visible'
                }
            },
            {
                extend: 'excel',
                exportOptions: {
                    //columns: ':visible'
                }
            },
            {
                extend: 'csv',
                exportOptions: {
                    // columns: ':visible'
                }
            },
            {
                extend: 'pdf',
                exportOptions: {
                    // columns: ':visible'
                }
            },
            {
                extend: 'print',
                exportOptions: {
                    // columns: ':visible'
                }
            },

        ],


    });


    return tablaret;
}
//With this function I create the form
function CreaCtlVosibletable(form) {
    let DataTar = ["Todos",
        "Ejecución", "Estado", "Cod tarea", "Usuario de campo", "Prioridad", "Cliente", "Doc cliente", "Dirección", "Teléfono 1", "Teléfono 2", "Sede", "Campaña", "Zona", "Ajendamientos", "Tipo tarea", "Tipo de servicio", "Novedad", "Tipo vehoculo", "Peso", "Cantidad", "Volumen", "Creación", "Inicio recorrido", "Fin recorrido", "Inicio de tarea", "fion de tarea", "Inicio de rango", "Fin de rango", "Tim Est de tarea", "Tiempo de tarea", "Tim Est Recorrido", "Tiempo recorrido", "Orden", "calificaíon", "Comentarios calificacíon",
        "Obciones"
    ]
    DataTar.forEach((element1, index) => {
        activo = index < 7 && index > 0 ? "checked" : ""
        let itemName = element1.replace(/\b\w/g, l => l.toUpperCase()).replace(/ /gi, "")


        if (index < (DataTar.length)) {
            $("#" + form).append(`
            <div class="btn-group" >
                <label class="btn btn-primary">
                    <input type="checkbox" name="` + itemName + `" id="` + itemName + `" ` + activo + ` autocomplete="off">
                    ` + element1 + `
                </label>
            </div>
       `);
        }
    })
}
//with this hidden function and I show columns
function chageVicibleTable(tabla, jqform) {
    $("#" + jqform + " input").each(function(index, element) {
        if (element.id != "Todos" && index != element.id != "Opciones") {
            let active = $("#" + this.id).prop('checked') == true || $("#Todos").prop('checked') == true ? true : false;
            tabla.columns(index - 1).visible(active);
        }
enter code here
    })

    tabla.columns.adjust().draw();

}
/*使用此函数,我创建了表*/
函数重载表(datos、tabla、alertIS、jqform){
tablaret=$('#'+tabla).DataTable({
摧毁:没错,
数据:达托斯,
对,,
自动宽度:false,
回答:是的,
columnDefs:[
{
“标题”:“Ejección”,
“目标”:0,
“createdCell”:函数(td,cellData,rowData,row,col){}
},
{
“标题”:“Estado”,
"目标":一,,
“createdCell”:函数(td、cellData、rowData、row、col){
如果(alertIS==true){
让背景=”;
让帕索;
如果(cellData==“Finalizado”| | cellData==“Cancelada”| | cellData==“En Proceso”){
交换机(cellData){
案例“Finalizado”:
背景=“#004DFF”;
打破
“Cancelada”案:
背景=#BABABA';
打破
案例“En Proceso”:
背景=“#FFAA00”;
打破
违约:
背景=#FFFFFF';
打破
}
}否则{
log(rowData[“ejeucion”]);
console.log();
背景=evalfechaByColor(rowData[“ejeucion”]、rowData[“TareaRangoFin”]);
如果(背景!=“000000”&&cellData==“Sin Asignar”){
背景=“#0008FF”
}
}
让颜色=背景==“#000000”?“#ffffff”:“#000000”
$(td).css('border','solid 5px#FFFFFF');
$(td.css('border-radius','1rem');
$(td).css('color',color);
$(td).css('background',background);
}
}
},
{
“标题”:“鳕鱼塔里亚”,
"目标":二,,
}, {
“头衔”:“乌萨里奥·德坎波”,
"目标":三,,
},
{
“头衔”:“Prioridad”,
"目标":四,,
},
{
“标题”:“客户”,
“目标”:5,
},
{
“标题”:“医生客户”,
“目标”:6,
},
{
“标题”:“Dirección”,
“目标”:7,
},
{
“标题”:“Teléfono 1号”,
“目标”:8,
},
{
“标题”:“Teléfono 2号”,
“目标”:9,
},
{
“标题”:“Sede”,
“目标”:10,
},
{
“标题”:“坎帕尼亚”,
“目标”:11,
},
{
“标题”:“Zona”,
“目标”:12,
},
{
“头衔”:“Ajendamientos”,
“目标”:13,
},
{
“标题”:“蒂波塔里亚”,
“目标”:14,
},
{
“标题”:“Tipo de servicio”,
“目标”:15,
},
{
“标题”:“Novedad”,
“目标”:16,
}, {
“标题”:“Tipo vehoculo”,
“目标”:17,
},
{
“标题”:“比索”,
“目标”:18,
},
{
“头衔”:“康蒂达”,
“目标”:19,
},
{
“标题”:“卷”,
“目标”:20,
},
{
“标题”:“克雷西翁”,
“目标”:21,
},
{
“标题”:“Inicio recorrido”,
“目标”:22,
},
{
“标题”:“Fin recorrido”,
“目标”:23,
},
{
“标题”:“伊尼西奥·德·塔里亚”,
“目标”:24,
},
{
“标题”:“fion de tarea”,
“目标”:25,
},
{
“标题”:“伊尼西奥·德兰戈”,
“目标”:26,
},
{
“标题”:“兰戈之翼”,
“目标”:27,
},
{
“标题”:“蒂姆·伊斯特·德·塔里亚”,
“目标”:28,
},
{
“标题”:“泰姆波塔里亚”,
“目标”:29,
},
{
“标题”:“提姆·伊斯特·雷科里多”,
“目标”:30