现在的位置: 首页 > 综合 > 正文

jxl 处理大数据量

2013年07月21日 ⁄ 综合 ⁄ 共 776字 ⁄ 字号 评论关闭

   最近因项目需要需生成excel文件,首先采用了jxl来实现需求,但是在实施时,发现,当导出的数据相当大的时候,会导出内存溢出。经过详细的分析。后来得出jxl在处理大数据的时候很难适应这种需求。这时,采用文本的形式生成文件将会是更好的解决方案。一下是测试的数据。

 

 

  无样式、数据格式处理 处理数据格式、单元格样式
  内存(MB) 时间(MS) 内存(MB) 时间(MS)
数据量 html jxl html jxl html jxl html jxl
100行10列 1 10 47 408 1 10 129 407
1000行10列 1 11 93 532 1 11 187 521
10000行10列 3 23 453 1314 3 23 834 1356
100000行10列 29 out 4766 out 29 out 5767 out
20000行10列 6 45 665 2018 6 45 1264 1987
100行20列 1 10 62 423 1 10 140 432
1000行20列 1 12 140 579 1 12 250 613
10000行20列 6 45 640 1894 6 45 1343 1935
100行50列 1 10 79 439 1 10 156 501
1000行50列 1 15 220 783 1 15 452 796
10000行50列 10 out 1448 out 17 out 3073 out
20000行20列 10 63 1639 4855 10 63 2500 4762
20000行50列 31 out 3077 out 31 out 5897 out
                 
说明:以上数据信息是测试两种生成excel文件解决方案(生成html文件、java jxl生成)所需内存的大小、处理时间。
注:测试的环境:cup 1.6GHZ 内存1G jvm总内存64MB 
    总结:在小数据量时采用jxl生成的格式比较规范,excel打开生成文件的速度较快,但jxl不适宜处理大数据生成excel,在jvm 64M的情况下,能处理的单元格边界在80万左右

抱歉!评论已关闭.