- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PB与EXCEL
PB与EXCEL
方法一:
OLEObject ExcelServer
integer ExcelOK
ExcelServer = CREATE OLEObject
ExcelOK = ExcelServer.ConnectToNewObject( excel.application )
ExcelServer.Workbooks.Open(c:\book.xls)
ExcelServer.ActiveWorkBook.Sheets(Sheet2).Select
ExcelServer.ActiveSheet.Cells(1,1).value = 书名
ExcelServer.Application.Visible = TRUE
方法二:先启动excel文件
long handle_1
handle_1 = OpenChannel(Excel, c:\book.xls)
//建立与EXCEL的通道
setremote(r1c1,书号,excel, c:\book.xls)
setremote(r1c2,书名,excel, c:\book.xls)
//更改某一行或某一列的值,同时关闭通道
closechannel(handle_1,handle(parent))
问题内容:将EXCEL文件导入DW数据窗口的方法
原讨论链接:/expert/topicview1.asp?id=3287121
所属论坛:DataWindow 审核组:PowerBuilder
提问者:yjd2001 解决者:Capricor
感谢:fibbery、lzheng2001、sun1976、mittee、guoleilele、amekoxiao、workhand
关键字:
答案:
导入的电子表格请符合下面的三种情况
1. 是从本系统导出的模板
2. 在excel另存为csv(逗号分隔)类型的文件;
3. 在excel另存为文本文件(制表符分隔)类型的文件
//最后都用到数据窗口的importfile()
//还有一种方法就是对excel文件一个一个单元格进行读取,
//问题是无法知道excel文件行数和列数
把DW导出的代码为:
constant string ls_filename = d:\file.xls
long numcols , numrows , c, r
OLEObject xlapp , xlsub
int ret
numcols = long(dw_1.Object.DataWindow.Column.Count)
numrows = dw_1.RowCount()
xlApp = Create OLEObject
ret = xlApp.ConnectToNewObject( Excel.Sheet )
if ret 0 then
MessageBox(Connect to Excel Failed !,string(ret))
return
end if
try
xlsub = xlApp.Application.Workbooks.Add()
xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]
xlApp.Application.Visible = true
string ls_name
for c=1 to numcols //写标题
ls_name = dw_1.describe( # + string(c) + .name )
xlsub.cells[1,c] = ls_name
next
for r = 1 to numrows//写行
for c = 1 to numcols
xlsub.cells[r+1,c] = dw_1.object.data[r,c]
next
next
xlsub.saveas(ls_filename)
xlApp.Application.Workbooks.close()
catch ( runtimeerror re )
MessageBox ( string(re.number), re.getmessage())
end try
xlApp.DisConnectObject()
Destroy xlapp
***************************************************************
用ole把excel读进来,然后一个cell一个cell的取数,放到dw里,然后可以操作或者update都可以,一下代码:
//将EX
文档评论(0)