javascript jquery excel html-table javascript-objects

javascript - ¿Cómo exportar todas las filas de la tabla HTML a un archivo de Excel desde una tabla paginada?



jquery html-table (0)

Estoy intentando exportar todas las filas de la tabla a un archivo CSV / Excel, pero el problema es que mi código solo exporta las filas visibles, es decir , los registros que se muestran actualmente. Mi tabla usa paginación y muestra 20 registros por página y hay más de 20 registros en la tabla y quiero exportarlos todos a un archivo csv.

¿Cómo puedo exportar todos los registros de la tabla?

Código Js:

function downloadCSV(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; // Create a link to the file downloadLink.href = window.URL.createObjectURL(csvFile); // Hide download link downloadLink.style.display = "none"; // Add the link to DOM document.body.appendChild(downloadLink); // Click download link downloadLink.click(); } function exportTableToCSV(filename) { var csv = []; var rows = document.querySelectorAll("table tr"); for (var i = 0; i < rows.length; i++) { if(i==0){ continue; } 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 file downloadCSV(csv.join("/n"), filename); }

HTML para evento de botón:

<button onclick="exportTableToCSV(''usercomments.csv'')"> Export Comments to CSV</button>

Todo el código HTML:

<?php use_javascript(''/js/exportusercomments.js''); ?> <div class="pagead"> <div class="pagein"align="center"> <div align="center"> <h3>User''s comments for "Please tell us your biggest reason for losing weight"</h3> </div> <br/> <button onclick="exportTableToCSV(''usercomments.csv'')"> Export Comments to CSV</button> <br/> <div align="center"><?php $pager->render() ?></div> <table width="100%" class="bk_table"> <tr> <th width="10%">Date</th> <th width="15%">Name</th> <th width="15%">Email</th> <th width="60%">Comment</th> </tr> <?php foreach ($pager->getResults() as $row): ?> <tr> <td align="left"><?php echo date(''M-d-Y'', strtotime($row[''datain''])); ?></td> <td><?php echo $row[''name''] ?> </td> <td><?php echo $row[''email''] ?> </td> <td><?php echo $row[''comm''] ?></td> </tr> <?php endforeach; ?> </table> <div class="clear"></div> </div> </div> <div class="bot"></div>