Java Sap Portal NetWeaver 7.4:jxl.read.biff.biffe异常:无法识别OLE流

Java Sap Portal NetWeaver 7.4:jxl.read.biff.biffe异常:无法识别OLE流,java,excel,webdynpro,sap-enterprise-portal,Java,Excel,Webdynpro,Sap Enterprise Portal,我将WebDynproJava7.0迁移到了7.4。我上传excel文件时遇到问题。jxl.read.biff.biffeException:无法识别OLE流 我参考了一个文档“上传Excel文件和示例Web Dypro for Java”,但仍然有一个错误 (我使用Office2007保存AAAA.xls(97-2003)并上传 file.getAbsolutePath()=/usr/sap/DEP/J00/j2ee/cluster/server0/AAAA.xls) 我尝试在桌面上的proj

我将WebDynproJava7.0迁移到了7.4。我上传excel文件时遇到问题。jxl.read.biff.biffeException:无法识别OLE流

我参考了一个文档“上传Excel文件和示例Web Dypro for Java”,但仍然有一个错误

(我使用Office2007保存AAAA.xls(97-2003)并上传

file.getAbsolutePath()=/usr/sap/DEP/J00/j2ee/cluster/server0/AAAA.xls)

我尝试在桌面上的project java应用程序中使用jxl.jar,在读取excel文件(*.xls)时没有问题

代码:Workbook wb=Workbook.getWorkbook(新文件(“C:/Users/pcname/Desktop/AAAA.xls”)

但在门户上,它抛出以下异常“无法识别OLE流”

代码如下:

type of Va_Resource = com.sap.ide.webdynpro.uielementdefinitions.Resource
     ....
InputStream inpStr = null;
int temp = 0;
File file = new File(wdContext.currentContextElement()
    .getVa_Resource().getResourceName().toString());

 FileOutputStream opStr = new FileOutputStream(file);

 if(wdContext.currentContextElement().getVa_Resource()!=null){

    inpStr = wdContext.currentContextElement().getVa_Resource().read(false);

    while((temp = inpStr.read())!= -1){
        opStr.write(temp);
    }
}

opStr.flush();
opStr.close();
path = file.getAbsolutePath();
       if(path.substring(path.length()-3,path.length()).trim().equalsIgnoreCase("xls"))
{
    //call method for upload
    Execute_UploadOperation();
}

.....
public void Execute_UploadOperation{
    try{
        //path = /usr/sap/DEP/J00/j2ee/cluster/server0/AAAA.xls
        Workbook wb = Workbook.getWorkbook(new File(path)); error this line, throw exception here

....
    }
    catch (BiffException e) {
        e.getMessage() = jxl.read.biff.Biff  Exception: Unable to recognize OLE stream
    }
}

您的编码似乎很好
您使用什么Excel版本?JEXCELAPI现在是,仅适用于2003年以前的Excel版本,上次更新是在2009年。
用于MS Office的后期版本