用单元格颜色导出jQuery数据表单数据

我正在使用不同的格式,如excel,pdf,使用TableTools从jQuery数据导出数据。 有些单元格在数据表中有不同的背景颜色。 但是这些颜色不会在导出的excel或pdf中显示。 谁能告诉我,如何解决这个问题?

这里是datatable的代码:

var wdm_without_groupcode_attendee_table = jQuery("#wdm_without_groupcode_attendee_table").DataTable({ "dom": 'CT<"clear">lfrtip', "tableTools": { "sSwfPath": wdm_new_reports_localize_data.wdm_swf_path , //Getting path from localize script "aButtons": [ { "sExtends": "copy", "oSelectorOpts": { filter: "applied", order: "current" } }, { 'sExtends': 'xls', "oSelectorOpts": { filter: 'applied', order: 'current' } }, { 'sExtends': 'print', "oSelectorOpts": { filter: 'applied', order: 'current' } }, { 'sExtends': 'pdf', "oSelectorOpts": { filter: 'applied', order: 'current' } }, { 'sExtends': 'csv', "oSelectorOpts": { filter: 'applied', order: 'current' } }] }, "aoColumns": [ {sClass: "alignLeft"}, {sClass: "alignLeft"}, {sClass: "alignCenter"}, {sClass: "alignCenter"}, {sClass: "alignCenter"}, {sClass: "alignCenter"}, {sClass: "alignCenter"}, {sClass: "alignCenter"}, {sClass: "alignLeft"}, {sClass: "alignCenter"}, {sClass: "alignCenter"} ], "createdRow": function ( row, data, index ) { jQuery('td',row).eq(4).addClass('DARK_BLUE'); jQuery('td',row).eq(5).addClass('ORANGE'); jQuery('td',row).eq(6).addClass('RED'); //to decide color of cells if ( data[2].toLowerCase().indexOf("yes") >= 0 ) { jQuery('td', row).eq(2).addClass('SKY_BLUE'); } if ( data[3] >= 1 ) { jQuery('td', row).eq(3).addClass('DARK_BLUE'); } if ( data[7].toLowerCase().indexOf("yes") >= 0 ) { jQuery('td', row).eq(7).addClass('DARK_BLUE'); } } }); 

我不知道,但看起来像TR完全创build后着色TDs ,所以试试这个createdCell来代替。

 "aoColumns": [ {sClass: "alignLeft"}, {sClass: "alignLeft", createdCell: function (td, cellData, rowData, row, col) { if (cellData >= 1 ) $(td).addClass('DARK_BLUE'); }}, {sClass: "alignCenter", createdCell: function (td, cellData, rowData, row, col) { if (cellData.toLowerCase().indexOf("yes") >= 0 ) $(td).addClass('SKY_BLUE'); }}, {sClass: "alignCenter DARK_BLUE"}, {sClass: "alignCenter ORANGE"}, {sClass: "alignCenter RED"}, {sClass: "alignCenter", createdCell: function (td, cellData, rowData, row, col) { if (cellData >= 1 ) $(td).addClass('DARK_BLUE'); }}, {sClass: "alignCenter"}, {sClass: "alignLeft"}, {sClass: "alignCenter"}, {sClass: "alignCenter"} ], 

为了在导出文件中应用单元格颜色,您需要在自定义方法中添加着色逻辑。

 customize: function(xlsx) { var sheet = xlsx.xl.worksheets['sheet1.xml']; //color headers $('row:first c', sheet).attr('s', '42'); } 

添加标题单元格颜色