zoukankan      html  css  js  c++  java
  • 功能/项目 js json转csv json格式的数据生成为csv文件

    原文:
    https://www.cnblogs.com/xiyangbaixue/p/4210278.html

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
    
    
        <div align="center">
            <h3><u>Enter JSON data</u></h3>
            <div class='mydiv'>
                <textarea id="txt" class='txtarea' rows="15" cols="100">[{"Vehicle":"BMW","Date":"30 Jul 2013 09:24 AM","Location":"Hauz Khas","Speed":42},{"Vehicle":"Honda CBR","Date":"30 Jul 2013 12:00 AM","Location":"Military Road","Speed":0},{"Vehicle":"Supra","Date":"30 Jul 2013 07:53 AM","Location":"Sec-45","Speed":58},{"Vehicle":"Land Cruiser","Date":"30 Jul 2013 09:35 AM","Location":"DLF Phase I","Speed":83}]</textarea>
            </div>
            <br />
            <button class="download">Download CSV</button>
        </div>
    
    
    
        <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
        <script type="text/javascript">
    
    
            // 原文:https://www.cnblogs.com/xiyangbaixue/p/4210278.html
    
    
            $(function () {
    
                var d = [
                    { "Vehicle": "BMW", "Date": "30 Jul 2013 09:24 AM", "Location": "Hauz Khas", "Speed": 42 },
                    { "Vehicle": "Honda CBR", "Date": "30 Jul 2013 12:00 AM", "Location": "Military Road", "Speed": 0 },
                    { "Vehicle": "Supra", "Date": "30 Jul 2013 07:53 AM", "Location": "Sec-45", "Speed": 58 },
                    { "Vehicle": "Land Cruiser", "Date": "30 Jul 2013 09:35 AM", "Location": "DLF Phase I", "Speed": 83 }
                ];
    
    
                d = [{ "platformOrderSn": "12044000000", "orderCreateTime": "2020-09-25 13:22:29", "title": "测试0", "memberUsername": "用户0", "orderStatus": 0, "payAmount": "348.00" }, { "platformOrderSn": "12044000001", "orderCreateTime": "2020-09-25 13:22:29", "title": "测试1", "memberUsername": "用户1", "orderStatus": 0, "payAmount": "348.00" }, { "platformOrderSn": "12044000002", "orderCreateTime": "2020-09-25 13:22:29", "title": "测试2", "memberUsername": "用户2", "orderStatus": 0, "payAmount": "348.00" }, { "platformOrderSn": "12044000003", "orderCreateTime": "2020-09-25 13:22:29", "title": "测试3", "memberUsername": "用户3", "orderStatus": 0, "payAmount": "348.00" }, { "platformOrderSn": "12044000004", "orderCreateTime": "2020-09-25 13:22:29", "title": "测试4", "memberUsername": "用户4", "orderStatus": 0, "payAmount": "348.00" }];
    
    
    
                var msieversion = function () {
                    var ua = window.navigator.userAgent;
                    var msie = ua.indexOf("MSIE ");
                    if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv:11./)) // If Internet Explorer, return version number
                    {
                        return true;
                    } else { // If another browser,
                        return false;
                    }
                    return false;
                };
    
    
                var JSONToCSVConvertor = function (JSONData, ShowLabel) {
                    var arrData = typeof JSONData !== 'object' ? JSON.parse(JSONData) : JSONData;
                    var CSV = '';
                    if (ShowLabel) {
                        var row = "";
                        for (var index in arrData[0]) {
                            row += index + ',';
                        }
                        row = row.slice(0, -1);
                        CSV += row + '
    ';
                    }
                    for (var i = 0; i < arrData.length; i++) {
                        var row = "";
                        for (var index in arrData[i]) {
                            var arrValue = arrData[i][index] == null ? "" : '="' + arrData[i][index] + '"';
                            row += arrValue + ',';
                        }
                        row.slice(0, row.length - 1);
                        CSV += row + '
    ';
                    }
                    if (CSV == '') {
                        growl.error("Invalid data");
                        return;
                    }
                    var fileName = "Result";
                    if (msieversion()) {
                        var IEwindow = window.open();
                        IEwindow.document.write('sep=,
    ' + CSV);
                        IEwindow.document.close();
                        IEwindow.document.execCommand('SaveAs', true, fileName + ".csv");
                        IEwindow.close();
                    } else {
                        //var uri = 'data:application/csv;charset=utf-8,' + escape(CSV);
                        var uri = 'data:application/csv;charset=utf-8,' + CSV;
                        var link = document.createElement("a");
                        link.href = uri;
                        link.style = "visibility:hidden";
                        link.download = fileName + ".csv";
                        document.body.appendChild(link);
                        link.click();
                        document.body.removeChild(link);
                    }
                };
    
    
                JSONToCSVConvertor(d, true);
    
            });
    
    
        </script>
    </body>
    </html>
    
  • 相关阅读:
    Web进程被kill掉后线程还在运行怎么办?
    Spring Boot学习(二):配置文件
    POI实现excel的数据验证
    Spring Boot学习(一):入门篇
    lombok学习
    Java设计模式:单例模式
    关于org.springframework.web.filter.CharacterEncodingFilter的学习
    毕业三年,拿了北京户口,从年薪20W到年薪40W,说一点对后人有用的经验
    北漂去帝都大医院求医到底有多难?我的真实经历,真的是一路坎坷与辛酸~
    阿里面试官让我讲讲Unicode,我讲了3秒说没了,面试官说你可真菜
  • 原文地址:https://www.cnblogs.com/guxingy/p/13898137.html
Copyright © 2011-2022 走看看