jXLS is an easy-to-use Java library for generating Excel files using XLS templates. Also jXLS can be used to read XLS files and populate Java beans with spreadsheet data according to XML configuration file.
Excel generation is required in many Java applications that have some kind of reporting functionality. The most complete library to manipulate XLS files from Java is Jakarta POI library. The problems appear when it is required to create a lot of custom and complex Excel reports with rich formatting and enhanced functionality.
In this case you have to write a great bunch of Java code for creating workbook with all required formatting, formulas and other specific settings and correctly export data from a set of Java objects. Such code is hard to debug and the task of its creating is usually errorprone and timeconsuming. The other problem is that there are many Excel components for which there is no manipulation API provided.
Fortunately POI API allows to read Excel file trying to preserve it as is and then modify it as required. It is obvious it would be much easier to create all correctly formatted report template in some Excel editing tool and specify places where real data should appear.
jXLS is a project that implements this approach and allows creation of extremely complex Excel reports just in several lines of code. All you need is to create XLS template file with all required formatting, formulas, macros etc using specific notation to indicate placement of data and then write a couple lines of code to invoke jXLS engine passing XLS template and the exported data as parameters.
In your XLS template you can use any Excel features which are preserved by Jakarta POI when reading and writing XLS files. Particularly it means you can use Charts and Macros in your XLS template and many other features.
Here are some key features of "jXLS":
· Using SQL queries directly in XLS templates
· Simple property access notation
· Full expression language support
· Complex object graph export
· Flexible collection export
· Flow-Control Tags support
· Dynamic grouping of data
· Export of a single collection into multiple worksheets
· Adjacent tables support!
· Complex formulas support
· Charts, Macros and many other Excel features in XLS template
· Dynamic Outlines
· Dynamic Columns Hiding
· Dynamic Cell Style processing through custom Processors
· JDBC ResultSet export
· Merged Cells support
· Multiple bean properties in a single cell
· Reading XLS files
What's New in This Release: [ read full changelog ]
· Remove log4j.xml from jxls-reader.jar - ID: 2012767
· select attribute on ForEach ignored on single row for each - ID: 2018513
· Parsing expressions that contain colons - ID: 1960357
· Syntax errors cause OutOfMemoryError - ID: 1850657
· cannot use more than one < jx:out expr=".."/ > in one row - ID: 1924313
· deprecated POI methods replaced
· some code refactoring