Delphi中将DBGRID中的内容输出到WORD中


本文整理自网络,侵删。

 在使用DELPHI开发过程中发现网上有很多的开发朋友询问关于将DBGRID中的内容导出到一个WORD中的方法。想想可以帮帮大家,所以就自己写了一个。希望对大家的软件开发有帮助。
下面是源代码。其中我使用了RZ的控件,用DELPHI自带的DBGIRD也是可以的。
Function TBaseControl.DBGird2Word(DBGrid: TRzDBGrid): Boolean;
var
Count,I,J:Integer;
Doc:OleVariant;
CurrColumn,RecordNum:Integer;
wTable: Variant;
begin
try
Doc:=CreateOleObject('Word.Application');
Doc.Visible:=True;
Doc.Documents.Add;
except
Result:=false;
Exit;
end;
Count:=DBGrid.Columns.Count-1;
CurrColumn:=0;
for I:=0 to Count do
begin
if DBGrid.Columns.Items[I].Visible then
begin
Inc(CurrColumn);
end;
end;
RecordNum:=DBGrid.DataSource.DataSet.RecordCount+1;
wTable:=Doc.ActiveDocument.Tables.Add(Doc.ActiveDocument.Range(0, 0),RecordNum,CurrColumn);
wTable.Columns.AutoFit;
CurrColumn:=0;
for I:=0 to Count do
begin
if DBGrid.Columns.Items[I].Visible then
begin
wTable.Cell(1,CurrColumn+1).Range.InsertAfter(DBGrid.Columns.Items[I].Title.Caption);
Inc(CurrColumn);
end;
end;
J:=1;
DBGrid.DataSource.DataSet.First;
while not DBGrid.DataSource.DataSet.Eof do
begin
Inc(J);
CurrColumn:=0;
for I:=0 to Count do
begin
if DBGrid.Columns.Items[I].Visible then
begin
wTable.Cell(J,CurrColumn+1).Range.InsertAfter(DBGrid.Columns[I].Field.DisplayText);
Inc(CurrColumn);
end;
end;
DBGrid.DataSource.DataSet.Next;
end;
end;

相关阅读 >>

Delphi中获取客户区坐标

Delphi 用hook实现dll注入详解

Delphi 调用sql和mysql存储过程

Delphi 验证ip地址

Delphi idhttp中application/x-www-form-urlencoded字符说明

Delphi远程注入dll方法

Delphi 判断某个系统服务是否存在及相关状态

Delphi webservices传base64字串

Delphi 带密匙的字符串加密解密函数(支持中文)

Delphi access 从数据库里随机选择一行

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...