java 创建多个 excel 文件

java create multiple excel files

如何创建多个 excel 文件并打开供用户下载。我正在使用下一个代码,如果我再做一次,一个接一个,我得到两个 excels,但都是第二个创建的。

首先创建的代码excel

GotrPersClass gotrPersClas = ...;
try {
    FileResource res;
    res = ReportTakeAway.generateCustomExcel1(gotrPersClas, office, dateF, dateT);
    if (res != null) {
        setResource("dlexcel", res);
        ResourceReference rr = ResourceReference.create(res, this, "dlexcel");
        getUI().getPage().open(rr.getURL(), "_blank", false);
    }
}
catch (Exception e) {
}

创建第二个的代码excel

List<Map<String, Object>> rs = ...;
try {
    FileResource resClass;
    resClass = ReportTakeAway.generateCustomExcel2(rs, office, dateF, dateT);

    if (resClass != null) {
        setResource("dlexcel", resClass);
        ResourceReference rr = ResourceReference.create(resClass, this, "dlexcel");
        getUI().getPage().open(rr.getURL(), "_blank", false);

    }
}
catch (Exception e) {
}

两个代码一个接一个

找到 this link,但不适合 java:

我认为问题在于行

setResource("dlexcel", resClass);
ResourceReference rr = ResourceReference.create(resClass, this, "dlexcel");

在这两种情况下都为客户端(浏览器)创建了引用。 因此,无论用户选择哪个下载,引用为 'dlexel' 的文件将仅提供两者之一。

https://vaadin.com/api/framework/7.7.30/com/vaadin/server/ResourceReference.html#ResourceReference-com.vaadin.server.Resource-com.vaadin.server.ClientConnector-java.lang.String-

尝试使参数具有唯一值 'key'。