A Pen by Kirill Malakhov on CodePen.
Created
April 13, 2019 19:39
-
-
Save ruman86/ba04e8573d1006ceead60b3c703bc231 to your computer and use it in GitHub Desktop.
Export HTML table to CSV file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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> | |
<button>Export HTML table to CSV file</button> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function download_csv(csv, filename) { | |
var csvFile; | |
var downloadLink; | |
// CSV FILE | |
csvFile = new Blob([csv], {type: "text/csv"}); | |
// Download link | |
downloadLink = document.createElement("a"); | |
// File name | |
downloadLink.download = filename; | |
// We have to create a link to the file | |
downloadLink.href = window.URL.createObjectURL(csvFile); | |
// Make sure that the link is not displayed | |
downloadLink.style.display = "none"; | |
// Add the link to your DOM | |
document.body.appendChild(downloadLink); | |
// Lanzamos | |
downloadLink.click(); | |
} | |
function export_table_to_csv(html, filename) { | |
var csv = []; | |
var rows = document.querySelectorAll("table tr"); | |
for (var i = 0; i < rows.length; i++) { | |
var 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 | |
download_csv(csv.join("\n"), filename); | |
} | |
document.querySelector("button").addEventListener("click", function () { | |
var html = document.querySelector("table").outerHTML; | |
export_table_to_csv(html, "table.csv"); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* { | |
color: #2b2b2b; | |
font-family: "Roboto Condensed"; | |
} | |
th { | |
text-align: left; | |
color: #4679bd; | |
} | |
tbody > tr:nth-of-type(even) { | |
background-color: #daeaff; | |
} | |
button { | |
cursor: pointer; | |
margin-top: 1rem; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment