100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > pb更新oracle表格 PB自定义retrieve刷新函数 PB导入excel表 打印

pb更新oracle表格 PB自定义retrieve刷新函数 PB导入excel表 打印

时间:2022-07-27 02:32:18

相关推荐

pb更新oracle表格 PB自定义retrieve刷新函数 PB导入excel表 打印

12月30日

//定义一个打印工作

longjob

//打开打印设置

job=PrintOpen("一份数据文档")

//指定打印数据窗口

PrintDataWindow(job,dw_1)

//关闭打印工作

PrintClose(job)

12月17号

//自定义刷新函数ue_refresh

stringls_big_code

ls_big_code=dw_2.object.c_name[1]

ifisnull(ls_big_code)ortrim(ls_big_code)=''then

ls_big_code='ALL'

endif

dw_1.retrieve('*',ls_big_code)

导入excel表全部内容

stringstr_savename,named,s_grxh

intexcelok,li_net

longli_count,i

oleobjectexcelserver

excelserver=createoleobject

Excelok=excelserver.connecttonewobject(“excel.applicatiuon”)

excelok=excelserver.connecttonewobject("excel.application")

//检查返回值,以确保已成功地连接到了Excel

messagebox("信息提示",excelok)

ifexcelok<>0then

messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!")

return-1

endif

li_net=GetFileOpenName("选择文件",str_savename,named,"xls","Excel文件(*.xls),*.xls")

ifli_net>0then

ifstr_savename=""thenreturn-1

dw_1.settransobject(sqlca)

dw_1.reset()

excelserver.workbooks.open(str_savename)

excelserver.activesheet.cells.copy

li_count=dw_1.importclipboard(2)//导入数据

clipboard("")

excelserver.quit()

excelserver.disconnectobject()

destroyexcelserver

messagebox('信息提示','数据导入成功!')

return1

else

messagebox('信息提示','没有指定导入文件!')

return-1

endif

12月18号

导入特定字段excel表

stringns_current_directory

stringns_app_path

ns_current_directory=space(500)

GetCurrentDirectoryA(500,ns_current_directory)

ns_app_path=ns_current_directory

stringstr_savename,named,s_grxh

intexcelok,li_net

longll_excel_cols,ll_excel_rows,ll_col

stringls_error_syntaxfromSQL,ls_error_create

stringls_sql,ls_syntax

oleobjectexcelserver

li_net=GetFileOpenName("选择文件",str_savename,named,"xls","Excel文件(*.xls),*.xls,*.xlsx")

ifli_net<=0then

messagebox('信息提示','没有指定导入文件!')

SetCurrentDirectoryA(ns_app_path)

return-1

endif

SetCurrentDirectoryA(ns_app_path)

excelserver=createoleobject

excelok=excelserver.connecttonewobject("excel.application")

//检查返回值,以确保已成功地连接到了Excel

ifexcelok<>0then

messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!")

return-1

endif

//

ifstr_savename=""thenreturn-1

ifisvalid(w_process)thenclose(w_process)

open(w_process)

w_process.process(20)

打开文件并获得当前文件的行数和列数

excelserver.workbooks.open(str_savename)

excelserver.activesheet.cells.copy

ll_excel_rows=excelserver.activesheet.UsedRange.Rows.Count

ll_excel_cols=excelserver.activesheet.UsedRange.columns.Count

w_process.process(30)

首先动态建造一个datawindow

ls_sql="select''ashosp_code_s,''ashosp_name_s,''asitem_code_s,''asitem_name_s,''asstaple_flag_sfromzhangtaowhereprm_key<1"

ls_syntax=SQLCA.SyntaxFromSQL(ls_sql,'Style(Type=grid)',ls_error_syntaxfromSQL)

IFLen(ls_error_syntaxfromSQL)>0THENreturn-1

dw_temp.create(ls_syntax,ls_error_create)

w_process.process(35)

iflen(ls_error_create)>0thenreturn-1

//把excel的数据导入到dw_temp中

excelserver.activesheet.cells.copy

dw_temp.importclipboard()

清除内存

clipboard("")

//退出excel

excelserver.quit()

excelserver.disconnectobject()

destroyexcelserver

f_kill_exe("EXCEL")

w_process.process(40)

dw_temp.deleterow(1)

stringls_hosp_code,ls_hosp_name,ls_item_code,ls_item_name,ls_staple_flag,ls_branch_no

datetimeldt_time

selectsysdate

into:ldt_time

fromdual;

longll_insert_row,ll_row,ll_step,ll_count

ll_count=0

dw_1.visible=false

forll_row=1todw_temp.rowcount()

w_process.process(40+40*ll_Row/dw_temp.rowcount())

ls_hosp_code=dw_temp.object.hosp_code_s[ll_row]

ls_hosp_name=dw_temp.object.hosp_name_s[ll_row]

ls_item_code=dw_temp.object.item_code_s[ll_row]

ls_item_name=dw_temp.object.item_name_s[ll_row]

ls_staple_flag=dw_temp.object.staple_flag_s[ll_row]

ll_step=dw_1.find("hosp_code='"+ls_hosp_code+"'",1,dw_1.rowcount())

ifll_step>0thenCONTINUE;

ifisnull(ll_step)orll_step=0then

ll_insert_row=dw_1.insertrow(0)

dw_1.object.hosp_code[ll_insert_row]=ls_hosp_code

dw_1.object.hosp_name[ll_insert_row]=ls_hosp_name

dw_1.object.item_code[ll_insert_row]=ls_item_code

dw_1.object.item_name[ll_insert_row]=ls_item_name

dw_1.object.staple_flag[ll_insert_row]=ls_staple_flag

dw_1.object.input_date[ll_insert_row]=ldt_time

dw_1.object.branch_no[ll_insert_row]=is_branch_no

ll_count=ll_count+1

endif

next

ifisvalid(w_Process)thenclose(w_process)

messagebox('提示','导入完毕,成功导入数据'+string(ll_count))

dw_1.visible=true

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。