`

excel导入导出组件设计

阅读更多

这是我设计的excel导入导出组件,使用java 编写,通过xml文件的配置,来设置excel到java bean的映射。关键(配置)文件:ExcelModeMappingl.xml。

之前一直为excel的导入导出烦恼,每写一次都感觉是“重复造轮子”,代码很繁琐,可移植性特别差。终于下决心写一个可重用性很高的组件,专门解决“重复造轮子”的问题。

 

xml配置文件名称:ExcelModeMappingl.xml

内容(示例):

<?xml version="1.0" encoding="UTF-8" ?>

<models>

     <model id="deptModel" class="com.test.excel.jn.model.DeptModel"<!--[if !supportAnnotations]-->[huangwei1]<!--[endif]--> >

         <property name<!--[if !supportAnnotations]-->[huangwei2]<!--[endif]--> ="deptName" column="1" excelTitleName="部门名称" dataType="String" maxLength="15"   default=""/>

         <property name="deptCode" column="2" excelTitleName<!--[if !supportAnnotations]-->[huangwei3]<!--[endif]--> ="部门编号" dataType="String" maxLength="15"   default="abc"/>

         <property name="sendFileName" column="4" excelTitleName="发文简称" dataType="String" maxLength="15" isConvertable="true"  default<!--[if !supportAnnotations]-->[huangwei4]<!--[endif]--> ="C">

         <map>

              <entry excel_key="永久" bean_value="c"></entry>

              <entry excel_key="长期1" bean_value="send_1"></entry>

              <entry excel_key="长期2" bean_value="send_2"></entry>

              <entry excel_key="长期3" bean_value="send_3"></entry>

              <entry excel_key="长期4" bean_value="send_4"></entry>

              <entry excel_key="长期5" bean_value="send_5"></entry>

         </map>

         </property>

         <property name="sendDate" column="3" excelTitleName="时间" dataType="Date" format="yyyyMMdd HH:mm:ss" maxLength="15"  default="10"/>

     </model>

    

</models>

这个文件有两个作用,(1)用于有excel文件转化为beans;(2)用于把beans转化为excel

<!--[if !supportLists]-->(1)    <!--[endif]--> default只有在excel转为java beans才有效;在java beans转化为excel时无效。

excel中的单元格中无内容,则采用default指定的值;

<!--[if !supportLists]-->(2)     <!--[endif]-->column只有在从java bean导出excel时才有效,表示excel中列(表头)的顺序,取值范围为[1,2,3……]

<!--[if !supportLists]-->(3)    <!--[endif]-->dataTypeDate,则多出一个属性format,例如format=”yyyy-MM-dd”;导入导出excel时都有效

<!--[if !supportLists]-->(4)    <!--[endif]-->isConvertable的值为true,则有map节点,否则则不会读取xml 配置文件中的map节点;

<!--[if !supportLists]-->(5)    <!--[endif]-->map说明:excel_key 表示excel单元格中的值,而bean_value则表示java bean中对应属性的值。

<!--[if !supportLists]-->(6)    <!--[endif]-->dataType只允许有两种取值[Date, String];

<!--[if !supportLists]-->(7)    <!--[endif]-->此配置文件采用UTF-8编码;

 

xml配置文件 各标签的说明

标签名称

含义

示例

model

定义一个java beanexcel的映射(mapping

 

class

model的属性,必须的。指定java bean的类路径

例如com.kunlunsoft.model.Student

property

java bean中的成员变量

 

name

property标签的属性,指定java bean的成员变量名称

 

excelTitleName

excel文件中表头的名称,与name是一一映射的。

 

dataType

数据类型,分为String Date,目前就这两种,int,float统一归于String类型

 

format

如果类型是Date,则可以指定该属性,用于日期的格式化

format="yyyyMMdd HH:mm:ss"

maxLength

预留的,目前没有使用

 

default

默认值。excel文件转化为java bean时,excel单元格为空,则设置java bean对应属性值为该默认值

 

isConvertable

是否需要转化。比如java bean中的值为[yes,no],而对应的excel中的值为[是,否],这就需要使用一个map来进行映射

<map><entry excel_key="" bean_value="yes"></entry>

                            <entry excel_key="" bean_value="no"></entry></map>

 

 

 

 

 

 

 

 

 

 

 

 

<!--[if !supportAnnotations]-->
<!--[endif]-->
<!--[if !supportAnnotations]-->
<!--[endif]--><!--[if !supportAnnotations]--><!--[endif]-->

 <!--[if !supportAnnotations]-->[huangwei1]<!--[endif]-->这是实体类

<!--[if !supportAnnotations]-->
<!--[endif]-->
<!--[if !supportAnnotations]-->
<!--[endif]--><!--[if !supportAnnotations]--><!--[endif]-->

 <!--[if !supportAnnotations]-->[huangwei2]<!--[endif]-->实体类中的属性名称

<!--[if !supportAnnotations]-->
<!--[endif]-->
<!--[if !supportAnnotations]-->
<!--[endif]--><!--[if !supportAnnotations]--><!--[endif]-->

 <!--[if !supportAnnotations]-->[huangwei3]<!--[endif]-->excel文件中的表头名称

<!--[if !supportAnnotations]-->
<!--[endif]-->
<!--[if !supportAnnotations]-->
<!--[endif]--><!--[if !supportAnnotations]--><!--[endif]-->

 <!--[if !supportAnnotations]-->[huangwei4]<!--[endif]-->excel中的单元格为空,则转化为java bean时,采用默认值

 

详见附件。

<!--[if !supportAnnotations]-->
<!--[endif]-->
2
2
分享到:
评论

相关推荐

    基于NPOI的强类型Excel导入导出组件

    总结来说,"基于NPOI的强类型Excel导入导出组件"是一个高效且易于使用的工具,它借助NPOI库的强大功能,结合强类型设计,使得在C#中处理Excel数据变得更加便捷和安全。通过理解和应用这个组件,开发者可以提升工作...

    excel导入导出组件(java)

    这是我设计的excel导入导出组件,使用java 编写,通过xml文件的配置,来设置excel到java bean的映射。关键(配置)文件:ExcelModeMappingl.xml。 之前一直为excel的导入导出烦恼,每写一次都感觉是“重复造轮子”,...

    excel导入导出通用组件

    这是一个利用poi封装的excel导入导出通用组件,详细用法请访问:http://fuyangrong.top/2018/01/29/excel导入导出通用组件/

    导入导出组件.rar

    "导入导出组件.rar"可能是一个包含Java库或者代码示例的压缩包,旨在帮助开发者实现Excel文件的数据交互。以下将详细讲解Java中进行Excel导入和导出的关键知识点: 1. **Java POI库**:Java POI是Apache软件基金会...

    java_poi实现excel导入导出

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

    易语言EXCEL快速导入导出

    本示例将详细介绍如何利用易语言进行EXCEL快速导入导出的操作。 首先,我们需要了解易语言中与Excel相关的基础组件和函数。易语言提供了一个名为“通用数据访问组件”的模块,其中包含了读取和写入Excel文件所需的...

    易语言EXCEL数据导入导出

    首先,我们要理解易语言中的“EXCEL数据导入导出”涉及的主要知识点。易语言提供了与Microsoft Excel交互的API接口或库,如COM组件,允许程序员通过调用Excel对象模型的方法来操作Excel文件。在易语言中,我们可以...

    J2EE项目开发Excel导入导出操作组件源代码(附带说明文档).rar

    本组件专注于解决这一问题,提供了一套完整的J2EE项目开发中进行Excel导入导出的解决方案。以下是关于这个组件的详细知识点: 1. **Excel文件格式**: - Excel文件主要基于两种格式:`.xls`(老版本,Excel 97-...

    一个通用从数据库导出excel、excel导入数据库组件所用到的jar包

    标题中的“一个通用从数据库导出excel、excel导入数据库组件所用到的jar包”指的是一个Java开发的工具,主要用于数据的导入导出操作。这个工具可以方便地将数据库中的数据导出为Excel格式,同时也可以将Excel文件中...

    C# Excel 导入导出

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

    J2EE项目开发Excel导入导出操作组件源代码

    通过这个J2EE项目开发的Excel导入导出操作组件源代码,开发者可以获得一个完整的解决方案,学习如何在J2EE环境中有效地处理Excel数据。同时,源代码和说明文档的结合,也为自定义和扩展功能提供了便利。

    易语言excel导出导入模块

    总结来说,易语言excel导出导入模块提供了在易语言环境中便捷处理Excel数据的工具,对于需要处理大量结构化数据的程序开发,这个模块是一个非常实用的组件。通过对源码的学习和实践,开发者可以提升在数据处理方面的...

    POI实现Excel导入导出并附带加载进度条

    总之,这个项目是一个完整的Java解决方案,用于处理Excel文件的导入导出,同时具备用户友好的进度条显示。它利用了Apache POI的强大功能,结合maven的依赖管理,以及可能的GUI组件,提供了高效且直观的数据操作体验...

    Struts2 Excel导入导出数据

    在Struts2中,要实现Excel导入导出,我们需要以下组件: 1. **Apache POI库**:这是一个用于读写Microsoft Office格式文件的Java库,包括Excel。我们可以用它来创建、修改和读取Excel文件。 2. **Struts2 Action**...

    atiexcel-一个EXCEL导入导出组件

    **atiexcel** 是一款专为开发者设计的EXCEL导入导出组件,它简化了在应用程序中处理Excel数据的工作流程,提供了高效且灵活的接口来读取、写入和操作Excel文件。这款组件对于那些需要频繁与Excel交互的业务系统特别...

    Warship+NPOI导入导出组件(源代码+示例)

    1.Warship定位:Warship是一款基于NPOI的优秀的Excel导入导出组件,基于实体、特性、注入、多线程、IOC实现Excel的导入和导出,是一款使用方便、扩展性强、性能优良的组件,开发者不需要关注如何操作NPOI,只需要对...

    文件读写 Excel导入导出

    本文将深入探讨Excel文件的导入导出以及File读写操作,适用于各种版本的Excel。 首先,让我们了解一下Excel文件的导入与导出。在编程环境中,我们经常需要将数据从Excel文件加载到程序中,或者将程序处理后的结果...

    excel导入导出资源引擎

    综合以上,"Excel导入导出资源引擎"是企业级应用中一个重要的组件,它使得在无Office环境的情况下也能高效、准确地处理Excel数据,提升了系统的灵活性和效率。通过深入理解并掌握其工作原理和使用方法,我们可以更好...

    QT 高效 导入导出excel , tableWidget显示

    以上就是QT高效导入导出Excel并使用tableWidget显示的基本流程和优化策略。实际开发时,根据项目需求和资源限制,可能还需要进行额外的错误处理和功能完善。这个程序虽然不完善,但提供了清晰的开发思路,有助于快速...

    Springboot+Poi实现Excel的导入导出

    本项目结合了Spring Boot、MyBatis、Apache POI和MySQL,实现了Excel数据的导入导出功能,这对于数据处理和分析尤其有用。下面我们将深入探讨这些技术及其在项目中的应用。 首先,Spring Boot以其“约定优于配置”...

Global site tag (gtag.js) - Google Analytics