设置自定义文件名datatables导出带有选择文本的excelHtml5

我想知道如何设置一个自定义文件名导出数据表按钮excelHtml5与选择,我做了一个function来传递名称,但没有设置它生病了我的js代码。 警报它反映了变化,但当我调用数据表中的excel按钮时,它是空的。

这是代码:

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'; }); 

我想我可能会遗漏一些东西。

初始化dataTable时读取一次 title ,然后将值映射到内部config对象。 因此,如果要动态更改设置,则必须更改该内部config对象,而不是尝试更改只读配置设置。

反之亦然 – 在按钮init()回调本身创建一个事件监听器。 如果您有一个带有可选文件名的

  

然后,您可以动态更改导出fileName (== title + extension

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

您也可以在处理程序中更改其他配置属性,例如,您可能希望将config.extension更改为其他内容。


这是一个演示 – > https://jsfiddle.net/y8d9zhfv/需要强调的是,dataTables.buttons.js需要1.3.0或更高版本; buttons.html5.js模块也是如此。 所以如果以上不能正常升级 – > https://cdn.datatables.net/buttons/