如何在从Oracle Forms Builder打开excel文件时循环浏览所有excel工作表?
我想在客户机的帮助下在Oracle表单中重新生成excel文件。 如果excel只有一张工作表,因为这张工作表是activesheet,那么我成功地做到了这一点,但是如果excel中有多张工作表,我就无法阅读所需的工作表如何在从Oracle Forms Builder打开excel文件时循环浏览所有excel工作表?,excel,oracle,ole,oracleforms,Excel,Oracle,Ole,Oracleforms,我想在客户机的帮助下在Oracle表单中重新生成excel文件。 如果excel只有一张工作表,因为这张工作表是activesheet,那么我成功地做到了这一点,但是如果excel中有多张工作表,我就无法阅读所需的工作表 ----------------Get the file to open --------------------------- v_fName := :upload.ti_file_name_upload; IF ( v_fName IS N
----------------Get the file to open ---------------------------
v_fName := :upload.ti_file_name_upload;
IF ( v_fName IS NOT NULL ) THEN
clear_form ( no_validate );
--------------INITIATE EXCEL APPLICATION---------------------------
application := client_OLE2.create_obj('Excel.Application');
client_OLE2.set_property(application,'Visible', 'false');
----------------GET WORKBOOKS FROM EXCEL APPLICATION---------------
workbooks := client_OLE2.Get_Obj_Property(application, 'Workbooks');
----------------OPEN REQUIRED WORKBOOK-----------------------------
args := client_OLE2.CREATE_ARGLIST;
client_OLE2.add_arg(args,v_fName);
workbook := client_OLE2.GET_OBJ_PROPERTY(workbooks,'Open',args);
client_OLE2.destroy_arglist(args);
----------------OPEN REQUIRED WORKSHEET----------------------------
worksheets := client_OLE2.GET_OBJ_PROPERTY(workbook, 'Worksheets');
worksheet := client_OLE2.GET_OBJ_PROPERTY(application,'activesheet');
----------------Specify columns that must be read------------------
谢谢大家! 我替换了
worksheets := client_OLE2.GET_OBJ_PROPERTY(workbook, 'Worksheets');
worksheet := client_OLE2.GET_OBJ_PROPERTY(application,'activesheet');
与
args:=client\u OLE2.create\u arglist;
客户2.添加参数(参数,“图纸名称”)
工作表:=client_OLE2.GET_OBJ_属性(工作簿,'Sheets',args);
客户机2.销毁arglist(args)代码>
现在它工作得很好