我现在要开发的程序中有一块要实现如下功能:1:在前台界面中输入将要导入到Word文档中的各项数据(章节号、标题、除文字外还包括图表等信息的         该章节内容),根据输入的数据与用户指定的模板能自动生成Word文档;在数据库中能保存每次对      Word文档修改的历史记录;并能通过在前台界面提供的查询功能,查找到数据库中相应章节的记录,      单击某按钮能打开相应的Word文件并能定位到该章节的位置。
2:用户指定某Word文档,开发的应用程序能将该Word文件中的各章节号、标题、该章节所含内容能自动      读取到SQL Server数据库中相应的字段中。  请问各位大虾,用Delhpi6.0, Sql Server2000实现以上功能时,由于各章节的内容字段包括图表信息,该如何输入(必须用OLE container吗)、如何存储(用SQL Server的image字段吗)?如何将数据按word模板自动排版生成Word文档?如何将某Word文件中的章节号、标题、该章节所含内容等各项信息自动读取到数据库中相应的字段中?该调用那些函数/过程呢?请各位Delphi的高手能详细的帮我解答一下,急!谢谢!

解决方案 »

  1.   

    导出DBGrid为Word表格。procedure TForm1.Button1Click(Sender: TObject);
    var
      WordApp,WordDoc,WordTable:OleVariant;
      i,j:integer;
    begin
      WordApp:=CreateOleObject('Word.Application');
      WordApp.Visible:=True;
      WordDoc:=WordApp.Documents.Add;
      WordTable:=WordDoc.Tables.Add(WordApp.Selection.Range,DBGrid1.DataSource.DataSet.RecordCount+1,DBGrid1.Columns.Count);
      for i:=1 to DBGrid1.Columns.Count do
      WordTable.Cell(1,i).Range.InsertAfter(DBGrid1.Columns[i-1].Title.Caption);
      i:=2;
      with DBGrid1.DataSource.DataSet do
      while not eof do
      begin
        for j:=1 to DBGrid1.Columns.Count do
          WordTable.Cell(i,j).Range.InsertAfter(DBGrid1.Columns[j-1].Field.Value);
        Next;
        Inc(i);
      end;
    end;希望能对你有帮助。
    ----------------------------来自超级猛料------------------------------------