如何根据xlsx工作表构建树状数据

时间:2013-09-17 06:53:49

标签: java excel recursion

我有一个xlsx文件,其中包含一张包含这些记录的表格:

enter image description here

现在我必须根据这些记录生成一个JSON对象:

[name:"group1",items:[
    {name:"a",items:[
      {name:"aa",x:30,y:20},
      {name:"ab",x:30,y:20},
      ....
    ]},
    {name:"b",items:[...]},
    {name:"c",items:[...]}]]

似乎需要递归。

但我不知道如何启动它。

任何人都可以给我一些建议吗?

顺便说一句,我使用Apache POI来读取xlsx文件。

1 个答案:

答案 0 :(得分:1)

伪代码:

root = new JSON array
level0 = null
level1 = null
level2 = null
for row in sheet:
   if row[0] != '':
       level0 = new Json(name:row[0], items:new List())
       root.add(level0)
       level1 = null
       level2 = null
   if row[1] != '':
       level1 = new Json(name:row[1], items:new List())
       level0.items.add(level1)
       level2 = null
   if row[2] != '':
       level2 = new Json(name:row[2], x:row[3], y:row[4])
       level1.items.add(level2)