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

Posted

技术标签:

【中文标题】您将如何在 Word 或 RTF 文档的表格中显示 DBGrid 的内容?【英文标题】:How would you display a DBGrid's contents in a table within a Word or RTF document? 【发布时间】:2011-03-28 11:04:56 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

Muchas gracias para la respuesta! ...您知道我是否可以使用此组件将导出的网格插入文件中吗?换句话说,创建一个包含文本的文件,然后是表格,然后是更多的文本? 听起来您想使用办公自动化。冒着自吹自擂的风险,我已经多次写过这个主题的博客 - nbnewman.blogspot.com/search/label/office%20automation。将文本添加到Word文件中,然后添加表格然后添加更多文本是没有问题的。 @AlC; “我可以使用这个组件在文件中插入导出的网格吗?”该组件将数据导出到文件中。 ¿ 我不明白这个提示? No'am -- 谢谢;我会看看你的博客。 ... Netfali -- 我认为我所说的就像将数据添加到文件中间。试着想象一个带有文本的文件(不是来自 mxExports),然后是一个网格(来自 mxExports),然后是更多的文本(不是来自 mxExports)。听起来 mxExports 并没有直接这样做,但我会看看它并探索一下。再次感谢您的回复。 你好 AIC。好的,现在我明白你需要什么了。 ;-) 也许你可以用自动化完成任务,就像 No'am 说的那样。您也可以尝试修改/查看源代码并进行修改。问候。【参考方案2】:

嗯,首先您必须制作一个模板 .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;

【讨论】:

以上是关于您将如何在 Word 或 RTF 文档的表格中显示 DBGrid 的内容?的主要内容,如果未能解决你的问题,请参考以下文章

Html 转 Doc(Word) 或 RTF 格式

WPS系统中怎样将“收入.rtf”文档中的表格数据转换到工作表“Sheet1”中

如何从 Word 文档中提取 RTF / HTML 文本?

如何将rtf文件合并

word文件显示乱码怎么办?

word中,怎样让两个表格并排放在一起一页纸