我正在尝试使用 jquery 导出按钮选项将数据表导出到 excel 表。我希望在 excel 文件中的表数据之前添加额外的行。我在小提琴https://jsfiddle.net/xevpdeo1/17/中做了一个类似的演示。它在 Chrome 和 Firefox 中运行良好,但在 IE 中运行良好。在 IE 中,表数据之前的附加行在导出后为空。有人可以帮我解决这个问题吗?提前致谢
$(document).ready(function() {
var xlsBuilder = {
filename: 'business-group-sharers-',
sheetName: 'business-group-sharers-',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var downrows = 4;
var clRow = $('row', sheet);
var msg;
//update Row
clRow.each(function() {
var attr = $(this).attr('r');
var ind = parseInt(attr);
ind = ind + downrows;
$(this).attr("r", ind);
});
// Update row > c
$('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 + downrows;
$(this).attr("r", pre + ind);
});
function Addrow(index, data) {
msg = '<row r="' + index + '">';
for (var i = 0; i < data.length; i++) {
var key = data[i].k;
var value = data[i].v;
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, [{
k: 'A',
v: 'Export Date :'
}, {
k: 'B',
v: '10-Jan-2017'
}]);
var r2 = Addrow(2, [{
k: 'A',
v: 'Account Name :'
}, {
k: 'B',
v: 'Melvin'
}]);
var r3 = Addrow(3, [{
k: 'A',
v: 'Account Id :'
}, {
k: 'B',
v: '021456321'
}]);
sheet.childNodes[0].childNodes[1].innerHTML = r1 + r2 + r3 + sheet.childNodes[0].childNodes[1].innerHTML;
},
exportOptions: {
columns: [0, 1, 2, 3]
}
}
$('#example').DataTable({
dom: 'Bfrtip',
buttons: [
$.extend(true, {}, xlsBuilder, {
extend: 'excel'
})
]
});
});