`
QiaoDuanni
  • 浏览: 136857 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

回复: 大数据量导出Excel的方案

阅读更多
http://www.iteye.com/post/1085796
sjpsega 写道
biguan 写道
tidus2005 写道
biguan 写道
我同事最近要把1000万条记录从数据库导到excel里,在我的帮助下解决了。呵呵。原创的。因每个excel最多放5万条,所以他把这1000万条记录记录放到了200个excel文件里。用时40分钟。采用基本的jdbc技术+io流。 1.先进一个excel文件。填上要的表头和两条记录。然后另存为网页a.html。 2.用记事本打开网页a.html,就看到源代码。把源代码分成三部分:头+记录行+尾。 3.用jdbc访问数据库,循环遍历,每5万条,用io流写文件,格式为"xxx.xls”。 a.html的头代码+记录行代码(已经被5万条替换)+尾代码。
没有看太懂你的意思, 用html是干什么?
用java的io写txt格式的文件,大家都会吧? 其实,也可以用java的io写xls格式的文件的。关键是你得按一定的excel文件格式写,才能保证生成的是excel文件。 这个格式怎样得到呢?方法是这样: 你先建一个excel文件,如a.xls。填上两条伪数据。然后另存为网页,即htm格式,如a.htm。 然后,用记事本打开htm格式的a.htm,这样excel文件格式代码就暴露在你面前。 剩下的事,呵呵,就是把a.htm源代码的伪数据部分,替成数据库里的数据,然后把替换后的整个a.htm源代码,用java的io写成一个后缀为xls的文件。就打完收工了。 注意:为了不给内存增加压力,要把a.htm源代码分成三部分:头(伪数据部分 前的代码) + 伪数据部分 + 尾(伪数据部分 后的代码)。 先把 头 写到文件,并flush。然后是 伪数据部分 ,替一条数据库里的记录就写到文件里,并flush。最后把 尾 写到文件,并flush。
呵呵,你的方法很好啊,其实我本来也想到直接用io生成XLS文件的,不会我是直接用记事本打开的,结果看到乱码 - - 还有写io你提到了重点,就是要经常flush,不然数据大就OOM了。 我的方法也主要就是拼字符串,还有就是从数据库读取的数据采用分页的形式,用list分次读取出来,结束采用list.clear()一下,及时把资源释放。
分享到:
评论
2 楼 QiaoDuanni 2010-02-09  
http://www.iteye.com/post/1085796
1 楼 w68335397 2010-02-01  
您好~请问您是如何解决大数量导出的问题的。~
小弟也遇到类似的问题~老OOM。有点不明白您的意思~
可以交流交流交流。讨论下嘛?
邮箱:w68335397@163.com

相关推荐

    QQ邮箱搜索工具

    4. **导出结果**:搜索结果可以导出为文本或Excel文件,方便进一步处理和分析。 5. **安全保护**:考虑到隐私和数据安全,这款工具应该遵循严格的隐私政策,确保用户数据的安全。 6. **用户友好界面**:简洁明了的...

    PyCrawler:实验室论坛回复名单统计爬虫

    Pandas提供了DataFrame对象,可以方便地创建、操作和分析表格数据,并且能轻松导出到Excel格式。 ### 6. 登录机制 PyCrawler需要登录论坛,这涉及到模拟登录过程。它可能通过POST请求发送登录信息(如用户名、密码...

    asp.net(Access)博客设计

    2. **数据集成**:Access可以与其他Office应用程序无缝集成,如Excel,方便数据导入导出。 3. **Jet引擎**:Access内置的Jet数据库引擎支持SQL查询,可以处理复杂的数据库操作。 4. **小型项目适用**:对于小型...

    亿美移动互动平台帮助文档

    每种活动类型都可以创建、查询、修改、导出、删除以及进行抽奖(大屏幕输出)和中奖查询。以留言互动为例,用户可以创建留言活动,设定活动主题、时间和活动指令。活动指令需校验其唯一性。活动规则中可设置手机号...

    PDF-XChange Pro 5.0.273.2

    除此之外,PDF-XChange Pro 还包含了一些高级功能,如表单填写和数据导出,以及创建PDF/A归档格式,以满足特定的合规性和长期保存需求。用户还可以自定义快捷键和工作流程,以适应个人的工作习惯,提升生产力。 在...

    KesionCMS v9.5.140605 免费正式版本(utf-8).rar

    评论增加数据表,当默认的评论数据表数据量很大量,会严重的影响页面的加载速度。这时我们可以通过创建评论分表来缓存单张评论数据表的负载压力。评论静态化,直接生成HTML代码在内容页,这样评论将被搜索引擎抓取, ...

    KesionCMS v9.5.140605 免费正式版(gbk).rar

    评论增加数据表,当默认的评论数据表数据量很大量,会严重的影响页面的加载速度。这时我们可以通过创建评论分表来缓存单张评论数据表的负载压力。评论静态化,直接生成HTML代码在内容页,这样评论将被搜索引擎抓取, ...

    PyPI 官网下载 | django-mail-office-0.2.0.tar.gz

    Django-Mail-Office是一款Python库,其核心功能是将Django应用程序中的邮件功能扩展到支持处理Microsoft Office格式的附件,如Word文档(.docx)、Excel表格(.xlsx)和PowerPoint演示文稿(.pptx)。这个库可能包含...

    文章管理系统

    1.[新增]文章管理 增加 复制 按钮,免去写形似文章的工作量,直接在现有的修改下即可成新文章 2.[改进]网站参数设置 增加 清除JS内容 按钮 3.修复其他几个小细节 2013年09月07日 V2.80更新包 1.[改进]去掉旧版AJAX...

    SmartSchool CC校友录 v8.zip

    而且提供校友资料导出下载功能,您可以把导出的Excel文件保存在您的电脑,手机,PDA或者其他移动存储介质中, 这样就可以在不方便上网的时候及时查找校友资料,或者也可以打印为纸质通讯录,在组织校友活动, 组织...

Global site tag (gtag.js) - Google Analytics