單細胞我試圖保持其出口與DataTables擅長當HTML表<br>
作出換行符。
我按照他們的指導,用正則表達式替換某些東西:DataTables find and replace during export。出口價值與換行到Excel中使用jQuery數據表2016
我能夠替代的東西沒有問題。但我無法用換行符替換<br>
,這些換行符可以使同一單元格中的內容保持其換行符。
這是我的JS:
$(document).ready(function() {
var fixNewLine = {
exportOptions: {
format: {
body: function (data, column, row) {
// Strip $ from salary column to make it numeric
return column === 5 ?
// THIS WORKS: data.replace(/test/ig, "blablabla"):
data.replace(/<br\s*\/?>/ig, '"'+"\r\n"+'"') :
data;
}
}
}
};
$('#table2excel').DataTable({
dom: 'Bfrtip',
buttons:[
$.extend(true, {}, fixNewLine, {
extend: 'copyHtml5'
}),
$.extend(true, {}, fixNewLine, {
extend: 'excelHtml5'
}),
$.extend(true, {}, fixNewLine, {
extend: 'pdfHtml5'
})
]
});
});
問題就出在這行:
data.replace(/<br\s*\/?>/ig, '"'+"\r\n"+'"') :
它獲取只有一對" "
而不是實際的換行符保存在Excel中。 注意,這也不起作用:
data.replace(/<br\s*\/?>/ig, "\r\n"):
有什麼建議?
有一個類似的線程在這裏:Export value with Linebreaks into single cell in Excel. jQuery Datatables 但它已經過時,因爲它是一歲,已經有更新的數據表和「TableTools」已取代「按鈕」。
感謝。我嘗試過,但仍然沒有線路。 「我的格式化的來電者」是什麼意思? – mesqueeb
顯然它只適用於「\ n」。但是,我需要按下excel中的「show linebreaks」按鈕!我仍然需要找到解決這個問題的方法。 – mesqueeb
這似乎是正確的答案 - 只有通過「\ n」替換爲「\ r \ n」你的變化不大。你爲什麼不讓@Chris糾正這個問題並將其標記爲正確? – leole