如何在READ ONLY模式下从Oracle Forms打开和读取excel文件?

时间:2015-08-27 09:39:31

标签: excel oracle ole oracleforms

我有以下代码来阅读Excel文件。但最近,我的用户在excel文件上输入了密码。因此,当我尝试读取文件时,会显示一条消息并要求输入密码以在编辑中打开excel,或者只在“只读”模式下打开它。

我只需要阅读数据。然后我只想在没有弹出窗口的情况下以只读模式打开它。

您有什么想法我能解决这个问题吗?

  ----------------Get the file to open        ---------------------------
v_fName := :upload.ti_file_name_upload;

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

    args:= client_OLE2.create_arglist; 
    client_OLE2.add_arg(args, 'HC');   
    worksheet := client_OLE2.GET_OBJ_PROPERTY(workbook, 'Sheets', args);
    client_OLE2.destroy_arglist(args);          

----------------Specify columns that must be read------------------

以及其他代码......

谢谢! 中号

1 个答案:

答案 0 :(得分:0)

在client_ole2包中没有这样的参数,你可以做的是在获取带路径的文件名后(v_fName:=:upload.ti_file_name_upload;),使用不同的名称复制并粘贴为只读,然后使用client_ole2打开它