Javascript directly references Microsoft's COM to generate Word
<html><head><meta http-equiv=Content-Type content="text/html;charset=utf-8"><title>Build Document by Script</TITLE><SCRIPT LANGUAGE="text/javascript">function word_onclick(){var myDocApp=null;myDocApp =new ActiveXObject("word.Application");myDocApp.Application.Visible = true;var myDoc = myDocApp.Documents.Add();myDocApp.Selection.ParagraphFormat.Alignment=1myDocApp.Selection.Range.Bold=true;myDocApp.Selection.Font.Size=22;myDocApp.Selection.Text=" Application for leave "myDocApp.Selection.insertAfter("n");myDocApp.Selection.MoveRight(2,10); myDocApp.Selection.TypeParagraph();myDocApp.Selection.Font.Bold=false;myDocApp.Selection.Font.Size=12;var myTable0=myDoc.Tables.Add(myDocApp.Selection.Range,3,4);myTable0.cell(1,1).Range.Text=" Leave people ";myTable0.cell(1,2).Range.Text=" Zhang SAN ";myTable0.cell(1,3).Range.Text=" Leave time ";myTable0.cell(1,4).Range.Text="2006-2-10";myTable0.cell(2,1).Range.Text=" Work number ";myTable0.cell(2,2).Range.Text="32412";myTable0.cell(2,3).Range.Text=" The form of time ";myTable0.cell(2,4).Range.Text="2006-2-9";myTable0.cell(3,1).Range.Text=" Reason for leave ";myTable0.cell(3,2).Range.Text=" Catch a cold ";myTable0.cell(3,3).Range.Text=" handling ";myTable0.cell(3,4).Range.Text=" Sick leave ";var range=myDocApp.ActiveDocument.Content;range.Collapse(0);range.insertAfter("n");range=myDocApp.ActiveDocument.Content;range.Collapse(0);var myTable2=myDoc.Tables.Add(range,1,2);myTable2.Columns(1).SetWidth(320,2);myTable2.cell(1,1).Range.Text=" Applicant's signature " //Spaces don't deletemyTable2.cell(1,2).Range.Text=" Applicant's signature ";try{myDocApp.ActiveDocument.SaveAs("e:\JaveToWord.doc");}catch(exception){alert(" Browser security Settings are too high , Failed to save file to local ");myDocApp.Documents.close();myDocApp.Application.quit();myDocApp=null;window.close();}}</SCRIPT></HEAD><BODY><p><a href="javascript:word_onclick()"> generate WORD</a></p></BODY></HTML>