Showing posts with label csv in javascript. Show all posts
Showing posts with label csv in javascript. Show all posts

Wednesday, 20 October 2021

create csv file with comma in data javascript

 <!DOCTYPE html>

<html>

<head>

</head>

<body>

        <h2>Create CSV file having comma in data (Cell value).</h2>

        <button id="createcsv">Download csv</button>

</body>

<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>


<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.3/xlsx.min.js" integrity="sha512-JiRzqZPYxjedpFqoYdKBcsKiBUfsmRZTyjuGlumbyJt4WJfWBZNqIizmbNgPN19VFtg3NYywvNk9lkt4KXVhiA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>


<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.0/FileSaver.min.js" integrity="sha512-csNcFYJniKjJxRWRV1R7fvnXrycHP6qDR21mgz1ZP55xY5d+aHLfo9/FcGDQLfn2IfngbAHd8LdfsagcCqgTcQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>



<script type="text/javascript">

$( document ).ready(function() {

        $(document).on("click","#createcsv", function () {

                var data = [

                                ['name','address'],

                                ['Ram','#876, sxys, sisj, 89898'],

                                ['Ajay','#58, abc, xyz, 1234'],

                                ['Gouri','#254, asikw, sisj, 89898']

                           ];


                createCSV(data,'Subscribe my channel'); 


        });

});

function createCSV(data,fName) {

var wb = XLSX.utils.book_new();

wb.Props = {

                Title: fName,

                Subject: 'Youtube',

                Author: "Htet exam youtube channel",

                CreatedDate: new Date(2017,12,19)

        };

        wb.SheetNames.push("Test Sheet");

        var ws_data = data;

        var ws = XLSX.utils.aoa_to_sheet(ws_data);

        wb.Sheets["Test Sheet"] = ws;

        var wbout = XLSX.write(wb, {bookType:'csv',  type: 'binary'});

        saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), fName+'.csv');

}

function s2ab(s) 

        var buf = new ArrayBuffer(s.length); //convert s to arrayBuffer

        var view = new Uint8Array(buf);  //create uint8array as viewer

        for (var i=0; i<s.length; i++) view[i] = s.charCodeAt(i) & 0xFF; //convert to octet

        return buf;    

}

</script>

</html>