JSFiddle - React, Tailwind, and code Playground

by drulia

HTML

<button id="btn">Download CSV</button>

JavaScript

var headers = ['col1', 'col2', 'col3', 'col4', 'col5'],
    text = ['text1', 'text2', 'text3', 'text4', 'text5'],
    doc = headers.join(',') + '\r\n';

document.getElementById('btn').addEventListener('click', function() {
    for(var i=0; i!==3000; i++) {
        doc += text.join(',') + '\r\n';
    }

    var encodedUri = window.encodeURI(doc);
    var link = document.createElement('a');
    link.setAttribute('href', 'data:text/csv;charset=utf-8,' + encodedUri);
    link.setAttribute('download', 'long_csv_test.csv');

    document.body.appendChild(link);
    link.click();
    link.parentNode.removeChild(link);
});