java - 在 Vaadin 14 中导出 Excel 中的网格

标签 java excel vaadin vaadin-grid vaadin-flow

我在 vaadin 中创建了网格。现在我需要在 Excel 中导出该网格。我正在使用 Vaadin Exporter,但无法使用导出器导出网格。

Grid<Transaction> grid = new Grid<>(Transaction.class);
Button exportInExcel = new Button("Export in excel", event -> exportInExcel());

private void exportInExcel() {
    new Anchor(new StreamResource("my-excel.xlsx", Exporter.exportAsExcel(grid)), "Download As Excel");
}

如何在 vaadin 14 中导出 Excel 中的网格

最佳答案

这对我有用:

@Route(value = "erwachsenentraining", layout = MainLayout.class)
@PageTitle(Constants.ERWACHSENENTRAINING)
@Secured(Role.ADMIN)
public class ErwachsenenTraining extends VerticalLayout {

    private ErwachseneRepository erwachseneRepository;
    Grid<Erwachsene> grid;

    public ErwachsenenTraining(ErwachseneRepository erwachseneRepository) {
        this.erwachseneRepository = erwachseneRepository;

        grid = new Grid();
        ListDataProvider<Erwachsene> dataProvider = DataProvider.ofCollection(erwachseneRepository.findAll());
        grid.setDataProvider(dataProvider);
        grid.addColumn(Erwachsene::getEmail).setKey("email").setWidth("270px").setHeader("Email").setFlexGrow(5);
        grid.addColumn(u -> u.getFirstName() + " " + u.getLastName()).setKey("firstName").setHeader("Name").setWidth("200px").setFlexGrow(5);
        grid.addColumn(Erwachsene::getRole).setKey("role").setHeader("Role").setWidth("150px");

        add(grid);
        add(new Anchor(new StreamResource("Erwachsenen_Training.xlsx", Exporter.exportAsExcel(grid)), "Download als Excel"));
    }
}

// Print
// JavaScript.getCurrent().execute("print();");

关于java - 在 Vaadin 14 中导出 Excel 中的网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57035260/

相关文章:

java - Micronaut Dockerfile破坏了软件包的构建

java - 添加新项目时 JSF java 列表被覆盖

java - 如何在 Eclipse 中指定嵌套泛型

r - 如何在 R 或 Excel 中的每 3 行产生一个结果?

java - Vaadin 中图表配置的序列化

vaadin - 如何在 vaadin 流程中禁用 ComboBox 中的清除按钮?

java - 使用log4j实例创建slf4j Logger

excel - 使用区分大小写的文本条件格式化整个工作表

excel - 从 Excel VBA 运行 Powerpoint sub

java - 我应该如何将 JSP 文件添加到我的应用程序中?