pb生成excel的两种方式

3 篇文章 0 订阅

以下两种方式可以生成excel文件(xls,或xlsx)
- 使用datawindow
- 使用Excel的OLE控件

1.使用datawindow的saveas
dw_savetoexcel.SaveAs("c:\test1.xls", Excel!, true) //2003
dw_savetoexcel.SaveAs("c:\test2.xls", Excel8!, true) //2003
dw_savetoexcel.SaveAs("c:\test3.xlsx", XLSX!, true)  //2007

如果想保存为2007格式,则需要pb12以上,并且安装.NET 3.0或者更高。
API [ http://infocenter-archive.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc37783.1200/html/dwref/CCJBDCBHdw.htm ]
integer dwcontrol.SaveAs ( { string filename, saveastype saveastype,
boolean colheading { , encoding encoding } } )
saveastype [ http://infocenter-archive.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc37783.1200/html/dwref/BABDIJBH.htm ]

2.使用Excel的OLE控件

使用OLE控件意味着操作Excel的语法来自VBA,可以通过搜索”vba+excel”来搜索相关知识。

//在pb中创建Excel的OLE控件
OLEObject ObjExcel
//检查是否可以载入excel
ObjExcel = CREATE OLEObject
result = ObjExcel.ConnectToNewObject( "excel.application" )
if result < 0 then
    messagebox("连接excel失败,检查你的系统是否安装了office",string(result))
    Destroy ObjExcel
    GarbageCollect()
    return
end if 
ObjExcel.displayalerts=false   //关闭提示框
//退出Excel
ObjExcel.displayalerts=false
ObjExcel.Application.Workbooks.close()
ObjExcel.Application.quit() 
ObjExcel.quit()
ObjExcel.DisconnectObject()
DESTROY ObjExcel
//保存
ObjExcel.activeworkbook.saveas("c:\test1.xls",3) //2003
ObjExcel.activeworkbook.saveas("c:\test2.xlsx",51) //2007

API [ https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbook-saveas-method-excel ]
SaveAs( FileName , FileFormat , Password , WriteResPassword , ReadOnlyRecommended , CreateBackup , AccessMode , ConflictResolution , AddToMru , TextCodepage , TextVisualLayout , Local )

FileFormat [ https://msdn.microsoft.com/en-us/vba/excel-vba/articles/xlfileformat-enumeration-excel ]

值得注意的是ABAP的”cl_fdt_xl_spreadsheet”类,只能读取采用 ObjExcel.activeworkbook.saveas(“c:\test2.xlsx”,51) 方式生成的excel2007文件。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值