//生成WORD程序对象和WORD文档对象
Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = new Document();
object oMissing =System.Reflection.Missing.Value;
//打开模板文档,并指定doc的文档类型
object objTemplate=System.Windows.Forms.Application.StartupPath + @"UploadFilestz103.doc";
//路径一定要正确
//HttpContext.Current.Server.MapPath(@"f:tz103.doc");
object objDocType = WdDocumentType.wdTypeDocument;
object objfalse = false;
object objtrue = true;
doc = (Document)appWord.Documents.Add(ref objTemplate, ref objfalse, ref objDocType, ref objtrue);
//获取模板中所有的书签
Bookmarks odf =doc.Bookmarks;
string[] testTableremarks = {"offName_doc", "mineName_doc", "accident_doc", "pns_doc" };
string[] testTablevalues = {"Word标题", "公司名称", "高海敬Word文档的内容Word文档的内容Word文档的内容Word文档的内容Word文档的内容Word文档的内容Word文档的内容Word文档的内容Word文档的内容", "处理意见" };
//循环所有的书签,并给书签赋值
for (int oIndex = 0; oIndex <testTableremarks.Length; oIndex++)
{
object obDD_Name = "";
obDD_Name = testTableremarks[oIndex];
//doc.Bookmarks.get_Item(refobDD_Name).Range.Text =p_TestReportTable.Rows[0][testTablevalues[oIndex]].ToString();//此处Range也是WORD中很重要的一个对象,就是当前操作参数所在的区域
doc.Bookmarks.get_Item(refobDD_Name).Range.Text = testTablevalues[oIndex];
}
//第四步生成word,将当前的文档对象另存为指定的路径,然后关闭doc对象。关闭应用程序
object filename = "f:\" + DateTime.Now.ToShortDateString() +".doc";//HttpContext.Current.Server.MapPath("f:\") +"Testing_" + DateTime.Now.ToShortDateString() +".doc";
object miss =System.Reflection.Missing.Value;
doc.SaveAs(ref filename,ref miss, ref miss, refmiss, ref miss, ref miss,
refmiss, ref miss, ref miss, refmiss, ref miss, ref miss, refmiss, ref miss, ref miss, refmiss);
object missingValue = Type.Missing;
object doNotSaveChanges =WdSaveOptions.wdDoNotSaveChanges;
doc.Close(ref doNotSaveChanges,ref missingValue, ref missingValue);
appWord.Application.Quit(ref miss,ref miss, ref miss);
doc = null;
appWord = null;
//MessageBox.Show("生成成功!");
System.Diagnostics.Process.Start(filename.ToString());//打开文档