unit DbgridToWord; interface uses? SysUtils,ComObj,DBGrids; implementation Function DBGirdToWord(DBGrid: TDBGrid): 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???? //略過visible=false的column??? 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; end.
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
