`
liuhanjun
  • 浏览: 47233 次
  • 性别: Icon_minigender_1
  • 来自: 海口
社区版块
存档分类
最新评论

关于老黄的DW2XLS一些小bug

    博客分类:
  • PB
 
阅读更多

    今天用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
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics