【发布时间】:2016-06-16 03:40:51
【问题描述】:
当使用DataTables 将其导出到 Excel 时,我试图在 HTML 表中保留使用 <br> 制作的换行符。
我按照他们的指南在这里用正则表达式替换某些东西:DataTables find and replace during export。
我能够更换东西没问题。但我无法用换行符替换 <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 但它已经过时了,因为它已经有一年的历史了,并且已经对 DataTables 进行了更新,并且“TableTools”已被“Buttons”取代。
【问题讨论】:
标签: regex excel datatable export-to-excel line-breaks