Jxls或Jett:如何呈现父节点上的公式树?

有没有办法使用JXLS(或JETT)为分层树生成报告? 例如,模型是这样的:

-node1 --node11 --node12 ---node121 ---node1211 --node13 -node2 

我需要用两列来呈现结果:

 | node name | node value | node1 | =sum(node11, node12, node13) | node11 | 5 | node12 | =sum(node121) | node121 | =sum(node1211) | node1211 | 10 | node13 | 15 | node2 | 20 

….

我不知道树中嵌套层次的数量。 我的问题是,对于每个父节点,Excel中呈现的值必须是具有直接子元素总和的公式……等等。 只有叶节点必须使用实际的节点值进行渲染。

谢谢

从这里获取代码: recursion地遍历一棵树的第一个问题

 public void traverseTree(Tree tree) { // print, increment counter, whatever System.out.println(tree.toString()); // Do your code to build your sum formula string here and store it on your tree node. // traverse children int childCount = tree.getChildCount(); if (childCount == 0) { // Overwrite the "forumla" you were building with something denoting that it is a leaf node here. } else { for (int i = 0; i < childCount; i++) { Tree child = tree.getChild(i); traverseTree(child); } } } 

在你的节点上存储了构build的公式之后,再遍历它,但是这次取代了System.out.println(tree.toString()); 行 – 实际上使用JXLS API将其写入Excel。

(请注意,代替“树”对象,您可能需要定义自己的树类来包装树节点,并允许您存储公式信息。)