能通过写书签的方式写入word数据。
我之前写的代码如下,希望对你有所帮助: private Boolean convertWord(PlanDocEntity planDoc)
        {
            Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
            string TemplateFile = ConstUtil.PLAN_WORD;
            string FileName = planDoc.Path;
            try
            {
                File.Copy(TemplateFile, FileName);
            }
            catch (System.Exception ex)
            {
                System.Console.WriteLine(ex.Message);
                return false;
            }
            //     Microsoft.Office.Interop.Word.Document doc = null;
            Microsoft.Office.Interop.Word._Document doc = null;
            object Obj_FileName = FileName;
            object Visible = false;
            object ReadOnly = false;
            object missing = System.Reflection.Missing.Value;            try
            {
                doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,
                    ref missing, ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref Visible,
                    ref missing, ref missing, ref missing,
                    ref missing);
                doc.Activate();                foreach (Microsoft.Office.Interop.Word.Book bm in doc.Books)
                {
                    if (bm.Name.Equals("date"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.Time;
                    }
                    if (bm.Name.Equals("dutyUnit"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.DutyUnit;
                    }
                    if (bm.Name.Equals("researchUnit"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.ResearchUnit;
                    }                    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    if (bm.Name.Equals("stage1Content"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.Stage1Content;
                    }
                    if (bm.Name.Equals("stage1Money"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.Stage1money;
                    }
                    if (bm.Name.Equals("stage1Other"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.Stage1Other;
                    }
                    if (bm.Name.Equals("stage1Result"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.Stage1Result;
                    }
                    if (bm.Name.Equals("stage1Time"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.Stage1BeginTime + "--" + planDoc.Stage1EndTime;
                    }
                    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                    if (bm.Name.Equals("title"))
                    {
                        bm.Select();
                        bm.Range.Text = planDoc.Name;
                    }
                }
            }
            catch(System.Exception ex)
            {
                System.Console.WriteLine(ex.Message);
            }
            finally
            {
                object oMissing = System.Reflection.Missing.Value;
                object IsSave = true;
                doc.Close(ref IsSave, ref oMissing, ref oMissing);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
                app.Quit(ref IsSave, ref oMissing, ref oMissing);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(app);            }
            return true;
        
        }