http://www.c-sharpcorner.com/Code/2002/Mar/WordFromDotNet.asp
http://dotnet.aspx.cc/ShowDetail.aspx?id=6AFBF00B-459D-4642-AD14-8A4765FFAFCC

解决方案 »

  1.   

    哥哥这两个网址我都上了,一个是英文的,我是一点看不懂。另一个是VB的,我更是一点看不懂。如果你能看懂劳架您帮我做一个C#的实例好吗?分数一同送出!!!越详细越好!!!
      

  2.   

    分成两部分;1、数据库数据获取。2、用Word的宏写进Word文件
      

  3.   

    我的思路是
    1。先把文件转化成xml文件。
    2。因为xml文件实际上就是字符串。可以把他保存在表中的一个字段内
    3。从字段中提取xml文件的字符串,
    4。在转化成文件。
    5。该文件可以使任何文件(word,ppt,excel,pdf等等,)
    6。如何把文件转化成xml文件。请参照http://community.csdn.net/Expert/topic/3219/3219233.xml?temp=.1093408
    希望能对你有用
      

  4.   

    给你一个前台的代码:
              var fso=new ActiveXObject("Scripting.FileSystemObject");
              if (!fso.fileexists("c:\\模板文件.dot"))
    {
    alert("本机没有模板文件存在");
    delete fso;
    return;
    }
    //var str=Form1.tbMessage.value;
    //var strSumary=Form1.tbSumary.value;

    if (str=="" && strSumary=="")
    {
       alert("对不起,没有记录无法生成文档!");
       return;
    }

    var s,l,j,tmp,ss="",intRows=0,counts=1;
    var strTmp=new Array(); 
    var bookid=new Array();  //数组,存放标签的名称
    bookid[1]="XM";
    bookid[2]="HB";
    bookid[3]="ZDtime";
    bookid[4]="SHJK";
    bookid[5]="BZ";
    bookid[6]="QJ";
    bookid[7]="LC";
    bookid[8]="FSDate";
    bookid[9]="FSTime";
    bookid[10]="KTDate";
    bookid[11]="KTTime";

    var wrd=new ActiveXObject("Word.Application");
    wrd.visible=true;
    wrd.Documents.Open("c:\\模板文件.dot")

    var odoc=wrd.ActiveDocument;
    var now = new Date();
    var mm = now.getMonth()+1;   
    odoc.Books.Item("BookDate").Range.Text =Form1.tbToday.value;

    l=str.length;
    for(s=0;s<l;s++)
            {
    tmp=str.charAt(s);   //分离字符串
    if (tmp!="&")
    {
    ss+=tmp;
    }
    else
    {
    strTmp[intRows]=ss;
    ss="";
    intRows+=1;
    }
    if (intRows==11)
    {
        for(j=1;j<=11;j++)
    {
        //将数组中的值写入标签页
        odoc.Books.Item("Book"+bookid[j]+counts).Range.Text = strTmp[j-1];    
    }
    if(counts>5)
    {
    alert("写入数据时发生错误!");
    return;
    }
    intRows=0;
    counts+=1;
    }
    }
    //写入BookSumary
    odoc.Books.Item("BookSumary").Range.Text=strSumary;

    var oTable=odoc.Tables.Item(1);
    for(j=9;j>=counts+3;j--)       //删除Word文档中多余的行
    {
    oTable.Cell(j, 1).Merge(oTable.Cell(j, 13));
    oTable.Cell(j, 1).Delete();
    }

    wrd.ActiveDocument.SaveAs("d:\\XX.doc");
    wrd=null;
    }
      

  5.   

    ckvip给的代码可以实现,不过你得先做一个Word模板