日期:2014-05-20  浏览次数:20893 次

jxl操作excel失败的问题
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 都没问题,但是执行第一步的代码和上边是一样的情况,请高手帮帮忙指导一下,谢谢~~

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

try{
   workBook = Workbook.getWorkbook(tempFile);//6
   Sheet sheet = workBook.getSheet(0);//7
}catch(Exception e){
   e.printStackTrace();
}

------解决方案--------------------
探讨

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

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