delphi将word表格转换成html_取得Word 表格中的数据

1、delphi将word表格转换成html

procedure TForm1.Button1Click(Sender: TObject);

var

wrdApp,   wordDoc:   Variant;

i,iRow,icol:integer;

s,str:string;

begin

randomize;

wrdApp   :=   CreateOleObject( 'Word.Application');

wordDoc:= wrdApp.Documents.Open( 'd:\333.doc');

For i := 1 To WordDoc.Tables.Count do      //第  i 个表

begin

str:='

For iRow := 1 To WordDoc.Tables.Item(i).Rows.Count do

begin

str:=str+'

';                                       //第 iCol列

For icol := 1 To WordDoc.Tables.Item(i).Columns.Count do

begin

s:= WordDoc.Tables.Item(i).Cell(iRow,icol).Range.Text;

s:=stringreplace(s, '', '',[rfreplaceall])+' ';

if (icol=1) then

str:= str+'

'+s+''

else

str:= str+'

'+s+'';

end;

str:=str+'

';

end;

str:=str+'

';

end;

writesenderrlog(str);

wordDoc.Close(False);

//wrdApp.Close;

end;

2、取得Word 表格中的数据基本算法

//取得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: est.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;

本文出自:亿恩科技【www.enkj.com】

', '',[rfreplaceall])+' ';

if (icol=1) then

str:= str+'

'+s+''

else

str:= str+'

'+s+'';

end;

str:=str+'';

end;

str:=str+'';

end;

writesenderrlog(str);

wordDoc.Close(False);

//wrdApp.Close;

end;

2、取得Word 表格中的数据基本算法

//取得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: est.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;

本文出自:亿恩科技【www.enidc.com】

-->

word表格转换成html,delphi将word表格转换成html_取得Word 表格中的数据相关推荐

  1. 处理中文乱码_为什么PDF转换成Word后是乱码?这种PDF要怎么转换?

    你是否也遇到过将PDF转换成Word后,却只是一堆乱码?为什么会出现这种情况呢?要如何解决PDF转Word却是乱码的这个问题呢? 首先我们来分析下PDF转换Word后为什么会出现乱码,其实归根究底都是 ...

  2. 怎么把Word转换成PDF?这几种转换神器分享给你

    如何将Word文档转换成PDF格式文件呢?大家在日常中经常会使用这两种文件,有时候需要把PDF文件转换成Word文档来进行编辑,有时候又需要把Word文档转换成PDF来进行传输文件发送文件.PDF如何 ...

  3. 图片和Word查阅有什么区别?图片文字怎么转换成word文档

    图片和Word查阅有什么区别?图片文字怎么转换成word文档 在阅读和编辑文档时,许多人会面临一种选择:是使用图片还是使用Word文档.尽管两种方法都有其自身的优点和缺点,但实际上,它们之间存在着一些 ...

  4. word录入表单数据 java 导入系统,java导入excel | 怎么把excel中的数据批量导入到word中的表格中...

    用javascript怎么实现把excel中的数据批量导入到数据库表中 这个js不能直接实现吧 我们程序用到 先读取excel内容转换成数组 然后放到页面上 再提交表单 储存 MySql如何批量添加数 ...

  5. 网页导出pdf不完整_今天才知道!Word、Excel、PDF格式还能随意转换,20秒即可实现...

    前几天有粉丝私信转换君说为什么格式转换这么难?每次都要将内容复制过去再调整格式,一个小时才转换十几份文件,真是太难了! 看完这个私信,转换君发现之前给大家补的课都白补了,不过作为宠粉达人的我,还是再给 ...

  6. java制作九行九列表格_将文中后9行文字转换成一个9行4列的表格,设置表格居中,表格列宽为2.5厘米..._考试资料网...

    问答题在考生文件夹下打开文档word.docx,按照要求完成下列操作并以该文件名(word.docx)保存文档. [文档开始] 2009年北平市中考招生计划低于10万人 晨报讯伴随初中毕业生人数连年下 ...

  7. 关于Word,PDF,PPT,TXT之间的转换

    转自:微点阅读  https://www.weidianyuedu.com 一.把PPT转WORD形式的方法 提示:这种方法会把原来幻灯片中的行标.各种符号原封不动的复制下来. 2.利用"发 ...

  8. 如何在MATLAB中把变量填到Word中,matlab数据写入现有excel表格-如何将matlab中变量写入excel...

    如何将matlab 中的数据写入现有的word 表格中? 你可以这样做: (1)先在matlab里面,把相关数据导出.保存成csv格式的文件:比如说,你可以在workspace视图底下,把相关的变量直 ...

  9. Word实现大写字母和小写字母批量的转换

    Word实现大写字母和小写字母批量的转换其实很简单,只要记住按"Shift+F3"键. 下面是具体规则: 一.当英文句子中全部是小写字母时,选中全部按"Shift+F3& ...

最新文章

  1. axios + router4 + mobx:对于全局登录的思考
  2. python中二维数组的建立,输入和输出
  3. python 实现函数的递归
  4. 5、学MySQL前必须要了解的数据库专业术语
  5. Java基础学习路线送给零基础的朋友
  6. JAVA常用的环境变量配置
  7. 如果编程语言是女孩,你最喜欢哪一个?
  8. A - 还是畅通工程(最小生成树)
  9. double类型数据做加和操作时会丢失精度问题处理
  10. bzoj 3451 Normal
  11. 24个最好免费下载电子书(Ebooks)的网站
  12. DEM生成等高线及提取等高线3+1种方法
  13. 读书笔记——指数基金投资指南
  14. 汇编语言练习_2_批量传送 条件转移
  15. DRM DUMB相关说明
  16. java map 内存分配_mapreduce 内存分配
  17. layui搭建后台管理系统
  18. 计算机基础知识在教学的应用,计算机基础知识中项目教学法的应用
  19. 在Python中如何保存图像
  20. JS打开模态窗口showModalDialog

热门文章

  1. android paint 线宽_Paint setStrokeWidth方法:设置空心线宽
  2. 安装的python没有菜单栏_由非root用户安装python包/工具
  3. Unity 导出Supermap exe
  4. devops 文化_为什么回馈对DevOps文化很重要
  5. 敏捷团队为何失败,Bash技巧,Emacs vs. Vim,为Linux粉丝撰写的12部小说读物,以及其他热门歌曲
  6. 拒绝offer的理由_接受拒绝的3大理由
  7. (32) css—opcity属性
  8. 实战 | Java 流之Stream,Lambda以及日期
  9. java编程方向_java网络编程方向具体该怎么去学
  10. extjs 点击下拉框三角形触发事件_省市县三级联动下拉框的具体实现