怎么在创建好的word单元格里添加数据? ( 积分: 50 )

  • 主题发起人 主题发起人 godfather_2005
  • 开始时间 开始时间
G

godfather_2005

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm8.suiButton2Click(Sender: TObject);
var
Doc:OleVariant;
begin
Doc:=CreateOleObject('Word.Application');
Doc.Visible:=True;
Doc.Documents.Add;
Doc.ActiveDocument.Tables.Add(Doc.ActiveDocument.Range(0, 0),10,4);
end;(创建好了,单元格)
 
procedure TForm8.suiButton2Click(Sender: TObject);
var
Doc:OleVariant;
begin
Doc:=CreateOleObject('Word.Application');
Doc.Visible:=True;
Doc.Documents.Add;
Doc.ActiveDocument.Tables.Add(Doc.ActiveDocument.Range(0, 0),10,4);
end;(创建好了,单元格)
 
顶 顶 了
 
简单说一下,我就是这么做的:
首先就用你的方法建立一个文档,并在文档中插入一个表格,我这里用的是一个比较复杂一点的表格,是一个九行的中间有合并的,其实用法一样,只不过你要确定有这么个单元格,比方cell(3, 6)这就表示有第3行第6列(也就是第3行第6个)单元格。
代码参考:
var
vTable: Table;
//取文档中的第1张表
vTable := Doc.ActiveDocument.Tables.Item(1);
vTable.Cell(1, 2).Range.Text := '此处是第一行第二个单元格';
vTable.Cell(1, 4).Range.Text := '此处是第一行第四个单元格';
vTable.Cell(2, 2).Range.Text := '此处是第二行第二个单元格';
vTable.Cell(3, 2).Range.Text := DateToStr(Now);//此处是第3行第2个单元格
vTable.Cell(3, 4).Range.Text := DateToStr(Now);//此处是第3行第4个单元格
vTable.Cell(5, 1).Range.Text := '哈哈哈哈哈哈,我也不知道了。';//此处是第5行第1个单元格
vTable.Cell(7, 1).Range.Text := '不知道了';//此处是第7行第1个单元格
vTable.Cell(9, 2).Range.Text := '不知道';//此处是第9行第2个单元格
 
我试试了 呵呵 分先送上了
能不能把创建 ‘word’文档 到 创建 word文件里‘表格’全过程代码贴出来 我再送上
剩下的分
 
不好意思,好久没有来了,现回答如下:
可以这样,程序中的:
首先添加控件:
一个TWordFont组件,名称为WordFont1;
一个TWordApplication组件,名称为WordApplication1;
一个TWordDocument1组件,名称为Doc;
然后在某一个事件中添加代码:
WordApplication1.Connect;
Doc.ConnectTo(WordApplication1.Documents.Add(EmptyParam, EmptyParam));
WordApplication1.Visible := True;//显示word文档
WordApplication1.Selection.SetRange(100,100);//设定段落范围
doc.Tables.Add(WordApplication1.Selection.Range,ADOQuery1.RecordCount+1,5);//创建表格,这里是从数据库中读取的行数,列数是5
doc.Tables.Item(1).Columns.Item(1).Width:=120;//设定第一列宽度
//----------额外送你来设置一下设定第一列字体属性--------------------//
while j<6 do begin
doc.Tables.item(1).cell(1,j).Range.Bold:=integer(true);
WordFont1.ConnectTo(doc.Tables.item(1).cell(1,j).Range.Font);
WordFont1.ColorIndex:=10;
j:=j+1;
end;
//--------------------------向表格中添加数据-------------------------//
//不用我说了吧,就用上次的回答吧
 

Similar threads

后退
顶部