假设您有一个 HTML 表格,并且您想将其下载为 CSV 表格。
HTML
<table>
<tr><th>Name</th><th>Age</th><th>Country</th></tr>
<tr><td>Geronimo</td><td>26</td><td>France</td></tr>
<tr><td>Natalia</td><td>19</td><td>Spain</td></tr>
<tr><td>Silvia</td><td>32</td><td>Russia</td></tr>
</table>
首先,您需要从 HTML 转换为 CSV:
JS
let csv = []
let rows = document.querySelectorAll('table tr')
for (var i = 0; i < rows.length; i++) {
let row = [], cols = rows[i].querySelectorAll('td, th')
for (var j = 0; j < cols.length; j++)
row.push(cols[j].innerText)
csv.push(row.join(','))
}
download_csv(csv.join('\n'), filename)
之后,您可以使用Blob
以下链接下载它:
let csvFile = new Blob([csv], {type: 'text/csv'})
let downloadLink = document.createElement('a')
downloadLink.download = filename
downloadLink.href = window.URL.createObjectURL(csvFile)
downloadLink.style.display = 'none'
document.body.appendChild(downloadLink)
downloadLink.click()