|
将DW数据窗口导出为EXCEL文件的方法(整理)(22) //all controls ls_objects = ad_dw.Describe("datawindow.objects") //按~t位置作判断开始循环 do while (pos(ls_objects,"~t") > 0) li_pos = pos(ls_objects,"~t") ls_obj = left(ls_objects,li_pos - 1) ls_objects = right(ls_objects,len(ls_objects) - li_pos) //(column or compute ) at detail and visible IF (ad_dw.Describe(ls_obj+".type") = "column" or & ad_dw.Describe(ls_obj+".type") = "compute" ) AND & (ad_dw.Describe(ls_obj+".band") = "detail" ) AND & (ad_dw.Describe(ls_obj+".visible") = "1" ) THEN ls_text = ad_dw.describe(ls_obj + '_t.text') if ls_text <> '!' and ls_text <> '?' then lds_sort.insertrow(0) lds_sort.setitem(lds_sort.rowcount(), 'ztext', ls_text) lds_sort.setitem(lds_sort.rowcount(), 'zcol', ls_obj) lds_sort.setitem(lds_sort.rowcount(), 'zx', long(ad_dw.describe(ls_obj + '.x'))) end if END IF loop //the last control ls_obj = ls_objects IF (ad_dw.Describe(ls_obj+".type") = "column" or & ad_dw.Describe(ls_obj+".type") = "compute" ) AND & (ad_dw.Describe(ls_obj+".band") = "detail" ) AND & (ad_dw.Describe(ls_obj+".visible") = "1" ) THEN ls_text = ad_dw.describe(ls_obj + '_t.text') if ls_text <> '!' and ls_text <> '?' then lds_sort.insertrow(0) lds_sort.setitem(lds_sort.rowcount(), 'ztext', ls_text) lds_sort.setitem(lds_sort.rowcount(), 'zcol', ls_obj) lds_sort.setitem(lds_sort.rowcount(), 'zx', long(ad_dw.describe(ls_obj + '.x'))) end if END IF //如果没有列则跳出 if lds_sort.rowcount() < 1 then goto lab1 //根据 object.x 排序 lds_sort.setsort('zx A') lds_sort.sort() //创建导出 datastore lds_saveas = create datastore
|