mes*_*eeb 3 regex datatable excel line-breaks export-to-excel
我试图<br>在使用DataTables将其导出到Excel时,保留在HTML表格中使用的换行符.
我按照他们的指南在这里用Regex替换了某些东西:DataTables在导出期间查找和替换.
我能够替换没问题的东西.但我无法取代<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'
} )
]
});
});
Run Code Online (Sandbox Code Playgroud)
问题出在这一行:
data.replace( /<br\s*\/?>/ig, '"'+"\r\n"+'"' ) :
Run Code Online (Sandbox Code Playgroud)
它只保存在excel中,只有一对" "而不是实际的换行符.请注意,这也不起作用:
data.replace( /<br\s*\/?>/ig, "\r\n"):
Run Code Online (Sandbox Code Playgroud)
有什么建议?
这里有一个类似的线程:使用Linebreaks将值导出到Excel中的单个单元格中.jQuery Datatables 但是它已经过时了,因为它已经有一年了,DataTables已经有了更新,"TableTools"已经被"Buttons"所取代.
正确答案是:
data.replace( /<br\s*\/?>/ig, "\n" ) :
Run Code Online (Sandbox Code Playgroud)
但是,打开Excel时需要按"换行"按钮.如果有人知道自动包装它的方法,请告诉我.
| 归档时间: |
|
| 查看次数: |
3784 次 |
| 最近记录: |