Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
export all tables to single csv

im using datatables.net and some of my pages have multiple tables. i cant figure out how to iterate over each table saving the data to a variable so that i can push it out as a single csv when the export button is clicked.

some tables have different headers and this is all fine. i just want to output all the th and td values from within the whole table to a single csv. if datatables doesnt support this already in some roundabout way then its fine if it is jquery or javascript.

thanks in advance

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Try this method

<table id="example1" class="table" style="width:100%">  
</table>

<table id="example2" class="table" style="width:100%">
</table>

JS:

var table = $('#example1').DataTable();
var data = table.buttons.exportData();
// Do something with the 'data' variable

buttons.exportData()

about 4 years ago · Juan Pablo Isaza Report

0

this is what worked for me. thanks.

$( "#exportalltocsv" ).on( "click", function(e) {
    e.preventDefault();
    let csvstring = "";
        $('.dataTable').each( function () {
            var columns = [];
            $(this).DataTable().columns().eq(0).each( function ( index ) {
                var column = this.column( index ).header();
                columns.push($(column).html());
            } );
            csvstring += columns.map(th => '"' + th.replace('"', '\"') + '"').toString() + "\n";
            $(this).DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) {
                csvstring += this.data().map(value => '"' + value.replace('"', '\"') + '"').toString() + "\n";
            } );
            csvstring += "\n\n";
        });
    var hiddenElement = document.createElement('a');
    hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvstring);
    hiddenElement.target = '_blank';
    hiddenElement.download = '<?=$pagetitle.date(' Y-m-d H-i-s')?>.csv';
    hiddenElement.click();
});

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!