Я пытаюсь добавить несколько пустых строк в опцию Datatable «Экспортировать как Excel», и каким-то образом после стольких попыток мне удалось достичь своей цели.
Так как в Excel есть опция автофильтра, я не могу отключить ее в своем Excel, я пробовал «автофильтр: ложь», но он не работал в моем коде
во-вторых, титульная ячейка в моей таблице данных значительно расширена. Я добавил фотографии для дальнейшего понимания
Изображение
[{
extend:'excelHtml5',
messageBottom:'Excel Generated by Edraak Systems',
customize: function (xlsx) {
var sheet = xlsx.xl.worksheets\['sheet1.xml'\];
var numrows = 3;
var clR = $('row', sheet);
clR.each(function () {
var attr = $(this).attr('r');
var ind = parseInt(attr);
ind = ind + numrows;
$(this).attr("r",ind);
});
$('row c ', sheet).each(function () {
var attr = $(this).attr('r');
var pre = attr.substring(0, 0);
var ind = parseInt(attr.substring(1, attr.length));
ind = ind + numrows;
$(this).attr("r", pre + ind);
});
function Addrow(index,data) {
var msg='<row r="'+index+'">'
for(var 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;
}
var r1 = Addrow(1, \[{ key: 'A', value: '2' }, { key: 'B', value: '' }\]);
var r2 = Addrow(2, \[{ key: 'A', value: '' }, { key: 'B', value: '' }\]);
var r3 = Addrow(3, \[{ key: 'A', value: '' }, { key: 'B', value: '' }\]);
sheet.childNodes\[0\].childNodes\[1\].innerHTML = r1 + r2+ r3+ sheet.childNodes\[0\].childNodes\[1\].innerHTML;
},
exportOptions: {
columns: \[ 0,1, 2,3,4, 5,6,7,8,9,10,11,12,13,14,15\],
},
}][1]