将PB的交叉报表完整转换成EXCEL

该博客介绍了一个函数uf_data2excel,用于将PowerBuilder(PB)的交叉报表转换为完整形式的EXCEL,包括标题和合计。转换过程中涉及了对数据窗口对象的处理,如提取对象列表、计算列的标签和数据,以及使用OLEObject与Excel应用程序交互。文章还提到了PFC的字符串处理函数of_lastpos和获取数据窗口列显示值的uf_getdata函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何将PB的交叉报表转换成EXCEL形式(包括标题和合计的完整形式)

函数部分:(还用到了PFC的字串处理的一个函数和在本对象中的一个取值函数)
//====================================================================
// [PUBLIC] Function uf_data2excel 在 u_data2word inherited from nonvisualobject
//--------------------------------------------------------------------
// 说明:将数据倒入excel中,支持计算列及显示格式,要求在题头的计算列要写tag值
//--------------------------------------------------------------------
// 参数1:[value] datawindow adw
//  说明:数据窗口
//--------------------------------------------------------------------
// 返回: (INTEGER) 成功返回1,不成功返回0
//--------------------------------------------------------------------
// 作者: cwl  日期: 2002.03.18
//====================================================================
//变更日志:020515加入对交叉表倒出的支持(主要是修改了保存题头部分)

constant integer ppLayoutBlank = 12
OLEObject ole_object
ole_object = CREATE OLEObject 

integer li_ret,li_crosstab=0
long ll_colnum,ll_rownum
string ls_value
string ls_objects,ls_obj,ls_objs[],ls_objtag[]
long ll_pos,ll_len,ll_num = 0
//题头区
long ll_headnum
string ls_head[],ls_headtag[]
//合计区
long ll_sumnum,i=1,startpos=1,endpos,li_pos
string ls_sum[],ls_sumtag[],ls_bind,token[],list,ls_temp,ls_crosstabcol
n_cst_string lu_string //PFC string处理对象

li_ret = ole_object.ConnectToObject("","Excel.Application")
IF li_ret <> 0 THEN
 //如果Excel还没有打开,则新建。
 li_ret = ole_object.ConnectToNewObject("Excel.Applic

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值