有時候咱們須要將Excel的內容變成Json,雖然這些工具在如同在《【jQuery】jQuery對本地json的讀取和遍歷》(http://www.javashuo.com/article/p-wjfyuycq-ku.html)所提到的,網上一搜一大把,可是這徹底能夠本身用Javascript本身寫。javascript
其實這也是涉及一個,如何用Javascript將一個二維表搞成Json的問題了。html
如下是我自制的一個Excel變Json工具:java
既然是自用的工具就無須這麼高端,更況且Javascript也沒法對文件進行操做。只須知足將Excel的內容copy過來,放到一個textarea裏面,點擊「轉換」按鈕,就會出現Json便可。json
要完成這個轉換,首先明白Excel複製過來的內容是,單元格與單元格之間是用\t隔開的,而行與行之間是用\r\n隔開的。以下圖所示。數組
首先javascript是有split函數的,這就好辦了,分別以split("\r\n")分開行,再用split("\t")分開每一單元格。函數
以後關鍵是咱們須要拼出一個Json字符串。工具
二維表變Json就是將每一行的內容放到一個Json,也就是{'key1':''value1','key2':''value2'}以內,而全部的行將組成一個json數組[{},{},{}]。.net
因此上來和收尾先來個[和],而後就是兩個for的事情,上述效果的代碼以下:excel
<html> <body> <textarea id="excel" rows="10" cols="80"></textarea><br> <button onclick="convert()">轉換</button><br> <p id="json"> </p> <script> function convert(){ var excel=document.getElementById("excel").innerHTML; var row=excel.split("\r\n"); var header_row=row[0].split("\t"); var json_str="["; for(var i=1;i<row.length;i++){ json_str+="{"; var cell=row[i].split("\t"); for(var j=0;j<cell.length;j++){ json_str+="'"+header_row[j]+"':'"+cell[j]+"'"; if(j!=cell.length-1){ json_str+="," } } json_str+="}"; if(i!=row.length-1){ json_str+="," } } json_str+="]"; document.getElementById("json").innerHTML=json_str; } </script> </body> </html>
因爲這裏,json的收尾的是不能有,存在的,因此在循環中,咱們要判斷是否是最後一個,若不是,才加,。code