我想通过form传入的流来直接解析excel,但是行不通。代码大概是这样:                ...........
              InputStream in = request.getInputStream();
      Workbook book = Workbook.getWorkbook(in);//这一句会报jxl.read.biff.BiffException: 
                                                       //The input file was not found
      ........... 
              
         谁来帮忙分析一下是咋回事?谢谢!

解决方案 »

  1.   

    我一般都用poi来实现数据的导出,那个现在比较流行,而且很简单
      

  2.   

    你先把流写成excel文件,然后再用jxl对这个excel文件进行解析
      

  3.   

        其实就是想省掉上传这个步骤,因为需要两次流操作。所以想尝试一下直接在流中操作,jxl也有针对流的接口,但是试了下不知道为什么不行。
      

  4.   

     省掉上传?那你的流是怎样生成的?
    我曾经也遇到过这个问题,但是后来明白到不能通过程序来自动上传客户端的文件,所以没可能完成的。
    你的情况是,我觉得是在客户端生成的文件流为null。
      

  5.   

    为什么一定要用form上传的流来解析呢?
    我是这么做的:先用jspsmart组件上传文件,然后用jxl解析Excel文件。
    form里上传的东西非常多,不都是Excel的数据吧?
      

  6.   

    当然可以的了,只是你对http协义还不了解罢了
    InputStream in = request.getInputStream(); 
    你觉得这个流里面传过来的只有excel这个文件的信息吗, 还有报头,报尾呢
    你这样一起拿去解析, jxl肯定不能识别...........
    要不然我们在上传文件的时候还要弄个组件干什么,直接写硬盘就行了,
    像common-fileupload就是帮我们解析form上传的协议,把其中包含的文件信息提取出来
      

  7.   

    FormFile ff = frm.getPubFile();(这个字段是个FormFile)
    InputStream in = ff.getInputStream();
    Workbook rwb = Workbook.getWorkbook(input);
    然后就可以分析了。