如何在导出时在jQuery中将dataTables中的所有tableHeader值更改为大写

问题描述

如何在导出时使用jQuery将dataTables中的所有tableHeader值更改为大写?

$('#tableFormData').DataTable({
  "stateSave": true,dom: 'Bfrtip',buttons: [{
    extend: 'pdfHtml5',title: 'Form Data.',orientation: 'landscape',pageSize: 'A4',pageMargins: [0,0],// try #1 setting margins
    margin: [0,// try #2 setting margins
    text: '<u>E</u>xport Page (PDF)',key: { // press E for export PDF
      key: 'e',altKey: false
    },content: [{
      style: 'fullWidth'
    }],styles: { // style for printing PDF body
      fullWidth: {
        fontSize: 18,bold: true,alignment: 'right',margin: [0,0]
        }
      },download: 'download',exportOptions: {
        modifier: {
          pageMargins: [0,// try #3 setting margins
          margin: [0,// try #4 setting margins
          alignment: 'center'
        },body: {
          margin: [0,0]
        } // try #5 setting margins         
        /*,columns: [0,1] */ //column id visible in PDF,columnGap: 1 // optional space between columns
      }
    },'copy','csv','excel' //'pdf'  
  ]
});

解决方法

您可以使用format.header函数(它是Buttons附件提供的可用exportOptions之一)来完成此操作:

format: {
  header: function ( data,columnIdx ) {
    return data.toUpperCase();
  }
}

因此,您可以将其添加到现有的exportOptions部分:

exportOptions: {

  format: {
    header: function ( data,columnIdx ) {
      return data.toUpperCase();
    }
  },modifier: {
    pageMargins: [0,0],// try #3 setting margins
    margin: [0,// try #4 setting margins
    alignment: 'center'
  },...
}