There are several libraries used JasperReports Java API for creating reports with Java:
DynamicReports
DynamicJasper
This libraries/frameworks can build reports "on fly" with or without using report's template (jrxml file)
JasperReports library
VersionRelease date6.3.02016-06...