求高手指教

showerman 2011-08-18 09:57:21
使用SaveAsAscii函数导出excel文件,在本机调试时是有内容的,但是在客户端上运行却没有内容,求指导!
...全文
178 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gui41021 2011-08-18
  • 打赏
  • 举报
回复
如果感觉是缺DLL的话 把自己机器环境变量里PB相关的删掉:

C:\Program Files\Sybase\Shared\PowerBuilder;C:\Program Files\Sybase\PowerBuilder 11.5;

这样就跟没环境的客户机一样了 然后就所有DLL拷贝进去 挨个删

呵呵呵呵 排除法
yyoinge 2011-08-18
  • 打赏
  • 举报
回复
据说是缺少dll的问题,暂时没搞明白是缺少哪个
showerman 2011-08-18
  • 打赏
  • 举报
回复
integer li_rtn,ii,li_asc
string ls_name,ls_pathname
boolean lb_exist

IF datawin.RowCount()<1 Then
MessageBox("提示信息","请先检索数据再导出至Excel!")
Return -1//error
End IF

li_rtn=GetFileSaveName("保存文件",ls_pathname,ls_name,"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
//li_rtn=datawin.SaveAsAscii(ls_pathname)
MessageBox("提示一下:",datawin.RowCount());
li_rtn=datawin.SaveAsAscii(ls_pathname)
//li_rtn=datawin.SaveAs(ls_pathname,htmlTable!,TRUE)
//li_rtn=datawin.SaveAs(ls_pathname,Excel!,TRUE)
IF li_rtn=1 Then
//MessageBox("提示信息","导出数据成功!")






Else
MessageBox("错误信息","导出数据失败!")
Return -1//error
End IF
Else
Return -1//error
End IF
Else
Return -1
End IF



说明:我用的是PB8.0,开发环境下导出是正常的,但是在一般的PC机上却是空文件!
showerman 2011-08-18
  • 打赏
  • 举报
回复
integer li_rtn,ii,li_asc
string ls_name,ls_pathname
boolean lb_exist

IF datawin.RowCount()<1 Then
MessageBox("提示信息","请先检索数据再导出至Excel!")
Return -1//error
End IF

li_rtn=GetFileSaveName("保存文件",ls_pathname,ls_name,"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
//li_rtn=datawin.SaveAsAscii(ls_pathname)
MessageBox("提示一下:",datawin.RowCount());
li_rtn=datawin.SaveAsAscii(ls_pathname)
//li_rtn=datawin.SaveAs(ls_pathname,htmlTable!,TRUE)
//li_rtn=datawin.SaveAs(ls_pathname,Excel!,TRUE)
IF li_rtn=1 Then
//MessageBox("提示信息","导出数据成功!")






Else
MessageBox("错误信息","导出数据失败!")
Return -1//error
End IF
Else
Return -1//error
End IF
Else
Return -1
End IF





说明:SaveAsAscii在PB开发环境中调试导出是有内容的,但是在一般的PC机上包括XP、Win7上都是空文件,是否是少了什么支持Ascii格式的DDL? 我用的是PB8.0
yyoinge 2011-08-18
  • 打赏
  • 举报
回复
贴出你的具体导出代码
yyoinge 2011-08-18
  • 打赏
  • 举报
回复
贴出你的具体导出代码
yyoinge 2011-08-18
  • 打赏
  • 举报
回复
贴出你的具体导出代码
showerman 2011-08-18
  • 打赏
  • 举报
回复
谢谢大家了 我现在只能用datawin.SaveAs(ls_pathname,htmlTable!,TRUE)来导出excel了,虽然表格格式有问题,客户也没说什么,他们要的是数据,算我运气好吧 结贴了!
showerman 2011-08-18
  • 打赏
  • 举报
回复
现在我换成li_rtn=datawin.SaveAs(ls_pathname,htmlTable!,TRUE),
但是有多余的空白行和列,请问怎么删除了?
wag_enu 2011-08-18
  • 打赏
  • 举报
回复
DW 直接导出EXCEL 的话, 要用这个:
li_rtn=datawin.SaveAs(ls_pathname,Excel!,TRUE)

另外,由于PB 版本的不同,有Excel5! / Excel8! 的参数区别。

试一下:
还可以把代码改成这样,系统会弹出一个选择框来处理:
li_rtn=datawin.SaveAs()

showerman 2011-08-18
  • 打赏
  • 举报
回复
郁闷 刚我把我电脑上的PB相关的DDL放在客户端上,还是导出空白,大家帮我想想该函数与其他什么关联么 或者我再考虑Ascii格式excel需要什么支持么 ?
另外:我把调试环境下生成的excel考到客户端是打开正常的,但客户端导出的空文件放在调试环境下却还是空的
langxingcs 2011-08-18
  • 打赏
  • 举报
回复
导出的excel文件生成了但没有数据?看看客户端的机器的excel有没有问题

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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