2017-11-22 16 views
0

私は私のプロジェクトでvaadinを使用しています。輸出グリッドはどのように優れていますか?

私が持っている:

Grid<Vlr> gridVlr = new Grid<>("Vlrs"); 
gridBank.setItems(VlrList); // i used ArrayList 
gridBank.addColumn(Vlr::getVlrId).setCaption("VlrId"); 

ExportExcelComponentConfiguration<Vlr> componentConfig1 
    = new ExportExcelComponentConfigurationBuilder<Vlr>() 
     .withGrid(gridVlr) 
     .withVisibleProperties(new String[]{"Vlr ID"}) 
     .withHeaderConfigs(Arrays.asList(
      new ComponentHeaderConfigurationBuilder() 
      .withAutoFilter(true) 
      .withColumnKeys(new String[]{"Vlr Id"}) 
      .build() 
     )) 
     .withIntegerFormattingProperties(Arrays.asList("counter")) 
     .withFloatFormattingProperties(Arrays.asList(
      "totalCosts", 
      "differenceToMin" 
     )) 
     .withBooleanFormattingProperties(Arrays.asList("active")) 
     // .withColumnFormatters(columnFormatters) 
     .build(); 

ExportExcelSheetConfiguration<Vlr> sheetConfig1 
    = new ExportExcelSheetConfigurationBuilder<Vlr>() 
     .withReportTitle("Grid (Default)") 
     .withSheetName("Grid (default)") 
     .withComponentConfigs(Arrays.asList(componentConfig1)) 
     .withIsHeaderSectionRequired(Boolean.TRUE) 
     .withDateFormat("dd-MMM-yyyy") 
     .build(); 


ExportExcelConfiguration<Vlr> config 
    = new ExportExcelConfigurationBuilder<Vlr>() 
     .withGeneratedBy("Roman") 
     .withSheetConfigs(Arrays.asList(sheetConfig1)) 
     .build(); 

ExportToExcel exportToExcel = new ExportToExcel(ExportType.XLSX, null); 

Button buttonExport = new Button("Export to Excel", clickEvent -> { 
    exportToExcel.export(); 
}); 

layout.addComponent(buttonExport); 

私のミスは何ですか? おそらくもっと簡単な解決策がありますか?

+3

あなたはあなたが持っている問題を忘れてしまった。それは、人々が間違っていることを理解しやすくするかもしれない。 – ADyson

答えて

0

vaadin hereの書籍にファイルのダウンロードに関するドキュメントがあります。あなたのボタンからダウンロード "リンク"がありません。ボタンのクリックからファイルをダウンロードするには

手順

  1. 以下の通りサーバー
  2. createResosurce方法書き込みのxlsxファイルでダウンロードリソース
  3. でボタンを作成し、ファイルにStreamResourceを提供します。
関連する問題