Excel Exporter | Vaadin

It is a single point solution providing consistent and configurable support for exporting data of Vaadin Table, Tree Table and Grid in Excel format.

Let's first discuss why do we need this add on?

  1. Exporting the screen data is a frequent task required in most of the applications. There are several helper technologies such as POI which help us in bringing the Export feature in place but a developer needs to take it up every time he wants to implement.
  2. Vaadin providing so many components for representation of data such as Table, Tree Table and Grid, which again raises a need for a utility that is easy and configurable to be used with varied component without the pain of writing the logic to generate the Excel.
  3. A consistent excel format throughout the application which would enhance user experience.
  4. Can be integrated with any Vaadin application with just few lines of configuration code.

Now Let's discuss what this add on does?

This add-on utility takes various components like the Tree Table, Grid and Table as inputs and directly generates an excel in the required formats such as .XLS or .XLSX.

It is highly configurable and provides configuration at three levels namely File Level, Sheet Level, Component Level.

For each file you can configure

  • List of Sheets
  • Export File Name
  • Generated By
  • Export Type
  • Export Extension

For each sheet you can configure

  • Sheet Name
  • Report Title Row
  • Generated By Row
  • List of Components inside the sheet
  • Field Group - for showing filters selected on the screen for the selected data
  • Additional Header Info - HashMap for custom data
  • Date Format
  • Number Formats
  • XSSFCellStyle for each content section of the screen

Note that the Number formats by itself manages the thousand seperator and decimal point handling for different locales. For Eg: For English the decimal point is (.) and thousand seperator is (,), but for German locale it is the reverse. But the code handles it by its own.

For each component you can configure

  • Tree table or Grid or Table
  • Visible properties
  • Properties requiring date formatting
  • Properties requiring Float formatting
  • Properties requiring Integer formatting
  • Column Header Texts
  • Component Header and Content Styles
  • Column Freeze and Header Freeze feature
  • Provide Column Level Configurations -- Datatype -- Suffix -- Prefix -- Custom Column Generator -- Thousand Separators in case of Number
  • Multiple Header Rows with cell merging option
  • Multiple Footer Rows with cell merging option

However, if none of these are specified, it would generate the Excel with default values and styles.

What dependencies are required?

JDK 1.7 or above POI 3.9 POI-OOXML 3.9 Apache Commons IO library (http://commons.apache.org/io/) v2.2 net.karneim.pojobuilder 3.4.0 and above

Who developed it?

Kartik Suba @ Direction Software Solutions, India. For Client: Bonprix Handelsgesellschaft mbH Contact on Skype @ k.suba@direction.biz or kartik.suba for quick assistance.

Are there any Future Up gradation Plans?

  • Specifying a row header which can allow horizontal data as well.
  • Export of selected records wherever applicable
  • Legend for better understanding

Install

Link to this version
ExperimentalReleased 04 September 2017MIT License
Framework Support
Vaadin 8.0+
Also supported:
Vaadin 7 (1.0.8)
Browser Independent
Install with
Release notes - Version 2.0

upgraded to Vaadin 8 please check new apis for cellstyle generation, if needed