PB中怎么导出EXCEL

liangwen1992 2016-09-20 09:25:49
怎么样在窗口中设置一个导出按钮,将窗口上的的数据导出到excel,还要设置表头信息
...全文
1589 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Q小琪 2016-11-16
  • 打赏
  • 举报
回复
integer li_rtn,ii,li_asc string ls_filename string ls_pathname string ls_text string ls_a ls_pathname=string(today(),'yyyy-mm-dd') boolean lb_exist li_rtn=GetFileSaveName("保存文件",ls_pathname,ls_filename,"xls","Excel 文件 (*.xls),*.xls") if li_rtn=1 then lb_exist = FileExists(ls_pathname) IF lb_exist THEN li_rtn = MessageBox("保存", ls_pathname+"已经存在,是否覆盖",Exclamation!, YesNo!) end if if li_rtn=1 then //当文件存在用户选择覆盖,或是文件本就不存在 li_rtn=w_mdi_main.dw_userinfo.SaveAsAscii(ls_pathname) if li_rtn=1 then MessageBox("提示信息","导出数据成功!") else MessageBox("错误信息","导出数据失败!") end if else end if else end if
pcwe2002 2016-09-21
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/pcwe2002/9292321
WorldMobile 2016-09-20
  • 打赏
  • 举报
回复
1、直接用dw2xls就可以实现,参考http://www.cnblogs.com/huanggc/archive/2009/07/29/1533583.html

2、使用ole连接excel,参考以下代码


\

OLEObject eole
eole = CREATE OLEObject
eole.ConnectToNewObject('Excel.application')

if FileExists(wj) then
messagebox("系统提示","您今天已经传过了!")
goto ssss
FileDelete(wj)
end if
eole.Workbooks.Open("d:\jyz\DT.xls")
eole.visible=false
eole.ScreenUpdating = False
SetPointer(HourGlass!)

DECLARE sel_name CURSOR FOR select jp_kcls,k_id, j_id,c_id,jp_name,you_number,jp_number,you_number1,lr_rq,czy_name from xxlr;
open sel_name;
fetch sel_name into :str1,:str2,:str3,:str4,:str5,:str6,:str7,:str8,:str9,:str10;
eole.worksheets(1).activate
i=1
do while sqlca.sqlcode=0
eole.cells(i,1).value=str1
eole.cells(i,2).value=str2
eole.cells(i,3).value="C"+str3//避免乱码
eole.cells(i,4).value=str4
eole.cells(i,5).value=str5
eole.cells(i,6).value=str6
eole.cells(i,7).value=str7
eole.cells(i,8).value=str8
eole.cells(i,9).value="C"+str9
eole.cells(i,10).value=str10
delete from xxlr1;
insert into xxlr1(jp_kcls,k_id, j_id,c_id,jp_name,you_number,jp_number,you_number1,lr_rq,czy_name)
values(:str1,:str2,:str3,:str4,:str5,:str6,:str7,:str8,:str9,:str10);
i++
fetch sel_name into :str1,:str2,:str3,:str4,:str5,:str6,:str7,:str8,:str9,:str10;
loop
close sel_name;

//
if sqlca.sqlcode<0 then
gs_err="更新数据操作失败!~t~n 错误原因:"+SQLCA.SQLErrText
ROLLBACK using sqlca;
messagebox("错误信息!",gs_err,Stopsign!)
return
else
commit using sqlca;
end if

//保存并关闭
eole.ActiveWorkbook.Saveas(wj)
messagebox("系统提示","您已操作成功!")
ssss: eole.Workbooks.close
eole.quit
eole.DisconnectObject()
DESTROY eole
close(parent)

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