客户要求从数据库导出6万条数据,每条记录50个字段,每个字段255长,共750M的内容.我起初用POI软件包,后面发现它只能整个workbook写入文件,而750M的workbook在内存中放不下的,后来用jxl软件包,还是不行,因为它修改已经excel的方法是将已有excel载入内存,然后复制一份,然后才可以往里面添加数据,文档中解决OutOfMemory建议的方法是加大JVM的内存,却没有其它的方法. 网上有帖子说:"大数据量 用java 调用vba 用模板生成",用vba(Visual Basic For Application)真的能解决大量数据导入Excel问题吗?
相信很多人都遇到过将数据库中的数据导入到Excel文件的问题,当数据量过大时,你们是怎么处理的呢?
谢谢!
相信很多人都遇到过将数据库中的数据导入到Excel文件的问题,当数据量过大时,你们是怎么处理的呢?
谢谢!
解决方案 »
- comparator的问题
- 如何判断流中的信息是否为序列化对象?
- 奇怪问题,请高手指点,Illegal operation on empty result set.
- 关于接口和抽象类的一道编程题 急
- 遇到一个很郁闷的问题,两台电脑一台ServerSocket()可以加参数,另一台不能加参数,请高手进来看
- 从C\C++到Java
- 请教:JAVA查询MYSQL的问题
- java programing language 这本书怎么样,是java之父写的
- Statement对象的哪种方法正确:S.getconnect,S.next,s.disconnect,s.executeQuery
- 请问什么地方有JAVA 的联机文档下啊????
- httpClient 100分紧急求助
- java中如何获取操作系统当前系统进程信息
我已经解决,你首先要知道 HTML 和 Excel之间通过改后缀名是可以相互转换的。
所以,你可以先写HTML,这样内存不会溢出。写好后再改成xls后缀名。 注:
HTML 和 Excel之间的转换,你可以参考。打开一个EXCEL,然后,选择另存为网页。
你可以看一下这个HTML的源码。
你直接把这个HTML文件后缀名改为xls,打开后效果和刚才那个EXCEL一样。
但是会文件会变大。但是,压缩后比EXCEL还小。 不知道说明白没。
而且一个sheet的最大行数为65535,超过就需要写到一个新的sheet
也谢谢Runningboy007 的方法!
再利用多线程就好了数据量太大了不然内存溢出!