大家帮忙分析一下,不知道什么原因了Web项目,使用WebSphere做服务器,使用jxl导出数据,然后提示下载,导出数据原理是先读取C:/template.xls文件,然后往进写,可是Workbook.createWorkbook(output,templateWorkbook);这一句竟用了15S的时间,File file = new File("C:/template.xls");
Workbook templateWorkbook = Workbook.getWorkbook(file);
WritableWorkbook workbook = Workbook.createWorkbook(output,templateWorkbook);
我把jxl源码导到项目里,把这段代码单独拿出来放在里面运行,单独的使用application形式运行,非常快,基本不计时间。Workbook.createWorkbook(output,templateWorkbook);跟我放在服务器上运行还是使用application形式运行有什么关系?运行时候怎么这么大区别呢?给点提示我测试也行。

解决方案 »

  1.   

    估计没人回答了,原因基本找到了。看了下jxl的源码,简单的来说就是他会去循环excel中的sheet,然后进行拷贝,每个sheet拷贝是需要一段时间的,也没办法去改这些代码了在,而新建这个template.xls文档时,默认有三个sheet,所以花了很多时间,把没用的sheet删除就快了来人,散分了。。...........
      

  2.   

    为什么使用jxl源码就快了?
    我在项目中也遇到这样的问题,unix服务器上使用websphere发布程序,
    WritableWorkbook workbook = Workbook.createWorkbook(output,templateWorkbook);这一句使用了40多秒。
    本地使用tomcat执行时5秒左右。
    有没有人知道什么原因?