pb中操作excel表格函数
Ole_object.Workbooks.add//新建一个Excel文件
Ole_object.Workbooks.Open("FileName")//打开一个已存在Excel文件
Ole_object.ActiveWorkBook.Sheets("SheetName").Select//选择文件中一个工作表
Ole_object.Application.Run("MacroName")//运行宏
Ole_object.Application.Visible=TRUE//Excel文件可见
Ole_object.Application.ScreenUpdating=true//设置可见属性
②格式设置
Ole_object.ActiveSheet.Columns("A:U").AutoFit//列宽自动调整
Ole_object.ActiveSheet.Columns("A:Z").ColumnWidth=6.75//列宽
Ole_object.ActiveSheet.Rows("1:100").RowHeight=12//行高
Ole_object.Application.StandardFont="ArialNarrow";//设置字体
Ole_object.Application.StandardFontSize="8"//设置字号
Ole_object.ActiveSheet.Font.Size="8"//设置字号
Ole_object.ActiveSheet.Font.Bold=True//粗体
Ole_object.ActiveSheet.Font.Italic=True//斜体
Ole_object.ActiveSheet.Font.Underline=True//下划线
Ole_object.ActiveSheet.Font.StrikeThrough=True//删除线
Ole_object.ActiveSheet.HorizontalAlignment=3//水平:4靠右;3居中;2靠左
Ole_object.ActiveSheet.VerticalAlignment=2//垂直:3靠下;2居中;1靠上
Ole_object.ActiveSheet.cells(2,1).font.name='黑体'//设置字体
Ole_object.ActiveSheet.cells(2,1).font.size=25//设置字体大小
③工作区域操作:
Ole_object.ActiveSheet.Range("A1:Z10").Property=value//设置一个工作区域内的属性值
Ole_object.ActiveSheet.Range("A1:Z10").Merge//合并单元格
Ole_object.ActiveSheet.Range("A1:Z10").WrapText=False//自动换行禁止
Ole_object.ActiveSheet.Range("A1:Z10").Borders(b_type).Weight=i_val //b_type:1左边界;2右边界;3上边界;4下边界;5左上倾斜;6右上倾斜(以上为对单元格的操作)7左边界;8上边界;9下边界;10右边界;11内部垂直边界;12内部水平边界(以上为对区域的操作)//i_val:0无边界线;然后1,2,3。。。依次边界线加粗
Ole_object.ActiveSheet.Range("A1:Z10").Borders(b_type).linestyle=1 //1与7-细实、2-细虚、4-点虚、9-双细实线
④赋值操作
Ole_object.ActiveSheet.range("A1:Z10").Cells.value="姓名"
Ole_object.ActiveSheet.range("A1:Z10").Cells.value=1
Ole_object.ActiveSheet.range("A1:Z10").Cells.value="2003-01-01"
Ole_object.ActiveSheet.Range("A1:Z10").Cells(1,2).value="年龄"//区域内一个单元格的赋值
Ole_object.ActiveSheet.Range("A1:Z1").Cells(1,1).value="SUM(RC[-9]:RC[-1])"
---------------------------------------------------------
ls_filename = "C:/alt_report/wf_alt_report.xls"
if FileExists(ls_filename) then FileDelete(ls_filename)
OleObject Loo_Excel
Loo_Excel=create oleobject
if Loo_Excel.ConnectToNewObject("Excel.Application") <> 0 then
messagebox('提示','系統未安裝Excel,無法運行此操作!')
return
end if
Loo_Excel.Application.Workbooks.Add()
Loo_Excel.Application.Workbooks(1).worksheets(1)
Loo_Excel.Application.Visible = True
Loo_Excel.Application.ScreenUpdating = false
http://wenku.baidu.com/view/41154fa6f524ccbff1218408.html
发信人: starsky (星星), 信区: Programming
标 题: 利用PB数据窗口特征制作进度条
发信站: 烟雨漓江 (Wed Mar 8 10:15:11 2000), 转信
利用PB数据窗口特征制作进度条
PowerBuilder的6.5以前版本没有提供进度条,因此大多数程序员总是自己在程序中
利用两个statictext控件进行编程产生进度效果。但是由于包括statictext控件在内的
所有窗口内使用的控件没有透明色即transparent,进度条的文字显示无法与进度条进行
重叠,只得在进度条外的其它位置放置一statictext控件用以显示进度情况,这样即浪
费了空间,又不美观。
但我们知道,数据窗口内的静态文本的字体属性是有transparent(透明)的,笔者通
过研究PowerBuilder的数据窗口控件特征,摸索出一利用数据窗口等制作进度条的方法
,充分解决了以上难题,还能任意改变宽度及背景、伸缩块及文字的颜色,并封装成了
用户对象以方便调用。下面就介绍这一方法。
1、首先建立一数据源为Enternal(外部)、风格为Freefrom的数据窗口d_schedule_b
ar,输入一个字段。确定后在数据窗口画板中删除该字段,再增加两个statictext控件
,这样数据窗口加上字段标识的那个一共三个statictext控件,分别命名为:st_back、
st_move、st_text,调整使其宽、高度相等,设st_back的background.color为ButtonF
ace,st_move的background.color为Teal,st_text的background.color为transparent
,st_text的color为black。表述如下:
控件名 背景色 文字色 x y 高度 宽度
St_back ButtonFace ---- 5 8 76 969
St_move Teal ---- 5 8 76 969
St_test Transparent black 5 8 76 969
保存之前选择st_move,从Edit菜单中选择Bring to Front,再选择st_text重复上述
操作,使三个 statictext控件的位置层从外向里按st_text、st_move、st_back排序,
以防被显示屏蔽(这一点非常重要!)。
2、新建一可视定制用户对象uo_ schedule_bar,以其中放置一数据窗口dw_1,数据
源为d_schedule_bar。定义两个int实例变量 ii_percent、ii_width。
下面就开始骗程吧!
(1)编写函数uf_setwidth(integer ai_width)
参数及类型:integer ai_width
作用:改变进度条宽度:
返回值:无
函数体:
IF ai_width > 0 THEN
ii_width = ai_width
dw_1.resize (ai_width + 15,dw_1.height)
dw_1.modify ( "st_back.width=" + string(ai_width) )
dw_1.modify ( "st_text.width=" + string(ai_width) )
this.resize ( ai_width + 50, this.height )
END IF
(2)编写函数uf_schedule_move(integer ai_schedule)
参数及类型:integer ai_schedule
作用:显示进度
返回值:无
函数体:
int li_AllWidth,li_schedule
IF ai_schedule > 100 THEN
ai_schedule = 100
ii_percent = 100
END IF
IF ai_schedule < 0 THEN
ai_schedule = 0
END IF
ii_percent = ai_schedule
li_AllWidth = integer(dw_1.describe ( "st_back.width" ))
IF ai_schedule >= 0 THEN
li_schedule = li_AllWidth * (ai_schedule / 100)
END IF
dw_1.modify ( "st_move.width=" + string(li_schedule) )
dw_1.modify ( "st_text.text='" + string (ai_schedule) + "%'" )
(3)编写三个颜色控制函数以改变背景、伸缩条、文字的颜色。
函数名:uf_change_back_color
参数:double a_color
函数体:
dw_1.modify ( "st_back.background.color = "+string(a_color))
函数名:uf_change_move_bar_color
参数:double a_color
函数体:
dw_1.modify ( "st_move.background.color = "+string(a_color))
函数名:uf_change_text_color
参数:double a_color
函数体:
dw_1.modify ( "st_text.color = "+string(a_color))
(4)在constructor事件中输入以下代码:
dw_1.insertrow (0)
this.uf_schedule_move ( 0 )
ii_width = this.width
好了,一个标准的进度条用户对象就封象好了!在程序中任意地使用吧!
pb中操作excel表格函数相关推荐
- python 编辑excel需要什么包_Python 中操作EXCEL表格的包
今天,马云爸爸又来贡献金句了,比王健林公公一亿一个小目标还高,"一个月挣一二十个亿很难受!!!",作为在传统企业主要为电商部门提供数据分析的数据分析师,体验太深刻了. 双11前后, ...
- android jxl.jar 使用,使用jxl.jar在Android中操作Excel表格——重中之重——对隐藏表的处理...
曾简单了解过C#,将Excel(数据库表)表中的数据导入到C#中,使用C#制作的图形化界面进行对Excel表中数据进行操作. 今天想试试,在Android中导入Excel表格进行操作.在网上查阅资料, ...
- PB中操作excel
在powerbuilder 中控制excel制表 1.创建Excel对象 eole=CREATEOBJECT(′Excel.application′) 2.添加新工作簿 eole.Workbooks. ...
- Qt中操作Excel表格读写
示例代码(将数据从数据库导入到Excel,将数据从Excel导入到数据库): void slotExportBtn(){QAxObject *excel = new QAxObject("E ...
- 计算机算最大值如何操作,Excel表格中如何通过函数判断数据中的最大值
Excel表格中如何通过函数判断数据中的最大值 腾讯视频/爱奇艺/优酷/外卖 充值4折起 Excel是我们常用的一款数据处理软件,深受大家的欢迎,是我们学习办公的助手,有的朋友想知道怎么通过函数判断数 ...
- java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...
Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...
- 使用VC来操作Excel表格的源码
下面的代码段是关于使用VC来操作Excel表格的的代码,应该对小伙伴们也有用. if (CoInitialize(NULL) != 0) { AfxMessageBox("初始化COM支持库 ...
- Python操作Excel表格(二)
Python操作Excel表格第二弹 本博客在前一篇博客基础上增加了若干函数,如按列寻找值,查重和增强型查重.数据写入等相关代码.实现了类似Sql的查询(注解中的SQL语句仅做参考,并非可执行SQL) ...
- python openpyxl操作Excel表格
原创:未经允许不得转载,转载需标明出处 打算分为两个部分: 第一部分为:操作Excel表格 第二部分为:操作Excel图表 现在发布为第一部分内容 在最近的项目中的使用到了提取Android帧率日志, ...
最新文章
- 阿布扎比成立全球首所培养研究生的人工智能大学
- 操作系统(六)系统调用
- [Java]Thinking in Java 练习2.2
- linux(centos) NET模式网络配置
- ASP.NET Core 6.0对热重载的支持
- 【OpenCV 例程200篇】12. 图像通道的合并(cv2.merge)
- EasyNet.Solr 3.5.1发布及使用中的一些原则
- Php超出高度隐藏,html字符超出指定高度后省略显示_html/css_WEB-ITnose
- Windows系统设置局域网共享 解决:登录失败,用户账号限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制
- linux添加菜单栏,Gnome desktop主菜单中添加自己的菜单栏
- Hive数据导出为csv、tsv文件的几种方法
- doris ODBC 连接 mysql 外部表
- MATLAB中的一些小技巧(2) - [MATLAB]
- python处理颜色rgb_python – 根据RGB值更改图像的颜色
- Configure交叉编译
- 圣路易斯大学计算机科学,圣路易斯华盛顿大学计算机科学硕士排名第50(2020年TFE Times排名)...
- 如何让dede支持php7,dedecms在php7下的使用方法,织梦dedecsm后台一片空白的解决方法...
- 独立游戏开发者的一些PR经验
- 如何在图片中添加文字
- mysql,无法修改密码
热门文章
- java毕业设计办公自动化管理系统Mybatis+系统+数据库+调试部署
- PMP49个过程组知识领域ITTO汇总 -- 项目范围管理
- 无法连接wifi Wifi 6 mt7921 wireless lan card无法启用
- Excel报:文件已损坏无法打开错误问题解决
- Linux查找文件重复内容
- 合天网安实验室CTF-解密100-Funny Crypto
- 人工智能 —— 知识图谱
- 网页全终端安防视频流媒体播放器EasyPlayer.js如何实现在web浏览器播放H.265编码视频?
- 工作经验分享:Spark调优【优化后性能提升1200%】
- 轮播图图片大小不统一