关于老黄的DW2XLS一些小bug

    今天用PB开发点小东西,几年不用了,手生得很。在导出excel的时候,用到了老黄的DW2XLS,发现分组统计的计算字段不见了,但是那行还在,就是空白,心想:不会吧,老黄的DW2XLS貌似很多人在用,不至于分组统计字段都导出不了吧,点了一下那个空白的CELL,发现数据在,就是不显示,进入单元格格式,才发现变成了自定义格式,而且是“;;”空格式。本来不想理,干脆用saveascii来搞算了,想想还是研究一下吧,debug来debug去,发现把这里

IF ids_Objects.Object.ColType[li]="char" Then
    xlApp.TextRC[li_CurRow,li_StartCol]=ls_value
ELSE
    xlApp.EntryRC[li_CurRow,li_StartCol]=ls_value
END IF

 

改成如下即可:

IF ids_Objects.Object.ColType[li]="char" Then
    xlApp.TextRC[li_CurRow,li_StartCol]=ls_value
ELSE
    xlApp.TextRC[li_CurRow,li_StartCol]=ls_value
END IF

 

    也就是如果是compute或column,非char类型还是用TextRC输出到excel就行。按理说EntryRC用来输出数字型的是没错的,老黄并没有写错,但是俺这里确实不行,PB9和TTF16的环境。算了,懒得研究了,能用就行,呵!

     

    另外:最近又发现了黄国畴的DW2XLS的一个问题,就是当数据量很大的时候,导出到excel会出错。多大呢?就是数据 行数>32767/(字段数)就会出错,所以有人说5000条,有人说7000条之类都是不准确的,没认真看源代码。什么原因导致的呢?其实是老黄用错了数据类型,在n_cst_dw2excel_grid的of_outdata方法中,li_CurRow用的是Int类型。所以改成Long类型就OK了。

    给碰到同样问题的XDJM作参考(貌似都没有人做PB了哈)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值