Check out Apache Tiles. You will need different layout based on localization. Spring has a tiles view resolver.
http://tiles.apache.org/tutorial/advanced/l10n.html
Messages or text that need to be displayed in different languages should be put in the properties files as was described in my previous link, not in the database. I don't know anything about how you are generating your PDF or Excel reports but its not Spring related so I am afraid I cannot help you there beyond the fact that Spring can read in any of the messages you have by a provided locale. These can be used in your report generation as well (It is not just restricted to JSP's)
Good Luck!