删除 Excel 导出的 WYSIWYG HTML 和 CSS 标签
Remove WYSIWYG HTML and CSS tags for Excel export
我有一个使用 http://summernote.org/#/ 的所见即所得的表格。我将它用于表单中的评论字段。我将 PostgreSQL 9.3 用于数据库,并将评论字段中的数据保存为 text
数据类型。
因此,正如您在将其保存到数据库时所预期的那样,如果用户更改了文本格式,如字体样式、大小、换行符等,所见即所得还将添加 HTML 和 CSS 上面的代码,也会一起保存在数据库中。然后现在我遇到了这个问题,当我在数据表中呈现这些评论时,评论看起来很好,因为网络解释了其中的 HTML 和 CSS 代码。但是当我将内容导出到Excel时,我的数据就乱了。
Excel 不会解释 HTML 和 CSS 标签和换行符,使我的 excel 输出中断。很多换行符等等。
有没有办法去除那些 HTML 和 CSS?我想在 jQuery 中的数据表中渲染它时执行此操作,以便在加载数据表时,HTML 和 CSS 已经被剥离,因此我可以轻松甚至导出它复制粘贴。
$.ajax({
url: "api/crm/detailedsummary",
type: 'GET',
data: {"from" : $("#fromDateAll").val(), "to" : $("#toDateAll").val()},
success: function(result){
var myObj = $.parseJSON(result);
$.each(myObj, function(key,value) {
table.row.add( [
value.calldatetime,
value.phone_num,
value.agent,
value.gross_disposition,
value.net_disposition,
value.verified_status,
value.passwithchanges_status,
value.reject_status,
value.verified_by,
value.verified_date,
value.comments
] ).draw();
});
}});
value.comments
是 HTML 和 CSS 代码的
.replace
可能适用于这种情况:
var comments = '<div id="someId">Hello <span>world!</span></div>';
console.log(comments.replace(/(<([^>]+)>)/ig,""));
正则表达式检查以下内容:
<
: 左标签
[^>]
: 除右标签外的任何内容
+
: 一次或多次
>
: 右标签
我有一个使用 http://summernote.org/#/ 的所见即所得的表格。我将它用于表单中的评论字段。我将 PostgreSQL 9.3 用于数据库,并将评论字段中的数据保存为 text
数据类型。
因此,正如您在将其保存到数据库时所预期的那样,如果用户更改了文本格式,如字体样式、大小、换行符等,所见即所得还将添加 HTML 和 CSS 上面的代码,也会一起保存在数据库中。然后现在我遇到了这个问题,当我在数据表中呈现这些评论时,评论看起来很好,因为网络解释了其中的 HTML 和 CSS 代码。但是当我将内容导出到Excel时,我的数据就乱了。
Excel 不会解释 HTML 和 CSS 标签和换行符,使我的 excel 输出中断。很多换行符等等。
有没有办法去除那些 HTML 和 CSS?我想在 jQuery 中的数据表中渲染它时执行此操作,以便在加载数据表时,HTML 和 CSS 已经被剥离,因此我可以轻松甚至导出它复制粘贴。
$.ajax({
url: "api/crm/detailedsummary",
type: 'GET',
data: {"from" : $("#fromDateAll").val(), "to" : $("#toDateAll").val()},
success: function(result){
var myObj = $.parseJSON(result);
$.each(myObj, function(key,value) {
table.row.add( [
value.calldatetime,
value.phone_num,
value.agent,
value.gross_disposition,
value.net_disposition,
value.verified_status,
value.passwithchanges_status,
value.reject_status,
value.verified_by,
value.verified_date,
value.comments
] ).draw();
});
}});
value.comments
是 HTML 和 CSS 代码的
.replace
可能适用于这种情况:
var comments = '<div id="someId">Hello <span>world!</span></div>';
console.log(comments.replace(/(<([^>]+)>)/ig,""));
正则表达式检查以下内容:
<
: 左标签[^>]
: 除右标签外的任何内容+
: 一次或多次>
: 右标签