Quite common request...
If you use Excel, you have defined methods to do this, the most elegant is to use XMLSS format, transform an XMLSS file to an XSL and combine it with a DataSet, pretty cool.
but on Ms Word... mmm.. if you only have to support Office 2007, then you are saved, it has a native XML format, but if you "poor soul" have to support older formats, you can play generating RTF files and stream them to the client (you can convert them to an XSL template and combine them with a DataSet as well), about streaming RTF, here you have an interesting link:
http://support.microsoft.com/kb/270906/
HTH