2017-05-22 2 views
0

Ich möchte dynamisch erstellen Sie eine Tabelle in Javascript und legte es in die Zwischenablage als Tabelle. Wenn wir den Wert in ein E-Mail- oder Word-Dokument einfügen, wird dies automatisch als Tabelle angezeigt.Dynamisch setzen Tabelle in Zwischenablage Javascript

ich diesen Code verwenden die Daten in der Zwischenablage zu setzen (es ist auf plunker)

$(document).ready(function(){ 

    var data = [ 
    {lastName:'Doe', firstName:'John', birthday: '01.01.2001'}, 
    {lastName:'Doe', firstName:'Jane', birthday: '02.02.2002'}, 
    {lastName:'Foo', firstName:'Bar', birthday: '03.03.2003'} 
    ]; 

    var exportResult = '<table><tr><th> Last name</th><th> First name</th><th> Birthday </th></tr>'; 

    for (var i = 0; i < data.length; i++) { 
    exportResult += '<tr><td>' + data[i].lastName + '</td><td>' + data[i].lastName + '</td><td>' + data[i].lastName + '</td></tr>' 
    } 

    exportResult += '</table>'; 

    $("button").click(function(){ 
    var textarea = '<textarea>' + exportResult + '</textarea>'; 
    $("body").append(textarea); 
    $("textarea").select(); 

    try { 
     var successful = document.execCommand('copy'); 
     if (!successful) throw successful; 
    } catch (err) { 
     window.prompt("Copy to clipboard: Ctrl+C, Enter", toCopy); 
    } 

    $("textarea").remove(); 
    }); 
}); 

Aber als ich an ihn vorbei in Wort doc oder in E-Mail, das ist roh Klartext und nicht HTML-Tabelle .

Antwort

0

Dieser Code funktioniert:

$(document).ready(function(){ 

    var data = [ 
    {lastName:'Doe', firstName:'John', birthday: '01.01.2001'}, 
    {lastName:'Doe', firstName:'Jane', birthday: '02.02.2002'}, 
    {lastName:'Foo', firstName:'Bar', birthday: '03.03.2003'} 
    ]; 

    var exportResult = '<table id="tableToCopy"><tr>' + 
        '<th> Last name</th>' + 
        '<th> First name</th>' + 
        '<th> Birthday </th>' + 
        '</tr>'; 

    for (var i = 0; i < data.length; i++) { 
    exportResult += '<tr>' + 
        '<td>' + data[i].lastName + '</td>' + 
        '<td>' + data[i].lastName + '</td>' + 
        '<td>' + data[i].lastName + '</td>' + 
        '</tr>' 
    } 

    exportResult += '</table>'; 

    $("button").click(function(){ 
    $("body").append(exportResult); 

    var body = document.body, range, sel, el= document.getElementById('tableToCopy'); 
    if (document.createRange && window.getSelection) { 
     range = document.createRange(); 
     sel = window.getSelection(); 
     sel.removeAllRanges(); 
     try { 
     range.selectNodeContents(el); 
     sel.addRange(range); 
     } catch (e) { 
     range.selectNode(el); 
     sel.addRange(range); 
     } 
     } else if (body.createTextRange) { 
     range = body.createTextRange(); 
     range.moveToElementText(el); 
     range.select(); 
     range.execCommand("Copy"); 
     } 
     document.execCommand('copy'); 
     $("table").remove();} 
); 
});  
Verwandte Themen