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 提高unigui开发效率的两个方法

Delphi splitter 控件属性及作用

Delphi抓取qq聊天窗口实例

Delphi psafearray与tbytes类型转换

Delphi 开发安卓时判断进入非活动

Delphi 7 + gdiplus 简单实现双缓冲绘制移动图形

Delphi 过滤字符串首位特殊符号

Delphi 2010 复制整个文件夹(当然包括嵌套文件夹)

Delphi httpencode编码

Delphi firdac 对 sqlite 数字, int64也会被截断,会出现负数情况处理

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



打赏

取消

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

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

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

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

评论

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