I have a need to generate an excel sheet report which looks like the following template —

I know this can be done using libraries like JExcelApi and Apache POI. However I would like to know if there are means of accomplishing this by writing a template similar to writing Apache Velocity templates for sending emails.
If there is a standard, good-practice approach for generating such reports what is it?
Why not create a styled template using Excel? Use placeholders (like ${name.of.field}) for the values that should be substituted, but otherwise style everything as required. Use a different placeholder to mark the end-of-template (this will allow you to write comments or other data beyond this space, to document your template).
Then, either via JExcelApi or Apache POI,
and stopping once you reach your end-of-template marker.
Template modification will be extremely easy. The only problem is keeping the field-names in sync.