2016-07-11 6 views
0

Я перенесла веб-версию dynpro java с 7.0 до 7.4. У меня проблема при загрузке файла excel. jxl.read.biff.BiffException: Не удается распознать поток OLESap Portal NetWeaver 7.4: jxl.read.biff.BiffException: Невозможно распознать поток OLE

У меня есть ссылка на документ «Загрузить файл Excel с примером Web Dypro для Java», но у меня все еще есть ошибка.

(я использую офис 2007, чтобы сохранить AAAA.xls (97-2003) и загрузить

file.getAbsolutePath() =/USR/сок/DEP/J00/j2ee/кластер/server0/AAAA. XLS)

Я попытался с помощью jxl.jar в приложении Java проекта на моем рабочем столе, это нормально при чтении файла Excel (* .xls)

код: Workbook М.Т. = 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 
    } 
} 

ответ

0

Ваше кодирование, кажется, хорошо.
Какую версию Excel вы используете? TheJExcelApi теперь obsolete и работает только с версиями Excel до 2003 года, последний раз он был обновлен в 2009 году.
Используйте Apache POI для последних версий MS Office.