如何在Word或RTF文档中的表中显示DBGrid的内容?

时间:2010-08-11 15:22:51

标签: delphi reporting rtf

我正在使用Rave生成报告,但它在生成Word文档方面很差。我的报告需求很简单;在代码中我唯一不能轻易做的就是制作一张表。我喜欢有关如何在边框表格中以Word或RTF兼容格式显示[DB]网格内容(或底层ClientDataSet记录)的建议。

2 个答案:

答案 0 :(得分:2)

您可以测试我推荐的here (mxExports from max)相同的组件。

mxExport 可以将TDataset,TStringGrid和TDBGrid导出为不同的文件格式,包括RTF和MS Word。

查看组件并测试演示。它对你有用。它是免费的,包括来源。 ;-)

答案 1 :(得分:0)

好吧,首先你必须制作一个模板.doc文件,你将在其中创建将被替换的关键字...这里你是一个示例代码......

<br> 
var
 FileName: OleVariant;
<br> Doc : _Document;
 <br>SearchText, ReplaceText, Wrap, All: OleVariant;
<br>
<br> begin
  <br>WordApplication1.Connect;
  <br>WordApplication1.visible:= True;

 <br> FileName:=GetCurrentDir+'\Documents\In_orders.doc';
  <br>WordApplication1.Documents.Open(FileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
  <br>Doc := WordApplication1.ActiveDocument;
  <br>WordDocument1.ConnectTo(Doc);
<br>  WordApplication1.Disconnect;

  <br>SearchText := 'order_nomer';
   <br>ReplaceText := dbgrid1. < some property.. >;
    <br>Wrap := wdFindContinue;
   <br>All := wdReplaceAll;
  <br>WordDocument1.Content.Find.Execute(SearchText, EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam, Wrap, EmptyParam, ReplaceText, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
<br>
 <br>WordApplication1.Disconnect;
 <br>end;