`
surelei
  • 浏览: 67869 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

excel导入导出

阅读更多
基于POI做了一个excel导入导出的小工具类。
主要功能是通过在一个实体类中配置注解,来映射excel文件的每一列,然后通过调用一个API来执行导入或导出的操作。
注解的例子如下(测试代码里有):

@ExcelMapping
public class ExcelDataSample {
    @CellMapping(name = "A", type = CellType.INT)
    private int id;
    @CellMapping(name = "B", type = CellType.LONG)
    private long length;
    @CellMapping(name = "C", type = CellType.STRING)
    private String code;
    @CellMapping(name = "D")
    private String name;//默认为STRING,所以可以不配置type
    @CellMapping(name = "E", type = CellType.DOUBLE)
    private double price;
    @CellMapping(name = "F", type = CellType.DATE)
    private Date date;
    ..............


附件是所有代码,包括测试代码,只测试了excel2003和2007,其他版本未测试。
代码通过MAVEN构建,所以附件不包括依赖的JAR文件,但是附带了pom文件。
pom文件中由于我使用了自己的maven服务器,所以请先将distributionManagement节点删除。
另外测试类ExcelUtilTest中测试用的文件路径写的是绝对路径,如果要运行测试代码,请修改该路径(path)。

写着玩的,功能比较简单,不支持公式、图片等高级应用,只是对春数据进行导入导出的操作,欢迎交流。

==================================================
可能有些同学不用maven的,我补张依赖jar文件的图。
==================================================
忘了说明了:基于JDK1.6
  • 大小: 31 KB
3
1
分享到:
评论
5 楼 surelei 2012-07-19  
kakaloto 写道
比如200m的excel,然后jvm1。5G,几个线程并发一下,各么转换为java对象的时候就暴掉了。。。有没有读一行处理一行的方法。。。。


我个人认为,其实真实业务处理时excel文件本身如果超大,比如上G了,就要拆分。如果是并发处理量高的,我会将excel处理的功能做成单独的服务,采用异步处理的方式,这样可以通过控制并发线程数量来限制住最大资源的使用量(比如内存)。

对于你说的逐行读取的方法,貌似POI是不行的,不知道有没有其他开源组件支持逐行读取。
如果你是windows平台,倒是有个不错的好方法,将excel文件配置成ODBC的数据源,通过sql读取,很方便,不过linux下就不能这么玩了。
4 楼 kakaloto 2012-07-18  
比如200m的excel,然后jvm1。5G,几个线程并发一下,各么转换为java对象的时候就暴掉了。。。有没有读一行处理一行的方法。。。。
3 楼 surelei 2012-07-18  
kakaloto 写道
不错-问问风小石,对于巨大的excel导入 有什么好办法不让内存暴掉伐?


不知道你说的巨大是多大?1G的excel么(如果有那么大的excel的话)?不知道你JVM配置的内存多大?
2 楼 kakaloto 2012-07-17  
不错-问问风小石,对于巨大的excel导入 有什么好办法不让内存暴掉伐?
1 楼 JetMah 2012-05-23  
这个思路非常好!!!

相关推荐

    asp将EXCEL导入导出数据库原程序

    这个"asp将EXCEL导入导出数据库原程序"提供了一个解决方案,能够方便地将Excel中的数据存入MSSQL数据库,同时也能将数据库中的数据导出到Excel文件。 首先,我们需要了解如何使用ASP连接MSSQL数据库。通常,这涉及...

    Thinkphp5整合excel导入导出

    Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel...

    Excel导入导出项目 简单的

    Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出

    java_poi实现excel导入导出

    Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...

    thinkhphp3.2 excel导入导出demo

    thinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel...

    Java POI EXCEL导入导出

    Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...

    excel导入导出性能优化

    在IT行业中,Excel导入导出性能优化是一个常见且重要的议题,尤其对于处理大量数据的应用程序。Excel文件格式广泛用于数据存储和分析,但其导入和导出操作可能会对系统性能产生显著影响,尤其是在高并发环境下。以下...

    Excel导入导出工具包

    万能的Excel导入导出工具. 支持从List中导出. 支持从List中导入导出. 支持从List里面还有List<POJO>>中导入导出. 支持导出类似课程表结构类型纵表. 支持国际化. 支持数据字典. 支持单元格中下拉框数据校验. 支持自动...

    excel 导入导出插件

    Excel导入导出插件是一种工具,它扩展了Excel的功能,使得用户能够方便地从电子表格中导入数据到其他系统,或者从外部数据源导出数据到Excel进行分析和处理。这种插件通常用于数据迁移、数据整合或数据分析,特别是...

    Excel导入导出封装

    针对Office 2003和Office 2007版本的Excel导入导出功能,开发者通常需要编写特定的代码来实现自动化操作。"Excel导入导出封装"是一个专门解决这一问题的测试类库,旨在简化这一过程,提高开发效率。 首先,我们要...

    Excel 导入导出 (asp.net/c#)

    标题"Excel 导入导出 (asp.net/c#)"所涉及的核心知识点主要包括Excel文件操作、C#编程以及ASP.NET web应用程序开发。下面我们将详细探讨这些主题。 1. **Excel文件操作**: - **Microsoft.Office.Interop.Excel**:...

    Java实现Excel导入导出

    Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....

    C# Excel 导入导出

    Excel导入导出是常见的需求,例如数据处理、报表生成和数据分析等。本篇文章将详细探讨C#如何实现Excel的导入导出功能。 首先,我们需要知道在C#中操作Excel有两种主要方式:一是使用Microsoft.Office.Interop....

    Excel导入导出

    在提供的压缩包文件中,可能包含已经封装好的方法和DLL,这些预封装的方法简化了Excel导入导出的过程,使得开发者可以直接调用,而无需关心底层的实现细节。这通常会提高开发效率,减少错误,并且便于代码维护。 ...

    普元导入导出用于Excel导入导出

    "普元导入导出"是普元信息公司提供的一个功能模块,主要应用于数据的批量导入与导出,尤其适用于与Excel文件的交互。这个功能在数据管理、数据分析以及日常业务处理中十分常见,因为它能够方便地将大量结构化数据在...

    Struts2 Excel导入导出数据

    在处理数据导入导出方面,Struts2提供了强大的支持,特别是与Excel文件的交互。本教程将深入探讨如何利用Struts2实现从Oracle数据库导出数据到Excel,以及如何将Excel文件中的数据导入到Oracle。 首先,我们需要...

    Java实现Excel导入导出操作详解.pptx.pptx

    Java实现Excel导入导出是Java开发中常见的任务,主要用于数据的批量处理和分析,尤其在数据分析、报表生成和数据备份等方面具有广泛应用。要熟练掌握这一技术,开发者需要了解Excel文件的结构,熟悉Java的文件操作,...

    Excel导入导出 jxl及Poi 工具类

    在Java开发中,处理Excel数据是一项常见的任务,无论是读取大量数据进行分析,还是批量导入导出信息。这里我们关注的是两个主要的库:jxl和Apache POI,它们都是用于处理Excel文件的强大工具。 首先,让我们深入...

    Java实现Excel导入导出功能

    在Java编程领域,实现Excel的导入导出功能是一项常见的任务,尤其在数据分析、报表生成以及数据交换等场景中。本文将深入探讨如何使用Java来处理Excel文件,包括读取、写入以及转换Excel数据。 首先,Java实现Excel...

Global site tag (gtag.js) - Google Analytics