ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:20.37KB ,
资源ID:10660185      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10660185.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PB与EXCEL.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

PB与EXCEL.docx

1、PB与EXCELPB与EXCEL方法一:OLEObject ExcelServerinteger ExcelOKExcelServer = CREATE OLEObjectExcelOK = ExcelServer.ConnectToNewObject( excel.application )ExcelServer.Workbooks.Open(c:book.xls)ExcelServer.ActiveWorkBook.Sheets(Sheet2).SelectExcelServer.ActiveSheet.Cells(1,1).value = 书名ExcelServer.Applicatio

2、n.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数据窗口的方法 原讨论链接: 所属论坛:DataWindow 审核组:PowerBuilder 提问者

3、:yjd2001 解决者:Capricor 感谢:fibbery、lzheng2001、sun1976、mittee、guoleilele、amekoxiao、workhand 关键字: 答案: - 导入的电子表格请符合下面的三种情况 1. 是从本系统导出的模板 2. 在excel另存为csv(逗号分隔)类型的文件; 3. 在excel另存为文本文件(制表符分隔)类型的文件 /最后都用到数据窗口的importfile() /还有一种方法就是对excel文件一个一个单元格进行读取, /问题是无法知道excel文件行数和列数 - 把DW导出的代码为: constant string ls_file

4、name = 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 e

