簡體   English   中英

Javascript將表格數據導出到沒有HTML標簽的CSV

[英]Javascript Exporting Table data to csv without html tags

我試圖將某些數據從表導出到csv文件中,而不必使用插件,所以我找到了以下代碼:

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

這段代碼有效,但是它也保存了html標簽。 那么,如何在文件中沒有html標記的情況下以類似的方式從表中導出數據呢?

就提取文本而言,您可以使用.text()而不是.html()

但是提取特定格式的文本會有些棘手。

您的問題使我感興趣。 所以我嘗試了並且有可能: 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:

$(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();
});

有一個限制:所有行和列都必須包含文本,而colspan / rowspan是不可能的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM