如何在从Oracle Forms Builder打开excel文件时循环浏览所有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

我想在客户机的帮助下在Oracle表单中重新生成excel文件。 如果excel只有一张工作表,因为这张工作表是activesheet,那么我成功地做到了这一点,但是如果excel中有多张工作表,我就无法阅读所需的工作表

        ----------------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)

现在它工作得很好