1、puchaseWwb = Workbook.createWorkbook(new File(localDirectory + File.separator + "900206(purchase)" + trxDate + ".xls"));
2、refundWwb = Workbook.createWorkbook(new File(localDirectory + File.separator + "900206(refund)" + trxDate + ".xls"));
3、purchaseWs = puchaseWwb.createSheet("9002006(purchase)." + trxDate,0);
4、refundWs = refundWwb.createSheet("9002006(refund)." + trxDate, 0);

5、File tempFile = new File(localDirectory + File.separator + targetFileName);
6、workBook = Workbook.getWorkbook(tempFile);
7、Sheet sheet = workBook.getSheet(0);
大家好,我的目的是读取已有的excel(第六步),然后分析其中的数据,将内容分拆到两个不同的excel中(1和2连个sheet中)
purchaseWwd和refundWwd,同时生成对应的sheet,这两步成功了,第6步读取一个已经存在的sheet也没问题,可是进行第7步的时候,直接进入finally块,任何错误页没报,不知道是什么问题啊?
然后如果1 2 3 4行 放在5 6 7 行之后,我又测试了一下,567 都没问题,但是执行第一步的代码和上边是一样的情况,请高手帮帮忙指导一下,谢谢~~

解决方案 »

  1.   

    你最好在catch里面写e.printStackTrace();把异常信息打印出来,有时候不写就是不会出异常信息的,你这样写我也看不出来是什么问题,不过现在最好是去用poi操作word,excel,jxl已经是过去的东西,因为poi才能操作2007版本以上的,用法都差不多
      

  2.   


    try{
       workBook = Workbook.getWorkbook(tempFile);//6
       Sheet sheet = workBook.getSheet(0);//7
    }catch(Exception e){
       e.printStackTrace();
    }看看异常是什么
      

  3.   

    看到了,报的是内存溢出的错误,我现在才1万5千条左右的记录,也就5M左右,使用jxl就溢出了,这个需要怎么决绝呢,我现在的处理方式是从一个excel文件里边读取数据进行解析,写到另外一个excel文件,是不是边读边写会更影响效率呢,请高手指点一下,实在找不到什么解决方法了~~~
      

  4.   

    还有我查了一些资料,jxl虽然对excel版本支持比较低,不过在效率上jxl好像比poi要高一些,在写入excel的时候。
      

  5.   

    如果这个需求可变,那么可以在中间加入数据库保存信息
    或是直接对原excel进行宏编译得到新的想要的excel如果不可变,那你可以先试一下你的极限情况所需时间另外你溢出的问题你还没解释清楚是哪里,是否是读数据时一次太大或是什么样,这跟使用什么第三方包无关的
      

  6.   

    你最好在catch里面写e.printStackTrace();把异常信息打印出来,有时候不写就是不会出异常信息的,你这样写我也看不出来是什么问题,不过现在最好是去用poi操作word,excel,jxl已经是过去的东西,因为poi才能操作2007版本以上的,用法都差不多
      

  7.   

    这个估计就是你的工具问题
    你还是用poi包试一下