PB 导入和导出Excel

导入:

<span style="font-size:18px;">Stringls_path,ls_name
ls_path ="C:\Users\hzt\Desktop\test.xls"
dw_1.Reset()//clean DW
String a[1000,1000]
Integer i,j,li_ret
li_ret =GetFileopenName('选择XLS',ls_path,ls_name,"XLS","EXCEL (*.XLS),*.XLS")
if li_ret <>1 then return
OLEObjectExcelServer
Int li_ConnectErr
ExcelServer =Create OLEObject
li_ConnectErr =ExcelServer.ConnectToNewObject( "excel.application" )
If li_ConnectErr< 0 Then
    Choose Case li_ConnectErr
        Case -1
            MessageBox('错误提示','无效的调用')
        Case -2
            MessageBox('错误提示','类名没发现')
        Case -3
            MessageBox('错误提示','对象不能创建')
        Case -4
            MessageBox('错误提示','文件不能连接')
        Case -5
            MessageBox('错误提示','不能连接现在的对象')
        Case -6
            MessageBox('错误提示','文件无效')
        Case -7
            MessageBox("错误提示","文件不存在或已经打开")
        Case -8
            MessageBox("错误提示","服务器不能装载选择的文件")
        Case -9
            MessageBox("错误提示","其他错误")
    End Choose
    Return
End If
ExcelServer.Workbooks.Open(ls_path,0,False)
//对XLS文件进行了改动以后,在关闭该文件时是否需要向用户提出警告。
ExcelServer.Application.DisplayAlerts= False
//选择sheets表
//ExcelServer.activeworkbook.worksheets("sheet2").Select()

ExcelServer.ActiveSheet.cells.Copy
dw_1.ImportClipboard(2)//导入数据需要标题  
ExcelServer.Application.activeworkbook.Close(False)
ExcelServer.Application.quit()
ExcelServer.DisconnectObject()</span>

导出

功能 :将数据窗口数据导出EXCEL文件,并将EXCEL文件默认英文标题替换成中文。

 参数:datawindow datawin,为用户要导出数据窗口的数据窗口控件名

 返回值:integer 1,success;-1,error

 流程描述:先用saveasAscii()倒出为excel文件,再替换表头为中文名

<span style="font-size:18px;">integerli_rtn,ii,li_asc
stringls_name,ls_pathname
boolean lb_exist
ifdatawin.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)
  if li_rtn=1 then
//   MessageBox("提示信息","导出数据成功!")  
  else
   MessageBox("错误信息","导出数据失败!")
   return -1 //error
  end if
 else
  return -1 //error
 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 = CreateOLEObject
 
//连接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]
stringls_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.DisConnectObject()
Destroy xlapp
MessageBox("提示信息","导出数据成功!")
return 1 //success</span>

参考地址:http://blog.csdn.net/error/444.html?from=http%3a%2f%2fblog.csdn.net%2fhappyflystone%2farticle%2fdetails%2f2923951

                     http://liuwenzhen007.blog.163.com/blog/static/3690120920108204917677/

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
### 回答1: 要将PB数据窗口导出为2007版的Excel,可以按照以下步骤操作: 1. 在PB数据窗口中,选择需要导出的数据。 2. 点击数据窗口上的菜单“文件”,在下拉菜单中选择“导出”。 3. 在弹出的“导出设置”窗口中,选择“Excel 2007文件(*.xlsx)”作为导出类型。 4. 如果需要设置一些导出选项,可以点击“选项”按钮进行设置。比如可以设置导出格式、字段排序、标题行等。 5. 点击“确定”按钮,选择导出文件的保存路径和名称,并点击“保存”按钮。 6. PB将会把数据窗口的内容导出成一个2007版的Excel文件,可以在保存路径中找到该文件并进行编辑和使用。 总的来说,将PB数据窗口导出为2007版Excel比较简单,只需要选择正确的导出类型,并进行必要的设置即可。这种导出方式可以方便地将PB中的数据与其他应用程序进行结合,提高数据的共享和利用效率。 ### 回答2: 首先,pb数据窗口可以导出为各种格式的文件,包括Excel文件。然而,由于Excel文件的版本更新非常频繁,不同版本的Excel文件之间存在兼容性问题。在导出Excel文件时,需要注意选择正确的文件格式。 如果希望将pb数据窗口导出为2007版Excel文件,可以采取以下步骤: 1. 打开pb数据窗口,并选择要导出的数据窗口。 2. 在数据窗口中选择“文件”菜单,然后选择“导出”选项。 3. 在导出向导中,选择“Excel”作为导出格式。 4. 在接下来的窗口中,选择“Microsoft Excel 2007”文件格式,并设置导出选项。 5. 点击“确定”按钮,将pb数据窗口导出为2007版Excel文件。 需要注意的是,不同的Excel版本之间可能存在一些差异,尤其是在一些高级功能方面。如果需要使用更复杂的Excel功能或者需要与其他人共享Excel文件,建议选择较为通用的Excel文件格式,如xls或xlsx。 ### 回答3: pb数据窗口是PowerBuilder桌面开发工具中的一种数据窗口控件,它可以轻松地将数据库中的数据显示在界面上,并支持数据的增删改查等操作。而2007版Excel则是Microsoft Office套件中的一种电子表格软件,具有强大的数据处理和数据分析能力。 要将pb数据窗口导出为2007版Excel格式,我们可以采用以下步骤: 1. 在pb开发环境中打开要导出的数据窗口对象,并选择需要导出的数据。 2. 点击菜单栏中的“文件”选项,选择“导出数据”命令,如下图所示。 3. 在弹出的“导出数据”窗口中,选择需要导出的文件类型为“Microsoft Excel 2007”(或者选择“.xlsx”格式),然后点击“确定”按钮,如下图所示。 4. 在接下来的“保存为”窗口中,输入要保存的文件名和文件路径,然后点击“保存”按钮,如下图所示。 5. 等待数据导出完成后,可以打开保存的Excel文件,查看导出的数据,如下图所示。 通过以上步骤,我们就可以将pb数据窗口中的数据导出为2007版Excel格式的文件,方便我们进行数据分析和处理。当然,导出的文件格式也可以根据需要进行调整和选择,例如,选择“CSV”格式可以在不同的软件中进行数据交换,选择“PDF”格式则可以方便地进行文档分享和打印等操作。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值