关于您在如何在PowerBuilder 9.0中把当前数据窗口数据保存为excel文档的回答

global type uf_dwsaveas_excel from function_object
end type

forward prototypes
global function integer uf_dwsaveas_excel (datawindow datawin)
end prototypes

global function integer uf_dwsaveas_excel (datawindow datawin);integer li_rtn,ii,li_asc
string ls_name,ls_pathname
boolean lb_exist
if datawin.RowCount()<1 then
MessageBox("系统提示","请先检索数据再导出至Excel!")
return -1
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+"已经存在,是否覆盖?",question!,YesNo!)
end if
if li_rtn=1 then
li_rtn=datawin.saveas(ls_pathname,excel8!,true)
if li_rtn=1 then
else
MessageBox("系统提示","导出数据失败!")
return -1
end if
else
return -1
end if
else
return -1
end if

/**********以下程序将导出的EXCEL英文标题替换为汉字*********/

long numcols,numrows,c,r
OLEObject xlapp,xlsub
int ret
numcols = long(datawin.Object.DataWindow.Column.Count)
numrows = datawin.RowCount()
// 产生oleobject的实例
xlApp = Create OLEObject
//连接ole对象
ret = xlApp.ConnectToNewObject("Excel.Sheet" )
if ret < 0 then
MessageBox("系统提示","连接到EXCEL失败,请确认您的系统是否已经安装EXCEL!~r~n"&
+"错误代码:"+string(ret))
return -1
end if
// 打开EXCEL文件
xlApp.Application.Workbooks.Open(ls_pathname)
////使文件可见
//xlApp.Application.Visible = true

// 得到活动工作表的引用,改善程序性能
xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]
string ls_colname,ls_text,ls_modistr,ls_col
//取字段名更改为对应的文本text值
FOR c=1 to numcols
ls_col="#"+string(c)+".name"
ls_colname=datawin.describe(ls_col)
ls_modistr=ls_colname+"_t.text"
ls_text=datawin.describe(ls_modistr)
xlsub.cells[1,c]=ls_text
NEXT
xlapp.Application.ActiveWorkBook.Save()
//xlapp.Application.Displayalerts=true
xlApp.Application.Quit()
xlApp.DisConnectObject()
Destroy xlapp

MessageBox("提示信息","导出数据成功!")
return 1

end function

您以上的代码在PB9.0可以实现吗?如果可以实现在PB的什么对象写这段代码?我试过在function 里写提示出错,请指教。

li_rtn=datawin.saveas(ls_pathname,excel8!,true)

excel8! 把他改成别的试试,你看看pb9的saveas格式来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
无其他回答

...9.0中把当前数据窗口数据保存为excel文档的回答
li_rtn=datawin.saveas(ls_pathname,excel8!,true)excel8! 把他改成别的试试,你看看pb9的saveas格式

如何在PowerBuilder 9.0中把当前数据窗口数据保存为excel文档
我是这样写的,不知道对你有没有帮助,首先写一个外部通用函数(带两个参数,第一个参数为导出excel的标题,第二个为要导出的数据窗口,传递方式都是value):f_export_excel(string rptheadtxt,datawindow ad_dw)Int li_value String ls_path,ls_fname String ls_tempfilename li_value = ...

PB中如何将数据窗口中的数据导出成excel表,就是添加导出控件中的代码该...
★dwcontrol:数据窗口控件名 ★filename:可选参数,string类型,其值是用于保存数据窗口内容的文件的文件名。如果省略了filename参数或filename参数的值为空字符串(""),程序运行时,PowerBuilder将显示一个对话框,让用户输入或选择文件名。★saveastype:可选参数,SaveAsType枚举数据类型,用于指定以...

在POwerBuilder中如何将数据窗口中的数据列选择性的导出 及怎样将excel...
导入的话可以不用import的方式,而是用读取excel表格内容并在数据窗口insertrow的方式写入。到处,也可以使用这种方式,不过数据量如果达到500行以上,速度就会变慢。如果是固定的列,比原数据窗口少一些列,可以定义一个新的dataobject,这个做为导出。利用datastore把数据窗口的数据有选择的转到datastore中去...

powerbuilder能保存为哪几种格式的文件
Excel5! 保存为Microsoft Excel 5格式 HTMLTable!将数据保存为与数据窗口布局相对应的HTML格式 PSReport! 保存为Powersoft Report (PSR)格式 SYLK!保存为Microsoft Multiplan格式 Text! 缺省值,以每行用回车符结束、列之间使用Tab字符分隔的格式保存数据 WKS! 保存为Lotus 1-2-3格式 WK1!保存为Lotus 1...

如何利用OLEObject对象在PowerBuilder中操作复杂Excel报表文件_百度...
3. 在PowerBuilder编程语言中生成Excel报表 PowerBuider是Sybase公司提供的一种数据库应用系统的前端快速开发工具,诚信http:\/\/www.scgmoutdoor.com\/cxzxyl使用其数据窗口对象可以很快捷轻松的访问数据库中各种数据。同时,PowerBuilder开发工具还支持与多种数据库进行访问连接,如目前流行的Oracle、Informian、...

powerbuilder9.0中的datawindow个类型的用法及详细说明比如composite之 ...
powerbuilder9.0中的datawindow个类型的用法及详细说明比如composite之类的! 最好能具体一些 composite、Crosstab、freeform、Graph、Grid、Group、lable、N-UP、OLE2.0、richtext、tabular以及12中的treeview数据窗口!具体说明及用法!最好是word类型的!有的大哥大姐们发我QQ... composite、Crosstab、freeform、Graph、...

PB中想要上传一个WORD文档或excel文档入数据库,用blob字段。有高手给...
PowerBuilder提供的BLOB(Binary Large Object)数据类型可以用来处理大型数据,包括图像、大文本、Word文档、二进制文件和多媒体等各种数据,它的长度可以是0~2GB字节,我们利用BLOB类型的变量可以将数据传递给数据库以大字段方式存储。但是用通常的数据窗口技术无法将BLOB类型数据加入到数据库中,也不能将...

pb 怎么读取xml格式的字符串
从pb9开始,DataWindow开始支持直接从XML文档中导入数据,将检索到的数据保存为XML文档,以及使用XSL格式对象(XSL-FO) 的新功能。本文根据XML Features in PowerBuilder® 9.0相关内容节选翻译。这是第一部分。1、 数据窗口导出引擎(DataWindow Export Engine)它是数据窗口新增的组件,主要利用导出...

...把SQL中的数据导出到PB中,然后在PB中打印出来的数据表是EXCEL...
PB 可以把表导出成为Excel 表格 华软上面有例程 PB 也可以把表打印 可以利用数据窗口 print() 或者在 PB中把表打开选择打印。

相似回答