一个睡五分钟等于六个钟头的方法
作者:admin 日期:2010-03-17
今天我终于狠心买了一瓶营养快线尝尝
作者:admin 日期:2010-03-30
今天我终于狠心买了一瓶营养快线尝尝
作者:admin 日期:2010-03-30
delphi操作excel
作者:admin 日期:2010-03-30
Delphi操作Excel命令
作者:admin 日期:2010-03-30
Delphi控制Excel的重要属性和方法
作者:admin 日期:2010-03-30
Delphi代码
- 在delphi中调用excel有四种方式,我们选取其中的一种用OleObject来装载excel工作表的方式来谈delphi控制 excel的重要属性和方法。
- 首先给出通过OLE创建的一些主要代码步进行简单说明:
- 创建OLE对象:
- Var olecon: TOleContainer;
- Olecon:= TOleContainer.Create(self);
- Olecon.oleobject:= Olecon.CreateObject('excel.sheet',false);
- 或选择导入一个excel文件来创建OLE对象:
- Olecon.oleobject:= Olecon.CreateObjectFromFile(xlsname,false);
- 最好隐藏excel的几个工具条,这样就好象是嵌在你的程序中的一个表而已了:
- Olecon.OleObject.application.CommandBars['Standard'].Visible:=false;
- Olecon.OleObject.application.CommandBars['Formatting'].Visible:=false;
- Olecon.OleObject.application.CommandBars['Reviewing'].Visible:=false;
- 然后显示并激活excel表,对TOleContainer定义的对象:
- Olecon.show;
- Olecon.doverb(0);
- 这样基本可以了,但TOleContainer有个不好的地方,就是当你一点击其它控件是就它就失去焦点,然后就自动退出,其实并没有真的退出,只是需 要你再次激活它而已,关键是当它失去焦点的时候就excel对象就不见了,可以用Timage控件把TOleContainer所在的地方有EXCEL时 候的区域图片截下来骗骗用户,我们这里主要不是讲这个,就不详述了。
- 下面我们就开始讲Excel_TLB中的接口的常用属性和方法,主 要是针对导出和设定报表格式的一些接口元素。
- 单元格的读写属性:
- olecon.OleObject.application.cells.item[1,1];
- olecon.OleObject.application.cells(1,1);
- olecon.OleObject.application.cells[1,1].Value;
- 上面三种都可以对工作表的‘A1’单元进行读写。
- 在delphi中对单元格(集),区域,工作表等所有对象的操作都是要Variant来实现的。
- 自己的程序中选定区域赋给 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]];
- 对上面的Range合并单元格:
- Range.merge;
- Range. FormulaR1C1:=’合并区’;//合并后写入文本
- 注意以后要读合并的单元格里面的文本就是读合并区域的左上角的那个单元格的文本
- 在excel表中选定区域赋给range:
- range:=excel_grid1.OleObject.application.selection;
- 拆分单元格:
- Range.unmerge;
- 合并后设定单元格(集)的格式:
- Range.HorizontalAlignment:= xlCenter;// 文本水平居中方式
- Range.VerticalAlignment:= xlCenter//文本垂直居中方式
- Range.WrapText:=true;//文本自动换行
- Range.Borders.LineStyle:=1//加边框
- Range.Interior.ColorIndex:=39;//填充颜色为淡紫色
- Range.Font.name:=’ 隶书’;//字体
- Range.Font.Color:=clBlue;//字体颜色
- 常用格式也就这些,以上这些对于单个单元格也适用。
- 在excel表中寻找前后上下的单元格:
- Var u1,u2,u3,u4,u5:Variant;
- U1:=olecon.oleobject.application.activecell;//获取当前格;
- 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;
- 复制指定区域:
- Olecon.oleobject.application.range[‘A1:C3’].copy;
- 从指定单元格开始粘贴:
- Olecon.oleobject.application.range[‘A4’].PasteSpecial;
- 常用的就这些了,对delphi中server面板下的EXEL控件和创建EXCEL.Application COM对象的方式都适用
笑一笑,十年少
作者:admin 日期:2010-03-27
有一次坐公交拿了IC卡排队上车,前面一个人是扔硬币的,我大脑短路跟着把IC卡扔进去了……
●早上要戴隐形眼镜,结果把盖打开直接把眼镜倒马桶里,然后镇定地倒入新的护理液,准备摘眼镜,半天摘不下来。
●邻居忘了带钥匙,从我家阳台翻过去,在屋里找到钥匙后,又翻回来,再打开自家房门。更令人叫绝的是,我自始至终在阳台接应着,未觉有不妥之处。唉,我俩的脑袋肯定被同一个门缝挤过。
●某日发现手机不见了,翻遍包包以及屋中各个角落,未果。遂郁闷地跌坐地上,从口袋掏出手机,给大家群发短信:我手机丢了
●一次大家打麻将停电了,就点根蜡烛继续打,后来有人嫌热,嚷嚷“喂~把电扇打开”大家忙劝“不行不行,蜡烛会被吹灭。
●早上要戴隐形眼镜,结果把盖打开直接把眼镜倒马桶里,然后镇定地倒入新的护理液,准备摘眼镜,半天摘不下来。
●邻居忘了带钥匙,从我家阳台翻过去,在屋里找到钥匙后,又翻回来,再打开自家房门。更令人叫绝的是,我自始至终在阳台接应着,未觉有不妥之处。唉,我俩的脑袋肯定被同一个门缝挤过。
●某日发现手机不见了,翻遍包包以及屋中各个角落,未果。遂郁闷地跌坐地上,从口袋掏出手机,给大家群发短信:我手机丢了
●一次大家打麻将停电了,就点根蜡烛继续打,后来有人嫌热,嚷嚷“喂~把电扇打开”大家忙劝“不行不行,蜡烛会被吹灭。







