问题描述
我使用了jxl,来处理Excel文件,使用过的朋友请帮我解答一下这个问题,谢谢。从客户端送过来的InputStream,如果直接到getWorkBook,则出错:jxl.read.biff.BiffException:Theinputfilewasnotfound.代码如下:ServletInputStreamins=request.getInputStream();byte[]junk=newbyte[1024];intbytesRead=0;bytesRead=ins.readLine(junk,0,junk.length);bytesRead=ins.readLine(junk,0,junk.length);bytesRead=ins.readLine(junk,0,junk.length);bytesRead=ins.readLine(junk,0,junk.length);Workbookworkbook=Workbook.getWorkbook(ins);
解决方案
解决方案二:
建议在本地处理。不要一边传输一边处理。可以先上传,再操作上传后的文件
解决方案三:
request.getInputStream();这块可能没有取到值,在有就是取到值是一个相对的路径,JXL处理的文件要是一个绝对路径
解决方案四:
先把文件传过来再解析。或者你把整个文件都接收后在解析文件。
解决方案五:
Workbook.getWorkbook方法的参数是File或者是FileInputStream你可以先把客户端的流建立个文件然后作为参数传进去你可以先建立一个文件Filef=newFile(path);然后把你的流ServletInputStreamins=request.getInputStream();写入到这个文件然后再Workbookworkbook=Workbook.getWorkbook(f);这样试试