Ich migrierte Web-Dynpro-Java 7.0 auf 7.4. Ich habe ein Problem, wenn ich eine Excel-Datei hochlade. jxl.read.biff.BiffException: OLE-Stream kann nicht erkannt werdenSAP Portal NetWeaver 7.4: jxl.read.biff.BiffException: OLE-Stream konnte nicht erkannt werden
Ich habe einen Verweis auf ein Dokument "Excel-Datei mit Beispiel-Web-Dypro für Java hochladen", aber ich habe immer noch einen Fehler.
(Ich bin office 2007 mit AAAA.xls (97-2003) zu speichern und
file.getAbsolutePath() =/usr/sap/DEP/J00/j2ee/cluster/server0/AAAA laden. xls)
ich habe versucht, in Projekt Java-Anwendung auf meinem Desktop mit jxl.jar, dann ist es in Ordnung, wenn Excel-Datei zu lesen (* .xls)
Code: Arbeitsmappe wb = Workbook.getWorkbook (neue Datei ("C: /Users/pcname/Desktop/AAAA.xls "));
Aber auf dem Portal wirft es die folgende Ausnahme "Kann nicht OLE-Stream erkennen"
Der folgende Code ist:
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
}
}