2016-11-17 3 views
0

私はプラグインを使用することなく、CSVファイルにテーブルからいくつかのデータをエクスポートしようとしているので、私は、このコードを見つけました:このコードは動作しますJavascriptをエクスポート表データをCSVにhtmlタグなし

jQuery("#exportButton").click(function (e) { 
    window.open('data:application/csv;charset=utf-8,' + jQuery('#myTable').html()); 
      e.preventDefault(); 
}); 

が、それは保存ですhtmlタグも。 ファイルにhtmlタグを持たずに、同様の方法でテーブルからデータをエクスポートするにはどうしたらいいですか?

答えて

1

あなたの質問は私に興味があります。だから私は試してみて、それが可能です: https://jsfiddle.net/ouvaztan/

HTML:

<table id="customers"> 
    <tbody><tr> 
    <th>Company</th> 
    <th>Contact</th> 
    <th>Country</th> 
    </tr> 
    <tr> 
    <td>Alfreds Futterkiste</td> 
    <td>Maria Anders</td> 
    <td>Germany</td> 
    </tr> 
    <tr> 
    <td>Centro comercial Moctezuma</td> 
    <td>Francisco Chang</td> 
    <td>Mexico</td> 
    </tr> 
    <tr> 
    <td>Ernst Handel</td> 
    <td>Roland Mendel</td> 
    <td>Austria</td> 
    </tr> 
    <tr> 
    <td>Island Trading</td> 
    <td>Helen Bennett</td> 
    <td>UK</td> 
    </tr> 
    <tr> 
    <td>Laughing Bacchus Winecellars</td> 
    <td>Yoshi Tannamuri</td> 
    <td>Canada</td> 
    </tr> 
    <tr> 
    <td>Magazzini Alimentari Riuniti</td> 
    <td>Giovanni Rovelli</td> 
    <td>Italy</td> 
    </tr> 
</tbody></table> 

JS: すべての行と列は、テキストとCOLSPAN/ROWSPANが含まれている必要はありさ:

$(function() { 
    var link = document.createElement('a'); 
    var data = ($("#customers").text().trim().replace(/[\n]+/g, ";").replace(/ /g, "").replace(/;;;/g, ";\n") + ";").replace(/\n/g, "\r\n"); 
    link.download = "test.csv"; 
    link.href = 'data:application/csv;base64,' + btoa(data); 
    link.click(); 
}); 

制限がありますできない

1

テキストを抽出するだけの理由で.text()の代わりに.html()を使用できます。

しかし、特定の形式でテキストを抽出するのは少し面倒です。

関連する問題