首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jxls或Jett:如何在父节点上呈现带有公式的树?

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

Stack Overflow用户
提问于 2017-03-22 03:55:11
回答 1查看 439关注 0票数 1

有没有一种方法可以使用JXLS (或JETT)为分层树生成报告?例如,模型类似于:

代码语言:javascript
复制
-node1
--node11
--node12
---node121
---node1211
--node13
-node2

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

代码语言:javascript
复制
| node name | node value
| node1     | =sum(node11, node12, node13)
| node11    | 5
| node12    | =sum(node121)
| node121   | =sum(node1211)
| node1211  | 10
| node13    | 15
| node2     | 20

……

我不知道树中嵌套的层数。我的问题是,对于每个父节点,excel中的渲染值必须是具有直接子节点之和的公式……诸若此类。只有叶节点必须使用实际节点值进行渲染。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-03-22 04:07:24

从这里获取代码:Traversing a tree recursively in depth first problems

代码语言:javascript
复制
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);
        }
    }
}

将构建的公式存储在节点上之后,再次遍历它,但这次是在System.out.println(tree.toString());行的位置--实际上是使用JXLS将它写到Excel中。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42936967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档