5、nd if try xlsub = xlApp.Application.Workbooks.Add() xlsub = xlapp.Application.ActiveWorkbook.Worksheets1 xlApp.Application.Visible = true string ls_name for c=1 to numcols /写标题 ls_name = dw_1.describe( # + string(c) + .name ) xlsub.cells1,c = ls_name next for r = 1 to numrows/写行 for c = 1 to numcols

6、 xlsub.cellsr+1,c = dw_1.object.datar,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都可以,一下代码: /将E

7、XCEL的数据导入到临时表中 uo_file_function uo_1 uo_1 = create uo_file_function if uo_1.closeexcel() 0 then DESTROY uo_1 Return end if Destroy uo_1 luo_excel = create oleobject IF wf_inputbom() = False Then SetCurrentDirectoryA(is_syspath)/将路径重新设置 Destroy Luo_excel Return End IF SetCurrentDirectoryA(is_syspath)

8、/将路径重新设置 Destroy Luo_excel 其中wf_inputbom(): Long value,Ll_col,Ll_01,Ll_row String Ls_path,Ls_filename,Ls_cx Is_syspath=space(255) GetCurrentDirectoryA(255,Is_syspath) value=GetFileopenname(请选择要导入BOM的EXECL类型文件!,ls_path,ls_filename,xls,EXECL 文件(*.xls),*.xls) is_filename = mid(ls_filename,1,len(ls_file

9、name) - 4) if value 1 then /没取到、或者取消返回 Return false end if if luo_excel.connecttoobject(,Excel.Application) 0 then if luo_excel.ConnectToNewObject(Excel.Application) 0 then messagebox(error,连接excel失败请稍后再试!) return false end if end if SetPointer(HourGlass!) luo_excel.workbooks.open(ls_path) luo_sub =

10、 luo_excel.application.workbooks(ls_filename).worksheets(1) / 取出数据区域 ll_col=2 do while 1=1 luo_sub.cells(ll_col,1).copy() tab_1.tabpage_1.sle_2.paste() ls_cx=trim(tab_1.tabpage_1.sle_2.text) if trim(tab_1.tabpage_1.sle_2.text)= or isnull(tab_1.tabpage_1.sle_2.text) then exit end if tab_1.tabpage_1.s

11、le_2.text= ll_col+ loop /Ll_col 记录总的行数 if ll_col2 then goto out/空的Excel, /删除PIM_BOM表中原有数据 delete from inv_usedquota2; tab_1.tabpage_1.dw_8.reset() tab_1.tabpage_1.dw_8.retrieve() /取数 ll_01=2 /从第三行开始取数 do while ll_01= ll_col - 1 ll_row=tab_1.tabpage_1.dw_8.insertrow(0) tab_1.tabpage_1.sle_2.text= luo

12、_sub.cells(ll_01,1).copy() tab_1.tabpage_1.sle_2.paste() ls_cx=trim(tab_1.tabpage_1.sle_2.text) if left(ls_cx,1)= then ls_cx=right(ls_cx,len(ls_cx) - 1) end if tab_1.tabpage_1.sle_2.text= tab_1.tabpage_1.dw_8.setitem(ll_row,wlh,ls_cx) luo_sub.cells(ll_01,2).copy() tab_1.tabpage_1.sle_2.paste() ls_cx

13、=trim(tab_1.tabpage_1.sle_2.text) tab_1.tabpage_1.sle_2.text= tab_1.tabpage_1.dw_8.setitem(ll_row,zwlh,ls_cx) luo_sub.cells(ll_01,5).copy() tab_1.tabpage_1.sle_2.paste() ls_cx=trim(tab_1.tabpage_1.sle_2.text) if left(ls_cx,1)= then ls_cx=right(ls_cx,len(ls_cx) - 1) end if tab_1.tabpage_1.sle_2.text=

14、 tab_1.tabpage_1.dw_8.setitem(ll_row,de,dec(ls_cx) luo_sub.cells(ll_01,9).copy() tab_1.tabpage_1.sle_2.paste() ls_cx=trim(tab_1.tabpage_1.sle_2.text) if left(ls_cx,1)=T or left(ls_cx,1)=t then ls_cx=1 * f_excel_to_dw 專業 2008-11-07 08:41:52 阅读9 评论0 字号:大中小/*-*/* 函 數: f_excel_to_dw */* 參 數: as_dw(dataw

15、indow) */* 返回值: integer */* 描 述: 將數據從Excel導入到Datawindow中 */* 撰 寫: Hushuiqiu 2008/10/30 */*-*/string str_savename,named,s_grxhint excelok,li_netlong li_count,iOleobject ExcelserverExcelserver=create Oleobject Excelok=excelserver.Connecttonewobject(excel.application)/check return value make sure succe

16、ss to connect to ExcelIF Excelok 0 THEN Messagebox(,Faild connect to Excel ,please make sure you have setup the excel) RETURN -1END IF li_net = GetFileOpenName(Choose files, str_savename,named,xls,Excel file(*.xls),*.xls) IF li_net 0 THEN IF str_savename = THEN RETURN -1 as_dw.settransobject(sqlca)

17、as_dw.reset() Excelserver.workbooks.open(str_savename) Excelserver.activesheet.cells.copy li_count = as_dw.importclipboard(2) /import data Clipboard() Excelserver.quit() Excelserver.disconnectobject() Destroy excelserver Return 1Else Return -1 END IF * 回复于:2003-07-24 10:42:36/先启动excel文件 long handle_

18、1 handle_1 = OpenChannel( Excel , c:myexlel.xls ) /开始读取数据! string ls_name integer li_rtn li_rtn = getremote( r1c1 ,ls_name,handle_1)/r1表示行1,c1表示列1 /将行1列1的值赋给变量ls_name if li_rtn = 1 then/判断操作是否成功 messagebox( ,ls_name)/成功 else messagebox(ls_name,string(li_rtn) end if dw_1.SetItem(行,列,ls_name)/把内容写到数据窗

19、口 /-数据读取结束(这段内容可连续重复也可用循环语句读出数据到数组!) CloseChannel(handle_1) /关闭excel 这里给出从DATAWINDOW到EXECL导出数据的方法,如果是从EXECL到DATAWINDOW则反过来,加以修改就可以啦。 string ls_initfile,ls_name,is_server,ls_string string ls_path integer li_file,li_ret,li_Block string ls_1name,ls_2name string ls_mc,ls_zch long ll_bl,i,ll_count dec 2

20、dec_bl OLEObject lo_xlapp , lo_xlsub uo_statusbar.of_settext(0,0, 正在导出报表文件,请稍候. ) ls_path=g_app.Localpath+ xlsaa.xls uo_statusbar.of_settext(0,0, 正在打开Excel文件. ) lo_xlapp = Create OLEObject li_ret = lo_xlapp.ConnectToNewObject( Excel.Sheet ) lo_xlapp.Application.Workbooks.Open( c:powerxlsaa.xls ) str

21、ing ls_MonthNow,ls_DateNow,ls_cbsj ls_MonthNow=String(today(), yyyymm ) ls_DateNow=String(today(), yyyymmdd ) lo_xlapp.Application.Visible = false lo_xlsub = lo_xlapp.Application.ActiveWorkbook.Worksheets1 li_block=0 dec 2 dec_da1,dec_da2,dec_cbl,dec_shdl,dec_shl dec 2 dec_total1,dec_total2,dec_tota

22、l3,dec_max1,dec_min1,dec_num1 string str_cbsj,str_ly lo_xlsub.cells3,7=Left(ls_DateNow,4)+ . +mid(ls_DateNow,5,2)+ . +Right(ls_DateNow,2) ll_count=dw_view.rowcount() for i=1 to ll_count str_cbsj=dw_view.object.cbsji lo_xlsub.cellsi+4,1=str_cbsj dec_da1=dw_view.object.data1i lo_xlsub.cellsi+4,2=dec_d

23、a1 dec_da2=dw_view.object.data2i lo_xlsub.cellsi+4,3=dec_da2 dec_shdl=dw_view.object.shdli lo_xlsub.cellsi+4,4=dec_shdl dec_shl=dw_view.object.shli lo_xlsub.cellsi+4,5=dec_shl str_ly=dw_view.object.lyi lo_xlsub.cellsi+4,6=str_ly dec_cbl=dw_view.object.cbli lo_xlsub.cellsi+4,7=dec_cbl end for /总表电量,最

24、大值,最小值,次数最多值,合计 dec_total1=dw_view.object.Primary.Current.total1 lo_xlsub.cellsll_count+2,2=dec_total1 dec_total2=dw_view.object.Primary.Current.total2 lo_xlsub.cellsll_count+2,3=dec_total2 dec_total3=dw_view.object.Primary.Current.total3 lo_xlsub.cellsll_count+2,6=dec_total3 lo_xlapp.Application.Ac

25、tiveWorkbook.Save() lo_xlapp.Application.quit() lo_xlApp.DisConnectObject() Destroy lo_xlapp uo_statusbar.of_settext(0,0, 导出完成。 ) * EXCEL文件导入DATAWINDOW PowerBuilder 2008-01-21 21:12:29 阅读1 评论0 字号:大中小 / 函数名称: GF_EXCEL_TO_DATAWINDOW / 函数功能: EXCEL文件导入DATAWINDOW / 参数类型: DATAWINDOW / 参数名称: dw / RETURN :

26、1 SUCCEED -1 ERROR / DATE : 2004 3.1 /string str_savename,named,s_grxh;int excelok,li_net;long li_count; oleobject excelserver;excelserver=create oleobject;excelok=excelserver.connecttonewobject(excel.application);if excelok0 then messagebox(信息提示,连接EXCEL失败,请检查计算机中EXCEL是否工作正常); return -1;end ifli_net

27、=GetFileOpenName(选择文件,str_savename,named,xls,Excel文件(*.xls),*.xls);if li_net0 then if str_savename= then return -1 end if dw.reset() excelserver.workbooks.open(str_savename); excelserver.activesheet.cells.copy li_count=dw.importclipboard(1); clipboard(); excelserver.quit(); excelserver.disconnectobject(); destroy excelserver; return 1;else messagebox(信息提示,没有指定导入文件!); excelserver.disconnectobject

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2