问题描述:在word文件里输入诸如 名称[name] 年龄[aaa] 地址[bbb]等等,[]里面对应的是数据库表里的字段名称。
要求一应用程序读取word文件,输出一个word文件形如:
名称[爱爱爱] 年龄[15] 地址[成都]
名称[爱爱爱] 年龄[15] 地址[成都]
名称[爱爱爱] 年龄[15] 地址[成都]
名称[爱爱爱] 年龄[15] 地址[成都]
名称[爱爱爱] 年龄[15] 地址[成都]
.......数量视读取数据的数量而定
我数据读出来了,但再返回去没有方案。求一解决demo

解决方案 »

  1.   


    //可以参考下
    object oMissing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word._Application oWord;
                Microsoft.Office.Interop.Word._Document oDoc;
                oWord = new Microsoft.Office.Interop.Word.Application();
                oWord.Visible = false;
                object fileName = @"word路径";
                oDoc = oWord.Documents.Open(ref fileName, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);            object FindText, ReplaceWith, Replace;
                Replace = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;            FindText = "a";//要查找的文本
                ReplaceWith = "b";//替换文本
                oDoc.Content.Find.Execute(ref FindText, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref ReplaceWith, ref Replace, ref oMissing, ref oMissing, ref oMissing, ref oMissing);            oDoc.Save();            if (oDoc != null)
                    oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
                if (oWord != null)
                    oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
      

  2.   

    数据读出后保存到List<T>
    建用户信息实体类,通过遍历List输出实体对象属性
    class User
    {
     private string name;
     public string Name
    {
     get{
    return name;
    }
    set
    {
    name=Value;
    }
    }
    }
    再用Microsoft.Office.Interop.Word._Application 
    建word文档,输出数据
    或遍历数据集,替换word内容
     public bool Replace(string strOldText,string strNewText)
            {
                this.oDoc.Content.Find.Text = strOldText ;
                object FindText,  ReplaceWith, Replace ; 
                object MissingValue = Type.Missing; 
                FindText = strOldText ;
                ReplaceWith = strNewText ;
                   Replace = Word.WdReplace.wdReplaceAll ;            this.oDoc.Content.Find.ClearFormatting();
                if (this.oDoc.Content.Find.Execute(
                    ref FindText,ref MissingValue,
                    ref MissingValue,ref MissingValue,
                    ref MissingValue,ref MissingValue,
                    ref MissingValue,ref MissingValue,ref MissingValue,
                    ref ReplaceWith,ref Replace,
                    ref MissingValue,ref MissingValue,
                    ref MissingValue,ref MissingValue))
                {
                    return true ;
                }
                return false ;
                
            }