Descargando tablas en CSV
Este es un pequeño ejemplo, que me ha resultado util varias veces, por el cual podemos descargar una tabla HTML en formato CSV a traves de Javascript. El codigo se divide en dos partes: la primera que lee la tabla y la devuelve en forma de array; y la segunda que crea un CSV a partir de dicho array y lo "lanza" como una descarga. Espero que os sirva.
<script> function table_array(table) { var result = [] var rows = table.rows; var cells, t; for (var i=0, iLen=rows.length; i<iLen; i++) { cells = rows[i].cells; t = []; for (var j=0, jLen=cells.length; j<jLen; j++) { t.push(cells[j].textContent); } result.push(t); } return result; } function download_csv() { var data = table_array(document.getElementsByTagName('table')[0]); var csv = ''; data.forEach(function(row) { csv += row.join(','); csv += "\n"; }); var hiddenElement = document.getElementById('enlace_escondido'); hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv); hiddenElement.target = '_blank'; hiddenElement.download = 'tabla.csv'; hiddenElement.click(); } </script> <button onclick="download_csv()">Descargar tabla</button> <a style="display: none;" id="enlace_escondido"></a> <table> ... </table>
Comentarios
Publicar un comentario