在Delphi中如何绘制Word表格?(50分)

  • 主题发起人 主题发起人 ansili
  • 开始时间 开始时间
A

ansili

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中如何绘制Word表。
导出Grid中的数据。
 
WordDocument1: TWordDocument;
WordApplication1: TWordApplication;
Table1:TTable;


procedure TForm1.Button1Click(Sender: TObject);
var
I,j,k,RowCount,ColCount:integer;
begin
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
ColCount:=Table1.FieldCount;
RowCount:=Table1.RecordCount+1;
WordDocument1.Paragraphs.Last.Range.InsertAfter(#13#10);
WordDocuMent1.Tables.Add(WordDocument1.Paragraphs.Last.Range,RowCount,ColCount,EmptyParam,EmptyParam);
with wordDocument1.Tables.Item(WordDocument1.Tables.Count).Rows do
begin
for i:=0 to ColCount-1 do
Item(1).Cells.Item(i+1).Range.Text:=Table1.Fields.Fields.DisplayLabel;//±íÍ·
for i:=2to RowCountdo //ÄÚÈÝ
for j:=0 to ColCount-1 do
Item(i).Cells.Item(j+1).Range.Text:=Table1.Fields.Fields[j].DisplayLabel;
end;
end;

end.
 
有QQ吗?
有几个地方想咨询一下。
qq:69786714
 
不要用组件,用OLE。
 
try
WordApplication1 := TWordApplication.Create(application);
WordDocument1 := TWordDocument.Create(Application);
WordApplication1.Connect;
WordApplication1.Visible := True;
except
Screen.cursor := crDefault; // 打开光标
MessageBox(GetactiveWindow(), 'word没有安装!', '提示', MB_OK +
mb_iconexclamation);
abort;
end;
WordDocument1.Range.Font.Size := 10;
WordDocument1.Range.Text := '用户表';
//=============针对用户表begin=====================
with WordDocument1 do
begin
tables.Add(WordDocument1.Words.Last, 4, 2); //自动加一个表格
Range.InsertParagraphAfter;
end;
WordDocument1.Range.InsertParagraphAfter;
 
我也想实现这方面的操作啊!
 
多人接受答案了。
 
后退
顶部