1,提取表格数据,这里通过一个工具获取表格的数据,下面有相关的地址
在寻找快速解决办法的时候,发现一款C#写的工具,很好用,便记录了。
github:https://github.com/neil3d/excel2json
windows 可执行文件下载:http://download.csdn.net/detail/neil3d/8985311
上面这些是上传表格之后提取到的数据,虽然数据格式有点乱,但需要的数据都可以得到,稍加整理就可以了。
下面是我整理之后的得到的数组数据
2,得到数组元素的数据后,就要开始考虑生成二叉树,在生成二叉树之前要明确父子关系,这里我是按照value值的关系来确定。
上面的数据中可以看到除了根节点是有一个大写的字母组成外,其他的节点都是由n个(两位数的整数)组成,不知道这样表达的不清不清楚,如:A0102可以看成是A-01-02。由此我确定的父子关系为:item为该表格数组数据的每一项
pid(父节点):item.value.slice(0, item.value.length - 2)
id(自己):item.value
首先挑选出所有的根节点:
然后一层一层的挂载所有的子节点上去,挂载子节点是根据查询已有的根节点去匹配该节点的父节点
然后把这些进行封装:
最后调用:
最后结果:
第一次写文章,不足之处希望各位大神多多赐教!