国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Delphi > 正文

Delphi控制Excel的重要屬性和方法

2019-11-18 18:16:50
字體:
供稿:網(wǎng)友

Delphi控制Excel的重要屬性和方法

   delphi中調(diào)用excel有四種方式,我們選取其中的一種用OleObject來裝載excel工作表的方式來談delphi控制excel的重要屬性和方法。

   首先給出通過OLE創(chuàng)建的一些主要代碼步進(jìn)行簡(jiǎn)單說明:

創(chuàng)建OLE對(duì)象:

Var olecon: TOleContainer;

Olecon:= TOleContainer.Create(self);

Olecon.oleobject:= Olecon.CreateObject('excel.sheet',false)

   或選擇導(dǎo)入一個(gè)excel文件來創(chuàng)建OLE對(duì)象:

Olecon.oleobject:= Olecon.CreateObjectFromFile(xlsname,false)

最好隱藏excel的幾個(gè)工具條,這樣就好象是嵌在你的程序中的一個(gè)表而已了:

Olecon.OleObject.application.CommandBars['Standard'].Visible:=false;

Olecon.OleObject.application.CommandBars['Formatting'].Visible:=false;

Olecon.OleObject.application.CommandBars['Reviewing'].Visible:=false

然后顯示并激活excel,對(duì)TOleContainer定義的對(duì)象:

Olecon.show;

Olecon.doverb(0);

這樣基本可以了,但TOleContainer有個(gè)不好的地方,就是當(dāng)你一點(diǎn)擊其它控件是就它就失去焦點(diǎn),然后就自動(dòng)退出,其實(shí)并沒有真的退出,只是需要你再次激活它而已,關(guān)鍵是當(dāng)它失去焦點(diǎn)的時(shí)候就excel對(duì)象就不見了,可以用Timage控件把TOleContainer所在的地方有EXCEL時(shí)候的區(qū)域圖片截下來騙騙用戶,我們這里主要不是講這個(gè),就不詳述了。

下面我們就開始講Excel_TLB中的接口的常用屬性和方法,主要是針對(duì)導(dǎo)出和設(shè)定報(bào)表格式的一些接口元素。

單元格的讀寫屬性:

olecon.OleObject.application.cells.item[1,1];

olecon.OleObject.application.cells(1,1);

olecon.OleObject.application.cells[1,1].Value;

上面三種都可以對(duì)工作表的‘A1’單元進(jìn)行讀寫。

delphi中對(duì)單元格(),區(qū)域,工作表等所有對(duì)象的操作都是要Variant來實(shí)現(xiàn)的。

自己的程序中選定區(qū)域賦給Range:

Var range,sheet:Variant;

Range:= olecon.OleObject.application.Range['A1:C3'];

或者:

Sheet:= olecon.OleObject.application.Activesheet;

Range:= olecon.OleObject.application.Range[sheet.cells[1,1],sheet.cells[3,3]];

對(duì)上面的Range合并單元格:

Range.merge;

Range. FormulaR1C1:=’合并區(qū)//合并后寫入文本

注意以后要讀合并的單元格里面的文本就是讀合并區(qū)域的左上角的那個(gè)單元格的文本

excel表中選定區(qū)域賦給range

range:=excel_grid1.OleObject.application.selection;

拆分單元格:

Range.unmerge;

合并后設(shè)定單元格(集)的格式:

Range.HorizontalAlignment:= xlCenter;// 文本水平居中方式

Range.VerticalAlignment:= xlCenter//文本垂直居中方式

Range.WrapText:=true;//文本自動(dòng)換行

Range.Borders.LineStyle:=1//加邊框

Range.Interior.ColorIndex:=39;//填充顏色為淡紫色

Range.Font.name:=’ 隸書’;//字體

Range.Font.Color:=clBlue;//字體顏色

常用格式也就這些,以上這些對(duì)于單個(gè)單元格也適用。

excel表中尋找前后上下的單元格:

Var u1,u2,u3,u4,u5:Variant;

U1:=olecon.oleobject.application.activecell;//獲取當(dāng)前格;

U2:=u1.PRevious;//非特殊情況就是u1左邊的一格;

U3:=ui.next;//非特殊情況就是u2右邊的一格;

U4:=olecon.oleobject.application.cells[u1.cells.row-1,u1.cells.column];//非特殊情況為上面一格

U5:=olecon.oleobject.application.cells[u1.cells.row+1,u1.cells.column];//非特殊情況為下面一格

刪除和插入一行和一列:

Olecon.oleobject.application.rows[2].delete;

Olecon.oleobject.application.columns[2].delete;

Olecon.oleobject.application.rows[2].insert;

Olecon.oleobject.application.columns[2].insert;

復(fù)制指定區(qū)域:

Olecon.oleobject.application.range[‘A1:C3’].copy;

從指定單元格開始粘貼:

Olecon.oleobject.application.range[‘A4’].PasteSpecial;

常用的就這些了,對(duì)delphiserver面板下的EXEL控件和創(chuàng)建EXCEL.Application COM對(duì)象的方式都適用。

 

                                                    作者:費(fèi)亞

                                                    時(shí)間:2004-9-14


上一篇:Delphi的接口陷阱

下一篇:用Delphi對(duì)SQL-DMO進(jìn)行封裝的一種實(shí)現(xiàn)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 射洪县| 扬中市| 临高县| 米脂县| 河池市| 怀远县| 成安县| 澄城县| 延寿县| 邵东县| 井陉县| 安陆市| 手游| 古丈县| 句容市| 嘉禾县| 准格尔旗| 盐池县| 阳江市| 平遥县| 定襄县| 永和县| 左贡县| 土默特右旗| 英吉沙县| 吉木萨尔县| 宁国市| 子洲县| 江陵县| 罗定市| 吐鲁番市| 金昌市| 龙陵县| 白银市| 临湘市| 巨鹿县| 盘山县| 分宜县| 枣强县| 翁牛特旗| 山东|