如何在数据库中导出时为数字赋予对齐权限

时间:2017-08-09 06:44:28

标签: datatable datatables datatables-1.10

我正在研究数据表的导出功能,我需要将右列对齐excel,任何人都可以帮忙解决这个问题,这是我的代码,

$('#cmp_table2').DataTable( 
    {
            paging:   false,
            ordering: false,
            dom: 'Bfrtip',
            searching: false,
            "processing": true,
            "serverSide": true,
            "fnDrawCallback": function (oSettings) {
                //alert( 'DataTables has redrawn the table' );
                $("#cmp_table2").find('.red').parent().css("background-color","#FFC7CE");
                $("#cmp_table2").find('.green').parent().css("background-color","#C6EFCE");
            },
            'ajax' : {
                "url": '<?php echo site_url('target/starting_episode'); ?>',
                "type" : 'POST',
                "data" : '',
            },
            "columns": [
                { 
                    "data": 0, 
                    "render" : function(data, type, row){
                        return '<a onclick="'+row[4]+'">'+data+'</a>';
                    }
                },
                { 
                    "data": 1,
                    "render" : function(data, type, row){
                        if(row[5] !='') {
                            return '<a onclick="'+row[5]+'">'+data+'</a>';
                        } else {
                            return data;
                        }
                    },
                },
                { 
                    "data": 2,
                },
                { 
                    "data": 3,
                    "render" : function(data, type, row){
                        if(row[6] !='') {
                            //return '<span style="'+row[6]+'">'+data+'</span>';
                            return row[6]+data+'</span>';
                        } else {
                            return data;
                        }
                    },
                },
            ],
            "columnDefs": [
                {  sClass: "dt-right" ,sType: "numeric", aTargets: [ 1 ]},
            ],
            buttons:  
            {
                    buttons: [{ extend: 'excel', className:'start_class', exportOptions: { orthogonal: 'sort' }, text:'Export',title:'Target Starting Episodes' ,
                        customizeData: function ( data ) {
                            for (var i=0; i<data.body.length; i++){
                                for (var j=0; j<data.body[i].length; j++ ){
                                    data.body[i][j] = '\u200C' + data.body[i][j];
                                }
                            }
                        }    
                    }]
            },
    });

请检查,请帮我解决这个问题,我试着做一些谷歌搜索找到这个问题,但无法找到它

1 个答案:

答案 0 :(得分:0)

要自定义文本,请使用excel按钮的自定义选项。这里A是列的名称

customize:function (xlsx) { 
    var sheet = xlsx.xl.worksheets['sheet1.xml'];

    $('row c[r^="A"]', sheet).attr('s', '52');
}

有关详细信息,请参阅此链接 https://datatables.net/reference/button/excelHtml5