js使用excel文件生成省市区json

客户给我一份省市区的excel,让我做成json,以便在项目中使用,我看了下,excel的数据十分规整,这也便于我去整合数据。excel如下图


excel

废话不多说,先把excel另存为csv格式,然后js中使用excel的js插件,引入xlsx.core.min.js

1、使用标签接收上传文件。代码如下:

2、监听input change 事件

 $(document).ready(function(){
  $("#fileUploader").change(function(evt){
   // 上传文件处理逻辑...
  });
 });

3、显示在页面上,便于copy

完整代码如下



    
        
        
    
    
        
excel转json

JSON :

解释下具体代码逻辑,csv文件,是如下格式的


csv文件

所以通过读取csv文件,获得this.result字符串,并通过\r\n分隔成relArr数组,此时每一行都是一个字符串,再通过,分割成objArr数组。由于数据比较规整,省级下边就是该省的城市,城市下边就紧跟该市的区,所以可以每次取data数据源的最后一个,并根据当前循环数据的层级,来决定存入第几层的父级。如果数据源并非这么顺序完好,也可以通过第三列的父节点编码,去寻找应该放入哪个层级。
之后,就是下载地址
csv下载地址
json下载地址

你可能感兴趣的:(js使用excel文件生成省市区json)