怎样根据查出来的数据生成一个word文档,而且可以设置word文档的格式。
例如:查出数据有:标题、正文、答案等等
生成的word文档的格式如下:
1. 标题
   正文
   答案
2. 标题
   正文
   答案
 ……
 ……
 ……
请问有谁搞过这些的?例如题库管理系统,用户可以添加题目,然后系统会自动生成一个设置好格式的word文档。
谁有这些例子或者是做过的,教我一下,分数不够可以加。谢谢。
有例子的发到我邮箱[email protected]

解决方案 »

  1.   

    怎么这么多人做题库生成系统的呀,我才做完一个.
    你从数据库里读出来后把试题和答案生成为WORD文档时,要用标签来控制.
    当然你后成WORD文档要调用WORD的接口.我用的是8.1的类库.
      

  2.   

    你说的我知道,我引用了VBA组件,用到Microsoft Word11.0,而且引用Interop.Word.Dll。
    但是我不知道具体怎样操作啊,你刚做了,能不能发那个设置word模板的那段代码给我?最好就是把整个类发给我看看。邮箱:[email protected]
      

  3.   

    Word模板?WORD模板我是直接就用WORD做好老的,在程序里只是从数据库里读数据,最后再把题和答案直接写到WORD模板里就行了.因为每一生成试卷的WORD模板是一样的,用不着用程序来自己生成.
    你是用的WORD2003类库吧,如果你用WORD2003的类库,你生成出来的试卷在word2000或者wordXP里是打不开的.建议用WORD2000的类库,也就是8.1的.
      

  4.   

    因为我之前没搞过这些操作word的,所以刚才上网看了一下,找到一段代码,是这样的,有些地方不懂,你能不能帮我分析一下?谢谢。
    extend = Word.WdMovementType.wdExtend; 
    unit = Word.WdUnits.wdCell; 
    //把DataGrid中数据填充到标签TWaterTable3上 
    if(wApp.ActiveDocument.Books.Exists("TWaterTable3") == true) 

    wApp.ActiveDocument.Books.get_Item(ref bkmG).Select(); ////?????????????????????????? for(int i=0;i < bkmG.ToString().Length;i ++)

    if(i==0) 

    count=1; 

    else 

    count=0; 

    //需填充5列数据 
    wApp.Selection.Move(ref unit,ref count); 
    wApp.Selection.TypeText(gridEX1.GetRow(i).Cells[0].Text); 
    count=1;  wApp.Selection.Move(ref unit,ref count); 
    wApp.Selection.TypeText(gridEX1.GetRow(i).Cells[1].Text);  wApp.Selection.Move(ref unit,ref count); 
    wApp.Selection.TypeText(gridEX1.GetRow(i).Cells[2].Text);  wApp.Selection.Move(ref unit,ref count); 
    wApp.Selection.TypeText(gridEX1.GetRow(i).Cells[3].Text);  wApp.Selection.Move(ref unit,ref count); 
    wApp.Selection.TypeText(gridEX1.GetRow(i).Cells[4].Text); 
    //换行 
    wApp.Selection.MoveRight(ref unit,ref count,ref extend); 
    }
      

  5.   

    建议用WORD的宏录制功能,把你要的操作用宏录制下来,最后再把宏转换成C#的代码.
      

  6.   

    呵呵,不好意思,不懂你的意思,不能直接用代码来设置word的格式的吗?
      

  7.   

    我是说,比如你生成试卷时,要设置字体,你就可以在WORD里用录制宏来把设置字体的操作录制下来,然后就在你录制的宏里去看,就能看到,刚才设置字体调用了WORD的哪个接口或者方法.
    因为宏是VB的宏,所以你要把宏代码转换成C#的代码就行了.
    比如添加一个标签,或者画一个表格这些都是一样的,自己录制下来,再转换成C#的代码.
    不然你怎么知道你的操作要去调哪些接口和方法.