`

用Java没有好的方法生成大数据量的Excel

阅读更多

最早发表时间:2009-01-13

 

    网上使用Java生成Excel文件的方法中,我最青睐POI项目,不过今天从下午一直到晚上这个钟点(大约2009年1月13日0:54:00)在翻阅了无数资料之后(包含有网上一些论坛、官方的邮件列表等等),自己得下一个结论——Java语言相关的操作Excel文件的项目生成大数据量的文件时,仍然是捉襟见肘。

    以POI为例,使用这个工具生成Excel文件时,必须在内存中将所有的数据结构创建完,而后将所有的数据填入到内存中的这个数据集合对象之中才可以将它写入到磁盘上。如果面对成千上万行的Excel表格数据,这个内存的耗费量实在不敢想象。
    后来找到一篇文章说到操作大的Excel文件时,推荐使用POI的EventUserModel,愚以为找到了救命稻草,于是在吃完晚饭之后,疯狂的搜索与这个关键字相关的文献,结果是,在最后一帖处,楼主给出凄婉的结论——只能用来read,不能write(除非机器配置的内存确实多得用不完~~~)
    刚刚正要睡觉之前,去了一趟轻松阁,忽然想到两个点子(其实也是以前在网上看到的,只是那个时候没有引起重视,因为不懂得相关的技术)——一来是,我们生成csv格式的文件比较容易,是否可以在遇到不同种类的文件数据需要导出生成Excel时,导出多个csv,而后合并成Excel呢;二来是想起以前一个帖子里说,可以使用Excel中的宏来生成大数据的文件。
    仔细想来,其实一和二这两个方法都是利用Excel的VBA宏程序来实现,也就是说把问题还给MS技术体系自己去解决,而不是用Java去理解不开放的Excel文件数据结构。
    这几天看了一本叫做Excel VBA实例大全,见识了一些用VBA写就的程序,确实功能十分强大,所以这个方法应该是可行的。另外也看到一个帖子就讲到了这方面,给出链接,如果能够起到抛砖引玉的作用,此乃又一大幸事。

帖子标题:按照条件将多个CSV文件合并成一个Excel文件     hits : 263
分享到:
评论

相关推荐

    java生成excel图表

    "Java生成Excel图表" ...Java生成Excel图表是一个复杂的过程,需要选择合适的库和框架,处理大量数据,设计美学的图表布局等。但是,使用Java生成Excel图表可以提高工作效率,提高数据分析和报表生成的质量。

    java导出30万数据量的excel(采用生成多个excel,最后打包zip)

    在Java开发中,处理大数据量的Excel导出是一项常见的任务,尤其当数据量达到数十万条时,单个Excel文件可能会遇到性能瓶颈或格式限制。本项目针对这一问题提出了一种解决方案,即分块生成多个Excel文件,然后将它们...

    Java_批量导出大数据量Excel方法.zip

    在Java开发中,批量导出大数据量到Excel是一项常见的任务,尤其在数据分析、报表生成或者数据交换场景下。为了高效地处理这种情况,开发者通常需要掌握一些特定的技术和策略。本资料"Java_批量导出大数据量Excel方法...

    java动态大数据量EXCEL下载

    Java 动态大数据量EXCEL下载是一个常见的需求,在企业级应用中尤为常见,尤其是在数据分析、报表生成和数据导出场景下。以下是对这个主题的详细解释: 首先,我们需要理解Java如何处理大数据量的EXCEL文件。传统的...

    Java通过POI读取Excel遍历数据,批量生成word文档

    通过这种方式,你可以根据业务需求,利用Java和Apache POI库实现Excel数据的批处理,生成大量定制化的Word文档。这个过程对于报告生成、自动化数据导出或者大规模邮件合并等场景非常有用。 这个示例代码只是一个...

    java实现生成下载Excel

    在Java编程环境中,生成并提供Excel文件下载是一个常见的需求,特别是在数据处理、...在处理大量数据时,要注意内存管理,因为POI库可能会占用大量内存,可以考虑使用SXSSF(Streaming Usermodel API)来减少内存消耗。

    java生成excel

    1.数据报表生成:Java 生成 Excel 文件可以用于生成数据报表,例如财务报表、销售报表等。 2.数据分析:Java 生成 Excel 文件可以用于数据分析,例如数据挖掘、数据 Visualization 等。 3.自动化办公:Java 生成 ...

    java 生成Excel,可根据模板格式生成 Excel打印专用 报表

    - 使用SXSSFWorkbook(适用于XSSF)可以提供流式处理,减少内存占用,尤其在处理大数据量时。 在描述中提到这是旧版本的实现,可能意味着它不包含最新的功能或者优化。如果需要更新的版本,可能需要考虑引入新的库...

    java Excel导出 Excel数据处理

    在Java编程环境中,处理Excel数据并将其导出是一项常见的任务,尤其在数据分析、报表生成或者数据交换等场景中。Excel文件格式(.xlsx或.xls)因其直观易用和广泛支持而受到青睐。在这个主题中,我们将深入探讨如何...

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

    - 使用如JExcelApi、OpenCSV等其他第三方库,它们可能提供了更优化的数据导出方案,尤其是针对大数据量。 7. **优化Excel文件格式**: - 如果可能,可以考虑使用CSV格式代替Excel,因为CSV文件对内存的需求较低,...

    java代码生成excel表并下载

    在Java编程领域,生成Excel表格是一项常见的需求,尤其在数据导出、报表生成或数据分析时。本主题聚焦于“java代码生成excel表并下载”,这是一个关键的后端功能,允许用户自定义表格内容并选择下载路径。下面我们将...

    JAVA用POI生成Excel并下载

    在Java开发中,Apache POI库是一个非常实用的工具,它允许程序员创建、修改和读取Microsoft Office格式的文件,尤其是Excel(.xlsx 和 .xls)文档。...这些步骤对于处理大量数据输出或报告生成等场景非常有用。

    Java_批量导出大数据量Excel方法

    在Java开发中,批量导出大数据量的Excel文件是一项常见的任务,特别是在数据分析、报表生成或者数据交换等场景。为了高效地处理这种情况,开发者需要掌握一些关键技术和策略。本篇文章将详细探讨如何使用Java来实现...

    java生成excel 文档

    Java生成Excel文档是一种常见的数据导出需求,尤其在企业级应用和数据分析中广泛使用。Apache POI 是一个流行的开源库,专门用于读取、写入和修改Microsoft Office格式的文件,包括Excel(.xlsx和.xls)文档。在这个...

    excel生成Java源代码.zip

    这个压缩包可能包含一个或多个Java类,实现了将Excel数据转换为Java源代码的功能,或者反之,用Java源代码生成Excel文件。 描述中的“Java excel 源代码”进一步确认了这个压缩包内容,意味着我们将找到用Java编写...

    java生成并下载excel

    6. **性能优化**:处理大量数据时,注意使用`SXSSFWorkbook`替代`XSSFWorkbook`,因为前者基于内存,后者基于磁盘。`SXSSFWorkbook`可以处理更大的数据集,因为它只在内存中保留一部分数据,其余的写入磁盘。 7. **...

    java多线程导出excel(千万级别)优化

    Java多线程导出Excel是处理大数据量时的一种高效策略,尤其在面对千万级别的数据时。传统的Apache POI库在处理大规模数据时可能会遇到栈溢出(StackOverflowError)和内存溢出(OutOfMemoryError)等问题,因为这些...

    java excel大数据量导出demo,可支持模板导出

    这个Java demo提供了一种实用的方法来处理Excel大数据量导出的问题,它适用于那些需要高效、稳定地处理大量数据并生成Excel报告的业务场景。通过深入理解并实践这个示例,开发者可以更好地掌握Apache POI的流式API,...

    Java导出数据到Excel文件中(支持多表头)

    在代码实现中,我们需要创建一个`SXSSFWorkbook`对象,它是一个内存优化的Excel工作簿,可以处理大量数据。接着,我们创建`SXSSFSheet`作为工作簿中的工作表,并设置表头。一级表头可以通过`createRow`方法创建行并...

Global site tag (gtag.js) - Google Analytics