excel - 如何在 JETT 中复制主循环数据?

标签 excel model-view-controller jett

我正在开发带有层次结构数据的 Excel 报告。
使用 JETT(java excel 模板翻译器),当有集合集合时,我想从主循环中复制行。这是一个简短的例子。

public class JettTest {
    @Test
    public void run() throws IOException {
        ClassLoader classLoader = getClass().getClassLoader();
        InputStream template = classLoader.getResourceAsStream("template.xlsx");
        try (
                XSSFWorkbook wb = new XSSFWorkbook(template);
                FileOutputStream fos = new FileOutputStream("target/output.xlsx")
        ) {
            Map<String, Object> params = new HashMap<>();
            Parent parent1 = new Parent("parent1", Arrays.asList("child1", "child2"));
            Parent parent2 = new Parent("parent2", Arrays.asList("childX", "childY"));
            List<Parent> parents = Arrays.asList(parent1, parent2);
            params.put("parents", parents);

            ExcelTransformer transformer = new ExcelTransformer();
            transformer.transform(wb, params);
            wb.write(fos);
        }
    }

    public class Parent {
        private String name;
        private List<String> children;

        public Parent(String name, List<String> children) {
            this.name = name;
            this.children = children;
        }

        public String getName() {
            return name;
        }

        public List<String> getChildren() {
            return children;
        }
    }
}

Excel 模板是

template

A1 是
<jt:forEach items="${parents}" var="parent">${parent.name}

B1 是
<jt:forEach items="${parent.children}" var="child">${child}</jt:forEach></jt:forEach>

这给了我

actual

看起来不错,但是,我需要复制父名并获取

enter image description here

请问有什么想法吗?

最佳答案

您需要 {parent.name}在 child 之内forEach如果您希望为每个子名称显示父名称,请标记。

如果您移动 child 会发生什么forEach标记从 B1 到 A1,紧跟在父 forEach 之后标签?

关于excel - 如何在 JETT 中复制主循环数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54243558/

相关文章:

java - 通过值检测和替换字符串中的变量

java - JETT 模板引擎不支持集合列表,而是支持 Java 实体类列表

java - "derby dialect has been deprecated"

arrays - 如果单词以后缀之一结尾,则标记为 1

VBA代码为控制按钮分配名称,而不是让excel生成从数字派生的按钮名称

vba - 在 VBA 中命名和引用图表

model-view-controller - MVC 最佳实践

java - Apache Wicket 的优势是什么?

c# - 我在 Gridview 中显示 Excel 文件的内容。如何处理合并的单元格?