|
将DW数据窗口导出为EXCEL文件的方法(整理)(23) ls_sql = '' for i = 1 to lds_sort.rowcount() ls_obj = lds_sort.getitemstring(i, 'zcol') ls_sql += 'column=(type=char(1) dbname="' + ls_obj + '" )' + '~r~n' next ls_sql = 'release ' + ls_pbver + ';~r~ntable(' + ls_sql + ')' lds_saveas.create(ls_sql, ls_err) if len(ls_err) > 0 then lb_return = false goto lab1 end if //向 lds_saveas 中写数据 for i = 1 to ad_dw.rowcount() yield()//释放消息队列, 如果数据量较大, 可以使用这个函数 lds_saveas.insertrow(0) for j = 1 to lds_sort.rowcount() ls_obj = lds_sort.getitemstring(j, 'zcol') if ad_dw.describe(ls_obj + '.type') = 'column' then ls_text = ad_dw.describe('evaluate(~'LookUpDisplay(' + ls_obj + ')~', ' + string(i) + ')') else ls_text = ad_dw.describe('evaluate(~'' + ls_obj + '~',' + string(i) + ')') end if lds_saveas.setitem(i, j, ls_text) next next lds_saveas.insertrow(1) for i = 1 to lds_sort.rowcount() lds_saveas.setitem(1, i, lds_sort.getitemstring(i, 'ztext')) next //准备数据完毕==================================================== //saveas datawindow lb_return = (lds_saveas.saveas(as_file, excel!, false) = 1) lab1: destroy lds_sort destroy lds_saveas SetPointer(Arrow!) return lb_return
|