我正在使用不同格式的TableTools从jQuery数据表导出数据,如excel,pdf . 某些单元格在数据表中具有不同的背景颜色 . 但是这些颜色不会在导出的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');
}
}
});
2 回答
我不确定,但看起来你在
TR
完全创建后着色TDs
所以试试这个createdCell
.要在导出的文件中应用单元格颜色,您需要在customize方法中添加着色逻辑 .
Adding header cell color