По-простому - формируешь html, обзываешь его .docx, Ворд откроет и не поморщится.
Посложнее - формируешь rtf, дальше по той же схеме.
Всерьез - копаться в COM/OLE и получить монстра, который просто так на произвольной машине еще может и не запуститься за отсутствием вордовских библиотек.
Ну, и совсем для героев - посмотреть исходники альтернативных офисов...
P.S. Да, пожалуй, вторая часть ответа устарела, т.к. относилась к .DOC.
Более-менее открытый DOCX позволил-таки наклепать сторонних библиотек для его создания.