- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通用数据库导入导出excel
需求:在实际J2EE项目中,经常遇到需要导入导出excel文件的情况
解决方案: 利用java的annotation,自定义一个annotation ,在声明pojo的时候对需要
操作字段的属性进行声明
然后,通用的处理类根据运行时,读取annotation 相关信息,解析
需要资源: poi3.6 jdk1.5以上
对于导入,读入是一个excel文件,输出一个listpojo ,如果你用hibernate操作的话
相当方便
对于导出,你需要组织一个Listpojo传入,将得到一个excel
对于annotation可以自己扩展,也可以裁掉不需要的,excel文件合法性校验需要自己写
以下仅供参考:
1.自定义一个annotation
package mon.excel.parser;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Excel {
//导入时,对应数据库的字段 主要是用户区分每个字段,不能有annocation重名的
//导出时的列名 导出排序跟定义了annotation的字段的顺序有关
public String exportName();
//导出时在excel中每个列的宽 单位为字符,一个汉字=2个字符
//如 以列名列内容中较合适的长度 例如姓名列6 【姓名一般三个字】 性别列4【男女
占1,但是列标题两个汉字】
//限制1-255
public int exportFieldWidth();
//导出时是否进行字段转换 例如 性别用int存储,导出时可能转换为 男,女
//若是sign为1,则需要在pojo中加入一个方法 get字段名Convert()
//例如,字段sex ,需要加入 public String getSexConvert() 返回值为string
//若是sign为0,则不必管
public int exportConvertSign();
//导入数据是否需要转化 及 对已有的excel,是否需要将字段转为对应的数据
//若是sign为1,则需要在pojo中加入 void set字段名Convert(String text)
public int importConvertSign();
}
2.声明对应的pojo,进行每个字段的注解
package com.huateng.test.pojo;
import java.text.SimpleDateFormat;
import java.util.Date;
import mon.excel.parser.ConvertUtil;
import mon.excel.parser.Excel;
public class Student {
@Excel(exportName=姓名
,exportFieldWidth=18,exportConvertSign=0,importConvertSign=0)
private String name;
@Excel(exportName=年龄
,exportFieldWidth=4,exportConvertSign=0,importConvertSign=0)
private Integer age;
@Excel(exportName=性别
,exportFieldWidth=4,exportConvertSign=1,importConvertSign=1)
private Integer sex;
@Excel(exportName=出生日期
,exportFieldWidth=20,exportConvertSign=1,importConvertSign=1)
private Date birthDate;
@Excel(exportName=描述
,expor
您可能关注的文档
- 2015《全国计算机等级考试》试题题库及答案.doc
- 2015第9章计算机多媒体技术.doc
- 2015房地产建筑成本及建积规范.doc
- 2015房地产经纪人实务模拟试卷.doc
- 2015考研政治精炼归纳复习要点.doc
- 2015年5月公共营养师三级真题.doc
- 2015年版的mysql+apache+php Linux装置指南——php教程[整理版].doc
- 2015年产业集聚区提升行动计划提升专项工作方案.doc
- 2015年工作计划_0.doc
- 2015年教学工作计划24.doc
- 小学语文教学情境感知技术融合下的阅读理解能力提升研究教学研究课题报告.docx
- 校外实践活动中的学生数字素养与批判性思维能力培养研究教学研究课题报告.docx
- 初中语文现代诗歌创意写作教学策略教学研究课题报告[001].docx
- 自清洁设备生产线项目初步设计.docx
- 高中物理教学资源智能推荐系统中的可解释性研究与实践教学研究课题报告.docx
- 2023年甘肃省陇南市康县王坝乡招聘社区工作者真题及完整答案详解1套.docx
- 初中物理教学跨媒体资源整合与实验操作技能提升策略教学研究课题报告.docx
- 数字素养教育背景下小学数字资源批判性使用能力评价体系构建与应用教学研究课题报告.docx
- 人工智能辅助下的高中历史教学创新研究教学研究课题报告.docx
- 《老年患者术后认知功能障碍的预防与康复治疗策略研究进展与预防康复策略》教学研究课题报告.docx
文档评论(0)