`

java写大数据到 excel文件

阅读更多
来自:javaeye网站
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()一下,及时把资源释放。
分享到:
评论

相关推荐

    poi多线程大数据导出excel文件.zip

    本项目“poi多线程大数据导出excel文件”提供了一个解决方案,利用多线程来提高Excel的大数据导出效率。 Apache POI 3.1版本是较早的版本,而项目中使用了更新的4.1版本,这意味着它可能利用了更多优化和新特性。在...

    javaExcel大数据导出

    在Java开发中,处理大数据导出到Excel是一个常见的需求,特别是在数据分析、报表生成以及数据交换等场景。"javaExcel大数据导出"这个话题涉及到的主要知识点包括:Java与Excel的交互、大数据处理策略、性能优化以及...

    java 文件大数据Excel下载实例代码

    Java 文件大数据 Excel 下载实例代码 Java 文件大数据 Excel 下载实例代码是指通过 ...* 企业管理:Java 文件大数据 Excel 下载可以用于企业管理中,将大量的数据导出到 Excel 文件中,以便于用户进行数据分析和处理。

    java导出100万以上excel大数据样例

    java导出excel大数据,由于excel本身sheet页存储条数的限制,方案一般有:1、导出多个excel,然后将多个excel压缩为zip包,导出;2、导出可以通过excel打开的文本文件;3、导出csv文件(简单格式的)。 本样例以导出...

    java解决大批量数据导出Excel产生内存溢出的方案

    这是因为Excel文件格式本身的设计,以及Java默认处理大数据的方式,可能导致内存占用过高,尤其是在一次性加载大量数据到内存中进行处理时。为了解决这个问题,我们可以采用以下几种策略: 1. **分批导出**: - ...

    javaExcel大数据导出.zip

    在Java编程环境中,处理大数据并将其导出到Excel文件是一项常见的任务,特别是在数据分析、报表生成以及数据交换等场景。"javaExcel大数据导出.zip"这个压缩包可能包含了一个或多个示例项目,演示了如何在Java中高效...

    大数据快速导出EXCEL-Java

    本篇文章将详细探讨如何利用Java在内存消耗极低的情况下,快速导出百万级大数据到Excel文件。 首先,我们要理解大数据的特点:数据量大、类型多样、处理速度快。在导出大数据到Excel时,我们不能简单地一次性加载...

    大数据导出excel 和使用说明

    - 创建一个`ZipOutputStream`,将Excel文件作为输入流,通过`ZipEntry`添加到ZIP文件中。 - 关闭`ZipOutputStream`。 5. **前端到后端调用** - 前端发送HTTP请求到后端,请求参数可能包含筛选条件或其他导出参数...

    大数据excel导入源码 需要的lib包

    在处理大数据量的Excel文件时,由于POI默认会将整个工作簿加载到内存中,因此可能导致内存溢出。为了解决这个问题,开发者需要掌握一些优化技巧。 1. **大对象处理策略**:POI提供了Streaming Usermodel API(SXSSF...

    java 大数据导出csv小工具

    6. `jxl.jar`:这是一个老版本的Apache POI库,用于读写Excel文件,但在这个场景中,它可能作为备用或辅助库存在。 7. `commons-collections-3.2.1.jar`:Apache Commons Collections库,提供了各种集合操作的实用...

    Java通过POI和JXL给Excel动态添加水印

    - **Apache POI**: 同样是处理Excel文件的强大Java库,除了支持.xls外还支持.xlsx等新版本格式,并且提供了更多的功能,如图表、图片等复杂元素的处理。 #### 实现步骤详解 ### 步骤一:创建模型类 首先,我们...

    java操作Excel文件

    在Java编程环境中,操作Excel文件是一项常见的任务,尤其在数据处理、数据分析或自动化测试等领域。本文将深入探讨如何使用Java来读取、写入和修改Excel文件,主要涉及的库有Apache POI和JExcelApi。 Apache POI是...

    [rar文件] java导出100万以上excel大数据样例

    1、 大数据导出excel文件; 2、 Excel导出大数据时内存溢出; 二、思路:将数据存储到一个.xls的文件内,实际写入的是可以通过excel打开的html文本文件。由于文本文件可以进行续写,可以避免内存溢出。 三、优点:...

    Java读取大数据量Excel的方法(POI)

    在Java编程中,处理大数据量的Excel文件是一项挑战,因为Excel文件可能包含成千上万行数据。Apache POI是一个流行的库,专为处理Microsoft Office文档(如Excel)而设计,它提供了API来读取、写入和修改这些文件。在...

    Java POI 生成Excel(xlsx)文件

    在Java中,如果你需要生成或操作Excel文件,尤其是.xlsx格式(这是Excel 2007及以上版本使用的Open XML格式),那么Apache POI库就是首选工具。下面将详细介绍如何使用Java POI库来生成Excel(xlsx)文件。 首先,...

    excel导入大数据失败解决方法

    转换后的CSV文件可以轻松地被各种数据库、分析工具或编程语言读取,而不会受到Excel文件格式的限制。同时,由于CSV文件的简洁性,它的读取速度更快,对系统资源的需求也更低,尤其适合大数据环境。 在实际应用中,...

    java版poi导出excel文件

    本教程将详细讲解如何使用Java和Apache POI库来创建并导出Excel文件。 首先,我们需要在项目中引入Apache POI的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.poi ...

    poi导出大数据excel

    为了解决这个问题,Apache POI 提供了SXSSF(Streaming Usermodel API),这是一个低内存占用的API,适用于处理大型Excel文件。SXSSF不是在内存中存储整个工作簿,而是只保留最近使用的100行(默认值,可调整)。当...

    java生成大容量的excel的.xlsx文件

    2003的excel的导出生成量,如果满足不了实际需求,可以考虑生成导出2007以上的xlsx

    JAVA导出数据到excel中大数据量的解决方法

    web项目中需要有将数据导出excel的操作需求 使用html格式导出方法,但在...待所有数据写完,将各个小excel文件进行打包,输出到输出流中。 一小部分说明 见 http://blog.csdn.net/lisen1987/article/details/16857359

Global site tag (gtag.js) - Google Analytics