Configuration d’une exportation de tables de données personnalisées avec excelHtml5 avec un texte de sélection

Je me demande comment définir un nom de fichier personnalisé pour exporter dans des boutons datatables excelHtml5 avec une sélection, j’ai fait une fonction pour transmettre le nom mais ne le met pas mal poster mon code js. avec l’alerte, il reflète les changements, mais lorsque j’appelle le bouton Excel dans Datatables, il devient vide.

Voici le code:

var reportName = '24 afterhours '; $('#example').DataTable({ dom: 'Bfrtip', buttons: [ { extend: 'excelHtml5', title: reportName }, { extend: 'pdfHtml5', title: 'Data export' } ] }); $('#campaing').change(function() { reportName += $(this).find(":selected").text() + ' report'; }); 

Je pense que je pourrais manquer quelque chose.

    title est lu une fois lorsque le dataTable est initialisé, puis la valeur est mappée dans l’object config interne. Par conséquent, si vous souhaitez modifier les parameters de manière dynamic, vous devez modifier cet object de config interne et ne pas tenter de modifier les parameters de configuration en lecture seule.

    Donc, faites l’inverse – créez un écouteur d’événement pour le à l’ intérieur des boutons init() . Si vous avez un avec des noms de fichiers optionnels comme ceci

      

    Ensuite, vous pouvez modifier dynamicment le nom de fileName exportation (== title + extension ) en

     buttons : [ { extend: 'excelHtml5', title: 'filenameA', //default filename init: function(dt, node, config) { $("#filename").on('change', function() { config.title = this.value; }) } }, 

    Vous pouvez également modifier les autres propriétés de configuration à partir du gestionnaire. Par exemple, vous pouvez modifier le config.extension .


    Voici une démo -> https://jsfiddle.net/y8d9zhfv/ Il est important de souligner que dataTables.buttons.js 1.3.0 ou supérieur est requirejs; c’est également le cas avec le module buttons.html5.js. Donc si la mise à niveau ci-dessus ne fonctionne pas -> https://cdn.datatables.net/buttons/