国产探花免费观看_亚洲丰满少妇自慰呻吟_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)注

主站蜘蛛池模板: 纳雍县| 重庆市| 和林格尔县| 齐齐哈尔市| 太白县| 大洼县| 临清市| 淮阳县| 铜川市| 靖州| 宁化县| 宣汉县| 余姚市| 丰宁| 象州县| 南郑县| 高碑店市| 琼结县| 苗栗市| 平湖市| 泌阳县| 新蔡县| 穆棱市| 扬州市| 射洪县| 巫溪县| 海宁市| 武威市| 聂拉木县| 隆林| 阳新县| 宝鸡市| 鸡泽县| 钟山县| 白沙| 庆阳市| 景东| 朝阳市| 丹阳市| 南召县| 蕲春县|