【问题标题】:Remove WYSIWYG HTML and CSS tags for Excel export删除用于 Excel 导出的 WYSIWYG HTML 和 CSS 标签
【发布时间】:2015-10-22 08:51:13
【问题描述】:

我有一个使用http://summernote.org/#/ 的所见即所得表单。我将它用于表单中的 cmets 字段。我将 PostgreSQL 9.3 用于数据库并将 cmets 字段中的数据保存为 text 数据类型。

因此,正如您在将其保存到数据库时所期望的那样,如果用户更改了文本格式,例如字体样式、大小、换行符等。所见即所得也会在其上添加 HTML 和 CSS 代码,并且还会一起保存在数据库中。然后现在我遇到了这个问题,当我在 Datatable 中呈现这些 cmets 时,这些 cmets 看起来会很好,因为 Web 会解释其中的 HTML 和 CSS 代码。但是当我将内容导出到 Excel 时,我的数据就混乱了。

Excel 不会解释 HTML 和 CSS 标记和换行符,导致我的 excel 输出中断。很多换行符等等。

有没有办法去除那些 HTML 和 CSS?我想在 jQuery 的 Datatables 中渲染它时这样做,这样当 Datatables 加载时,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 代码的那个。

【问题讨论】:

    标签: jquery html excel wysiwyg


    【解决方案1】:

    .replace 可能适用于这种情况:

    var comments = '<div id="someId">Hello <span>world!</span></div>';
    console.log(comments.replace(/(<([^>]+)>)/ig,""));
    

    正则表达式检查以下内容:

    • &lt;       左标签
    • [^&gt;] : 除了右标签之外的任何东西
    • +       一次或多次
    • &gt;       正确的标签

    【讨论】:

    • 您好,谢谢。试过了,但是 css 标签呢?像 p { margin-bottom: 0.25cm;行高:120%; } 。我仍然可以在列中看到类似的内容。不过会接受这个答案。,
    • Hmm.. 我想也许 css 是内联的,你可以尝试按照这些方式完全删除 &lt;style&gt; 标签 - stackoverflow.com/questions/9093838/…(假设 css 在 &lt;style&gt; 标签内)跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 2016-08-13
    • 2023-04-08
    • 2020-03-08
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多