【问题标题】:Show Spreadsheet component in Vaadin在 Vaadin 中显示电子表格组件
【发布时间】:2019-03-09 12:32:42
【问题描述】:

我正在使用 Vaadin 10,我想向用户显示一个电子表格。但是,下面的方法给了我一个错误:

public class SomeUI extends VerticalLayout{

   private SomeUI(){

       // ... some add(Components)
       String path = "C:\\Users\\MY_USERNAME\\Desktop";
       Spreadsheet sp = ExcelOpener.openFile(path);

       // this line does not work
       // add(sp);
   }
}

下面是 ExcelOpener 辅助类:

public class ExcelOpener {

    public static Spreadsheet openFile(String path){
        // I will use the path to open given excel later.
        // Right now I want to open an empty spreadsheet and show it to the user
        Spreadsheet spreadsheet = null;
        spreadsheet = new Spreadsheet();

        return spreadsheet;
    }
}

我的问题是:

  • 如何解决 add(sp) 方法的错误:

无法解析方法'add(com.vaadin.addon.spreadsheet.Spreadsheet)'

  • 如何使用给定路径打开 Excel?我写的路径是否正确?或者应该是"C:/Users/MY_USERNAME/Desktop"

【问题讨论】:

  • 您使用的是什么版本的电子表格?可能是 v8 的版本。

标签: java vaadin spreadsheet vaadin10


【解决方案1】:

电子表格组件与 Vaadin 10+(仅 Vaadin7/8)不兼容。

正如您在 https://vaadin.com/blog/vaadin-s-frontend-direction 的 cmets 中看到的那样:

最后一部分是电子表格,这有点棘手。它建立在 直接在 POI 顶部,大部分逻辑发生在服务器端, 所以它不能真正作为一个独立的客户端 Web 组件工作 没有架构的重大转变。我们今天没有计划 把它变成一个 web 组件,但我们有几个有前途的途径 我们正在研究哪些可以将其带到 Flow 中。第一个是 我们正在研究从 8 到 10 的迁移工具或包装器。 它基本上将 Vaadin 8 应用程序嵌入到 Vaadin 10 应用程序中。我们有一个 FW8 电子表格的概念证明,单独包装并嵌入 在完整的 Vaadin 10 应用程序中。另一种选择是概念证明 获取已编译的 Vaadin 8 GWT 小部件并构建 Web 组件 围绕它,在这里找到:https://github.com/Legioth/connector-element。 从本质上讲,它取代了 Vaadin 8 的服务器端对应物 并将自己连接到小部件的连接器。这可以使 我们将电子表格小部件编译成 Web 组件,迁移 电子表格的服务器端到Flow,并连接服务器端 回到网页组件。但是,我们没有任何具体的计划 如果我们要这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2012-12-25
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多