psy*_*cho 8 javascript excel jquery tabletools jquery-datatables
我使用jQuery DataTables成功地将HTML表从Web应用程序导出到excel.但是,一个特定列的值包含换行符和制表符.我已经设法通过<br>
分别用和(x5)替换新行(\n)和制表符(\ t)来正确地在HTML表格上显示数据.
问题是当导出到excel时我需要让线路中断,但保留一个单元格中的所有值.
这是我的jquery代码:
$('#papercliptable').dataTable({
"sDom": 'T<"clear">lfrtip',
"tableTools": {
"aButtons": [{
"sExtends": "xls",
"sButtonText": "Excel",
"fnCellRender": function (sValue, iColumn, nTr, iDataIndex) {
console.log("sValue = " + sValue);
console.log("iColumn = " + iColumn);
return sValue.replace(/<br\s*\/?>/ig, "\r\n");
},
"sNewLine": "\r\n"
}, {
"sExtends": "print",
"sMessage": "Metrics"
}]
}
});
Run Code Online (Sandbox Code Playgroud)
信用:发布
它似乎对我不起作用.所有值都转到单个单元格,但不是新行字符.
任何帮助将不胜感激.谢谢
尝试使用:
return sValue.replace(/<br\s*\/?>/ig, "\x0B");
Run Code Online (Sandbox Code Playgroud)
产生以下
如果内容包含换行符,则需要用双引号将其分隔。所以使用
return '"' + sValue.replace(/<br\s*\/?>/ig, "\r\n") + '"';
Run Code Online (Sandbox Code Playgroud)
当然,仅当内容包含 \r\n 时才需要执行此操作(否则数字将被格式化为文本)