站长资源网络编程

使用javascript实现json数据以csv格式下载

整理:jimmy2026/8/5浏览2
简介摘要:最近有一个非项目的小需求,就是将项目开发分工文件化,方便后期管理维护。但是开发时,分工安排都是以json格式记录的,所以就做了一个将json数据以csv格式下载到本地。代码:复制代码 代码如下: download csv<</div> <div class="news_infos"><div id="MyContent"><p>摘要:<br>   最近有一个非项目的小需求,就是将项目开发分工文件化,方便后期管理维护。但是开发时,分工安排都是以json格式记录的,所以就做了一个将json数据以csv格式下载到本地。</p> <p>代码:</p> <p><U>复制代码</U> 代码如下:<br> <!DOCTYPE html><br> <html><br>     <title>download csv</title><br>     <head><br>         <script src="/UploadFiles/2021-04-02/jquery-1.11.0.min.js">         <script type="text/javascript" src="/UploadFiles/2021-04-02/download.js">     </head><br>     <body><br>         <div align="center"><br>             <h3><u>Enter JSON data</u></h3><br>             <div class='mydiv'><br>                     <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><br>             </div><br>             <br/><br>             <button class="download">Download CSV</button><br>         </div><br>     </body><br> </html><br> </p> <p>download.js</p> <p><U>复制代码</U> 代码如下:<br> $(document).ready(function() {<br>     "use strict";<br>     var mo = {<br>         init: function() {<br>             $('.download').click(function() {<br>                 var data = $('#txt').val();<br>                 if (data === '') {<br>                     return;<br>                 }<br>                 mo.JSONToCSVConvertor(data, true);<br>             });<br>         },<br>         JSONToCSVConvertor: function(JSONData, ShowLabel) {<br>             var arrData = typeof JSONData !== 'object' "";<br>                 for (var index in arrData[0]) {<br>                     row += index + ',';<br>                 }<br>                 row = row.slice(0, -1);<br>                 CSV += row + '\r\n';<br>             }<br>             for (var i = 0; i < arrData.length; i++) {<br>                 var row = "";<br>                 for (var index in arrData[i]) {<br>                     var arrValue = arrData[i][index] == null "" : '="' + arrData[i][index] + '"';<br>                     row += arrValue + ',';<br>                 }<br>                 row.slice(0, row.length - 1);<br>                 CSV += row + '\r\n';<br>             }<br>             if (CSV == '') {<br>                 growl.error("Invalid data");<br>                 return;<br>             }<br>             var fileName = "Result";<br>             if (mo.msieversion()) {<br>                 var IEwindow = window.open();<br>                 IEwindow.document.write('sep=,\r\n' + CSV);<br>                 IEwindow.document.close();<br>                 IEwindow.document.execCommand('SaveAs', true, fileName + ".csv");<br>                 IEwindow.close();<br>             } else {<br>                 var uri = 'data:application/csv;charset=utf-8,' + escape(CSV);<br>                 var link = document.createElement("a");<br>                 link.href = uri;<br>                 link.style = "visibility:hidden";<br>                 link.download = fileName + ".csv";<br>                 document.body.appendChild(link);<br>                 link.click();<br>                 document.body.removeChild(link);<br>             }<br>         },<br>         msieversion: function() {<br>             var ua = window.navigator.userAgent;<br>             var msie = ua.indexOf("MSIE ");<br>             if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer, return version number <br>             {<br>                 return true;<br>             } else { // If another browser, <br>                 return false;<br>             }<br>             return false;<br>         },<br>         main: function() {<br>             mo.init();<br>         }<br>     };<br>     mo.main();<br> });<br> </p> <p>小结:<br>   注意json格式[{},{}],文件名是在js中定义的变量fileName。主要问题是他会自动添加一行空行,且每个元素都会在值前面加个'='。</p> <p>下载下来的数据格式为:</p> <p><a href="javascript:;" onclick="showimg('/UploadFiles/2021-04-02/201501091043002.png');"><img src="/UploadFiles/2021-04-02/201501091043002.png" alt="使用javascript实现json数据以csv格式下载" onmousewheel="return bbimg(this)" onload="javascript:resizepic(this)" border="0"/></a></p></div> </div> </div> <div class="share"> </div> <div class="nextinfo"> <p>上一篇:<a href="/3g/1/116000.html" title="JavaScript Math.floor方法(对数值向下取整)">JavaScript Math.floor方法(对数值向下取整)</a></p> <p>下一篇:<a href="/3g/1/116002.html" title="js读取csv文件并使用json显示出来">js读取csv文件并使用json显示出来</a></p> </div> <div class="otherlink"> <h2>最新资源</h2> <ul> <li><a href="/3g/1/623703.html" title="群星《奔赴!万人现场 第2期》[FLAC/分轨]">群星《奔赴!万人现场 第2期》[FLAC/分轨]</a></li> <li><a href="/3g/1/623702.html" title="群星《奇妙浪一夏 (上海迪士尼度假区音乐">群星《奇妙浪一夏 (上海迪士尼度假区音乐</a></li> <li><a href="/3g/1/623701.html" title="群星《奇妙浪一夏 (上海迪士尼度假区音乐">群星《奇妙浪一夏 (上海迪士尼度假区音乐</a></li> <li><a href="/3g/1/623700.html" title="【古典音乐】詹姆斯·高威《季节》1993[WA">【古典音乐】詹姆斯·高威《季节》1993[WA</a></li> <li><a href="/3g/1/623699.html" title="贝拉芳蒂《卡里普索之王》SACD[WAV+CUE]">贝拉芳蒂《卡里普索之王》SACD[WAV+CUE]</a></li> <li><a href="/3g/1/623698.html" title="小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE">小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE</a></li> <li><a href="/3g/1/623697.html" title="群星《欢迎来到我身边 电影原声专辑》[32">群星《欢迎来到我身边 电影原声专辑》[32</a></li> <li><a href="/3g/1/623696.html" title="群星《欢迎来到我身边 电影原声专辑》[FL">群星《欢迎来到我身边 电影原声专辑》[FL</a></li> <li><a href="/3g/1/623695.html" title="雷婷《梦里蓝天HQⅡ》 2023头版限量编号低">雷婷《梦里蓝天HQⅡ》 2023头版限量编号低</a></li> <li><a href="/3g/1/623694.html" title="群星《2024好听新歌42》AI调整音效【WAV分">群星《2024好听新歌42》AI调整音效【WAV分</a></li> </ul> </div> </div> <div class="sidebar"> </div> <div class="sidebar"> 友情链接:<a href="http://www.imxmx.com/" title="杰晶网络" target="_blank">杰晶网络</a> <a href="/" title="DDR爱好者之家" target="_blank">DDR爱好者之家</a> <a href="http://www.nqxw.com/" title="南强小屋" target="_blank">南强小屋</a> <a href="http://www.paidiu.com/" title="黑松山资源网" target="_blank">黑松山资源网</a> <a href="http://www.dyhadc.com/" title="白云城资源网" target="_blank">白云城资源网</a> <a href="/sitemap1.xml">站点地图</a> <a href="/sitemap.xml">SiteMap</a> </div> </article> <footer> <p>Design by <a href="http://m.ddrfans.com">DDR爱好者之家</a> <a href="http://m.ddrfans.com">http://m.ddrfans.com</a></p> </footer> <script src="/images3g/nav.js"></script> <script type="text/javascript"> jQuery.noConflict(); jQuery(function() { var elm = jQuery('#left_flow2'); var startPos = jQuery(elm).offset().top; jQuery.event.add(window, "scroll", function() { var p = jQuery(window).scrollTop(); jQuery(elm).css('position', ((p) > startPos) ? 'fixed' : ''); jQuery(elm).css('top', ((p) > startPos) ? '0' : ''); }); }); </script> </body> </html>