PB如何将数据窗口的数据导出到excel
setpointer(hourglass!)
//declare the local variables
long i, j, li_pos
string ls_objects, ls_obj, ls_text, ls_err,
ls_sql
datastore lds_saveas //导出数据窗
datastore lds_sort //获得根据
object.x 排序的 (band = detail and visible = 1) 的 column/compute
boolean lb_return //返回值
string ls_pbver //pb
版本信息
environment env
//环境变量
getenvironment(env)
ls_pbver = string(env.pbmajorrevision)
//创建排序列 datastore
lds_sort = create datastore
ls_sql = 'column=(type=char(1) name = ztext dbname="ztext" )'
+ '~r~n' + &
ls_sql = 'release ' + ls_pbver + ';~r~ntable(' + ls_sql +
')'
lds_sort.create(ls_sql, ls_err)
if len(ls_err) > 0 then
end if
//准备数据====================================================
//all controls
ls_objects = ad_dw.describe("datawindow.objects")
//按~t位置作判断开始循环
do while (pos(ls_objects,"~t") > 0)
loop
//the last control
ls_obj = ls_objects
if (ad_dw.describe(ls_obj+".type") = "column" or &
lds_sort.insertrow(0)
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
ls_sql = ''
for i = 1 to lds_sort.rowcount()
next
ls_sql = 'release ' + ls_pbver + ';~r~ntable(' + ls_sql +
')'
lds_saveas.create(ls_sql, ls_err)
if len(ls_err) > 0 then
end if
//向 lds_saveas 中写数据
for i = 1 to ad_dw.rowcount()
next
lds_saveas.insertrow(1)
for i = 1 to lds_sort.rowcount()
next
//准备数据完毕====================================================
//saveas datawindow
lb_return = (lds_saveas.saveas(as_file, excel!, false) =
1)
return lb_return
lab1:
destroy lds_sort
destroy lds_saveas
setpointer(arrow!)
return lb_return
string ls_docname, ls_named
integer li_ret ,value
boolean lb_exist ,lb_save
value=GetFileSaveName("请选择文件", ls_docname, ls_named, "pbl",
"xls Files (*.xls),*.xls")
IF value = 1 THEN
else
end if
//dw_1.retrieve()
浙公网安备 33010602011771号