在Vaadin中显示电子表格组件

时间:2019-03-09 12:32:42

标签: java vaadin spreadsheet vaadin10

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

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.nnnnnn'Z'")

下面是ExcelOpener帮助程序类:

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);
   }
}

我的问题是:

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

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

  • 如何使用给定的路径打开Excel?我写的路径正确吗?还是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; } }

1 个答案:

答案 0 :(得分:4)

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

您可以在https://vaadin.com/blog/vaadin-s-frontend-direction的评论中看到它的意思:

  

最后一部分是电子表格,那有些棘手。它建立在   直接位于POI的顶部,并且大多数逻辑发生在服务器端,   因此它不能真正用作独立的客户端Web组件   在架构上没有重大变化。我们今天没有计划   使其成为一个Web组件,但是我们有两个有希望的途径   我们正在研究可以将其带入Flow的领域。第一个是   我们正在研究从8到10的迁移工具或包装器。   它基本上在Vaadin 10应用程序中嵌入了Vaadin 8应用程序。我们有一个   使用FW8的电子表格单独包装和嵌入的概念证明   在完整的Vaadin 10应用中。另一个选择是概念证明   采取已编译的Vaadin 8 GWT小部件并构建一个Web组件   可以在这里找到:https://github.com/Legioth/connector-element。   从本质上讲,它替代了Vaadin 8的服务器端副本   并将其自身连接到小部件的连接器。这可以使   我们将Spreadsheet小部件编译成一个Web组件,然后进行迁移   将Spreadsheet的服务器端连接到Flow,然后连接服务器端   回到Web组件。但是,我们没有任何关于   如果我们要这样做的话。

相关问题