【JavaScript】自制的Excel变Json工具
2018-09-01 10:36
681 查看
有时候我们需要将Excel的内容变成Json,虽然这些工具在如同在《【jQuery】jQuery对本地json的读取和遍历》(https://my.oschina.net/u/3776619/blog/1813174)所提到的,网上一搜一大把,但是这完全可以自己用Javascript自己写。
其实这也是涉及一个,如何用Javascript将一个二维表搞成Json的问题了。
以下是我自制的一个Excel变Json工具:
既然是自用的工具就无须这么高端,更何况Javascript也无法对文件进行操作。只须满足将Excel的内容copy过来,放到一个textarea里面,点击“转换”按钮,就会出现Json即可。
要完成这个转换,首先明白Excel复制过来的内容是,单元格与单元格之间是用\t隔开的,而行与行之间是用\r\n隔开的。如下图所示。
首先javascript是有split函数的,这就好办了,分别以split("\r\n")分开行,再用split("\t")分开每一单元格。
之后关键是我们需要拼出一个Json字符串。
二维表变Json就是将每一行的内容放到一个Json,也就是{'key1':''value1','key2':''value2'}之内,而所有的行将组成一个json数组[{},{},{}]。
所以上来和收尾先来个[和],然后就是两个for的事情,上述效果的代码如下:
由于这里,json的收尾的是不能有,存在的,所以在循环中,我们要判断是不是最后一个,若不是,才加,。
其实这也是涉及一个,如何用Javascript将一个二维表搞成Json的问题了。
以下是我自制的一个Excel变Json工具:
既然是自用的工具就无须这么高端,更何况Javascript也无法对文件进行操作。只须满足将Excel的内容copy过来,放到一个textarea里面,点击“转换”按钮,就会出现Json即可。
要完成这个转换,首先明白Excel复制过来的内容是,单元格与单元格之间是用\t隔开的,而行与行之间是用\r\n隔开的。如下图所示。
首先javascript是有split函数的,这就好办了,分别以split("\r\n")分开行,再用split("\t")分开每一单元格。
之后关键是我们需要拼出一个Json字符串。
二维表变Json就是将每一行的内容放到一个Json,也就是{'key1':''value1','key2':''value2'}之内,而所有的行将组成一个json数组[{},{},{}]。
所以上来和收尾先来个[和],然后就是两个for的事情,上述效果的代码如下:
<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的收尾的是不能有,存在的,所以在循环中,我们要判断是不是最后一个,若不是,才加,。
相关文章推荐
- [自制]Excel读写工具——sv-excel介绍
- JavaScript NodeTree导航栏(菜单项JSON类型/自制)
- javascript download excel file from JSON data
- json转换成excel在线小工具分享
- C# JavascriptSerializer与匿名对象打造Json的完美工具
- javascript在线版Excel工具集-在工作表中删除空白行
- 使用nodejs、ejsExcel、express、vuejs编写一个excel转json的工具——第一步:创建vuejs项目并搭建开发环境
- 自制JSON解析库C++(一)--对JavaScript对象的理解
- javascript在线版Excel工具集-Excel特殊替换
- ExcelAndJSON数据导出工具说明书 推荐
- 自制 Word、Excel 批转 PDF 工具
- Excel转Json工具(资源配置基础)
- 分享一个小工具:Excel表快速转换成JSON字符串
- javascript json转为 go struct 小工具代码
- HTML,javascript,Json数据在线格式化工具
- javascript在线版Excel工具集-生成工作表目录并可加链接
- 自制XE2100数据导出Excel的小工具
- javascript在线版Excel工具集-恢复Excel系统菜单
- HTML/CSS/Javascript/json代码在线压缩&格式化常用工具
- HTML,javascript,Json数据在线格式化工具