Delphi与Word(二)取得Word 表格中的数据

原创 2003年06月04日 17:16:00

//取得Word 表格中的数据
procedure getWordCellStr;
var WordApp: TWordApplication;
??? WordDoc: TWordDocument;
??? DocInx,oFileName,CfCversions,oReadOnly,AddToRctFiles,PswDocument,
??? PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat: OleVariant;
??? i,iRow,iCol:integer;
??? myCell:Cell;
??? myRow:Row;
begin
? memo1.Lines.Clear ;

??? // ===== 创建对象 =====
??? if not Assigned(WordApp) then?????????????????????????
??? begin
????? WordApp:= TWordApplication.Create(nil);
????? WordApp.Visible := false;
??? end;
??? if not Assigned(WordDoc) then
????? WordDoc:= TWordDocument.Create(nil);
? try
??? DocInx:=1;
??? oFileName := 'd:/test.doc';
??? oReadOnly:=true;
??? CfCversions := EmptyParam;
??? AddToRctFiles:= EmptyParam;
??? PswDocument:= EmptyParam;
??? PswTemplate:= EmptyParam;
??? oRevert:= EmptyParam;
??? WPswDocument:= EmptyParam;
??? WPswTemplate:= EmptyParam;
??? oFormat:= EmptyParam;????
??? // ===== 打开文件 =====????????????????????????
??? WordApp.Documents.open(oFileName,CfCversions,oReadOnly,AddToRctFiles,
?????? PswDocument,PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat);
??? // ===== 关联文件 =====
??? WordDoc.ConnectTo(WordApp.Documents.Item(DocInx));

??? //方法(1)==> 规则表
??? For i := 1 To WordDoc.Tables.Count do????? //第? i 个表
??? begin??????????????????????????????????????//第 iRow 行
????? For iRow := 1 To WordDoc.Tables.Item(i).Rows.Count do?????
????? begin??????????????????????????????????????????? //第 iCol列
??????? For icol := 1 To WordDoc.Tables.Item(i).Columns.Count do
??????? begin
????????? myCell:=WordDoc.Tables.Item(i).Cell(iRow,icol);
????????? memo1.Lines.add(myCell.Range.Text);
??????? end;
????? end;
??? end;

???
??? //方法(2)==> 不规则表:只有横向合并时
??? For i := 1 To WordDoc.Tables.Count do????????????? //第 i 个表
??? begin
????? For iRow := 1 To WordDoc.Tables.Item(i).Rows.Count do
????? begin
??????? myRow:=WordDoc.Tables.Item(i).Rows.Item(iRow);//第 iRow 行
??????? For icol := 1 To myRow.Cells.Count do???????? //第 iCol列
??????? begin
????????? myCell:= myRow.Cells.Item(iCol) ;
????????? memo1.Lines.add(myCell.Range.Text);
??????? end;
????? end;
??? end;

??? //方法(3)==> 不规则:横向、纵向合并时; 任何表格
??? For i := 1 To WordDoc.Tables.Count do??????????? //第 i 个表
??? begin??????????????????????????????????????????? //第 j 个Cell
??????? for j := 1 To WordDoc.Tables.Item(i).Range.Cells.Count do
??????? begin
????????? myCell := WordDoc.Tables.Item(i).Range.Cells.Item(j);
????????? memo1.Lines.add(myCell.Range.Text);
??????? end;
??? end;

? finally
??? if Assigned(WordDoc) then????????????? // ===== 关闭文件 =====
??? begin
????? WordDoc.Close;
????? WordDoc.Disconnect;
????? WordDoc.Destroy;
????? WordDoc := nil;
??? end;
??? if Assigned(WordApp) then????????????? // ===== 关闭Word =====
??? begin
????? WordApp.Quit;
????? WordApp.Disconnect;
????? WordApp.Destroy;
????? WordApp := nil;
??? end;
? end;
end;

Delphi操作Word中的表

Procedure GetWordCellStr; var     WordApp: TWordApplication;     WordDoc: TWordDocument;     Doc...
  • my98800
  • my98800
  • 2016年09月29日 11:32
  • 764

Delphi与Word(二) 取得Word 表格中的数据

//取得Word 表格中的数据procedure getWordCellStr;var WordApp: TWordApplication;    WordDoc: TWordDocument;   ...
  • TianGuanLeiOK
  • TianGuanLeiOK
  • 2004年09月08日 16:15
  • 1012

delphi操作word基类,插入表格,分页符,日期,页码,替换,图片

unit utMyword;(*By 闫磊 编写 2004.09.06 Email:landgis@126.com yanleigis@21cn.com*)interfaceuses word2000...
  • yanleigis
  • yanleigis
  • 2007年11月23日 11:57
  • 8031

Delphi与Word(一)合并Word 表格中单元格

//合并Word 表格中单元格procedure mergeWordCell;var WordApp: TWordApplication;??? WordDoc: TWordDocument;??? ...
  • LuckyJan
  • LuckyJan
  • 2003年06月04日 17:13
  • 1755

Delphi中的数据添加到Word模板的相应位置

Delphi中的数据添加到Word模板的相应位置 就跟将数据导入Excel一样,在运行Delphi程序时,点击预览按钮后,会打开一Word模板,且将数据填入此Word模板相应的位置,此Word模板为一...
  • mrwu9902
  • mrwu9902
  • 2010年03月30日 20:40
  • 876

Delphi操作word的基本用法

刚把delphi捡起来,第一个要做的竟然操作word,总结一下。一. 定义word应用程序,文档对象,比如:wordApp: OleVariant;   wordDoc: OleVariant;二. ...
  • soasoa
  • soasoa
  • 2008年09月19日 12:56
  • 7829

[C#]用C#动态生成Word文档并将数据填入Word表格中

刚刚实现了个功能:用C#实现动态生成Word文档,在Word文档中插入表格,并将读出的数据填入到表格中。要使用C#操作word,首先要添加引用:       1、添加引用->COM->Microsof...
  • yiyiwyy326
  • yiyiwyy326
  • 2007年04月13日 11:48
  • 2229

C#读取Word表格中数据的完整代码

public void readWordFile()        {            object oFileName = @"../Files/Employees0.doc";       ...
  • zjg528
  • zjg528
  • 2010年07月06日 14:20
  • 1352

使用Delphi获取Word文件中的数据

//delphi7、Office2003下编译通过    //参考http://dev.csdn.net/article/18/18811.shtm,并做了修改  //取得Word文件的数据 需要us...
  • wjw806
  • wjw806
  • 2008年06月11日 00:00
  • 1266

delphi通过OLE对word进行单元格合并操作

上图为最终结果, 直接上代码:   uses comobj, word2000 procedure TForm1.Button2Click(Sender: TObject); var ...
  • csm2432
  • csm2432
  • 2012年06月27日 13:16
  • 2694
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi与Word(二)取得Word 表格中的数据
举报原因:
原因补充:

(最多只允许输入30个字)