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
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

wc250025

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值