【发布时间】:2015-06-18 13:27:42
【问题描述】:
我正在使用 jQuery DataTables 成功地将 HTML 表格从 Web 应用程序导出到 Excel。但是,一个特定列的值包含换行符和制表符。通过将新行 (\n) 和制表符 (\t) 分别替换为 <br> 和 (x5),我设法在 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"
}]
}
});
信用:post
它似乎对我不起作用。所有值都转到单个单元格,但不包含换行符。
任何帮助将不胜感激。 谢谢
尝试使用:
return sValue.replace(/<br\s*\/?>/ig, "\x0B");
产生以下
【问题讨论】:
-
已经删除了我的答案,抱歉没有解决。
-
为此开启了赏金活动。我自己很好奇:) – 大卫康拉德
-
似乎有些混乱。从代码看来,软中断是用“\r\n”创建的,实际上是eol。 “\n”实际上是excel格式的换行符。但是 Excel 中没有选项卡。标签是一个事件。用“”替换标签。
标签: javascript jquery excel jquery-datatables tabletools