0
我想導出數據表使用jQuery導出按鈕選項Excel表。而且我希望在excel文件中的表數據之前添加其他行。我在小提琴https://jsfiddle.net/xevpdeo1/17/中做了一個類似的演示。它在Chrome和Firefox中工作正常,但不在IE中。在IE中,表格數據之前的附加行在導出後爲空。有人可以幫我解決這個問題嗎?在此先感謝導出jQuery數據表excel與其他行不工作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'
})
]
});
});
多謝了Jonatan。它完美的作品。 – user2719229
嗨@Jonatan Perez我還有一個問題。在我的數據表中,我有一個有百分比值的列。在導出時,十進制值變得四捨五入。但我需要帶有%符號的小數值。我已經做了一些更改以保留小數值。它在Chrome中工作正常,但不在IE中。你能幫我解決這個問題嗎?小提琴鏈接:http://jsfiddle.net/xevpdeo1/26/ – user2719229
嗨,我以前無法回答,因爲我有點忙,但在這裏你有解決方案。 –