如何在excel导出中添加带有colspan行的标头 - DataTable

时间:2016-11-17 16:26:00

标签: javascript excel datatable

我目前正在使用带有Excel导出按钮的dataTable。我已经使用javascript在excel导出中添加了标头。但是,如何在Excel数据头中添加合并单元格的行?如何在excel文件的每一页中添加标题?

的Javascript

var oTable = $('#dataAksesAd').dataTable({
dom: 'Bfrtip',
buttons: [
    {
        extend: 'excelHtml5',
        text: 'CETAK',
        title: "Monitoring AD_"+date,
        customize: function (xlsx) {
            var sheet = xlsx.xl.worksheets['sheet1.xml'];
            var numrows = 5;
            var clR = $('row', sheet);

            //update Row
            clR.each(function () {
                var attr = $(this).attr('r');
                var ind = parseInt(attr);
                ind = ind + numrows;
                $(this).attr("r",ind);
            });

            // Create row before data
            $('row c ', sheet).each(function () {
                var attr = $(this).attr('r');
                var pre = attr.substring(0, 1);
                var ind = parseInt(attr.substring(1, attr.length));
                ind = ind + numrows;
                $(this).attr("r", pre + ind);
            });

            function Addrow(index,data) {
                msg='<row r="'+index+'">'
                for(i=0;i<data.length;i++){
                    var key=data[i].key;
                    var value=data[i].value;
                    msg += '<c t="inlineStr" r="' + key + index + '">';
                    msg += '<is>';
                    msg +=  '<t>'+value+'</t>';
                    msg+=  '</is>';
                    msg+='</c>';
                }
                msg += '</row>';
                return msg;
            }


            //insert
            var r1 = Addrow(1, [{ key: 'A', value: 'MONITORING LOG AD' }]);
            var r2 = Addrow(3, [{ key: 'A', value: 'Nama User' }, { key: 'C', value: ': '+username }]);
            var r3 = Addrow(4, [{ key: 'A', value: 'Nama Pusat' }, { key: 'C', value: ': Pusat1' }]);

            sheet.childNodes[0].childNodes[1].innerHTML = r1 + r2+ r3+ sheet.childNodes[0].childNodes[1].innerHTML;
            $('row c[r*="1"]', sheet).attr( 's', '2' );
            $('row c[r*="3"]', sheet).attr( 's', '2' );
            $('row c[r*="4"]', sheet).attr( 's', '2' );
        }
    }
]
});

我希望有人可以帮助我。提前谢谢。

0 个答案:

没有答案
相关问题