jeecg输入中文查询导表为空_JEECG 通用数据库导入导出excel

本文档详细介绍了在J2EE项目中使用JEECG处理中文查询和导入导出Excel的问题。通过自定义注解,定义Excel字段属性,实现数据的便捷导入导出。内容涵盖注解定义、Model类、JSP页面、Action处理、Service及Util工具类的使用方法,提供了一套完整的解决方案。
摘要由CSDN通过智能技术生成

需求:在实际J2EE项目中,经常遇到需要导入导出excel文件的情况;

解决方案: 利用java的annotation,自定义一个annotation ,在声明pojo的时候对需要操作字段的属性进行声明,

然后通用的处理类运行时,读取annotation 相关信息进行解析。

对于导入,读入是一个excel文件,输出一个list ,如果你用hibernate操作的话相当方便。

对于导出,你需要组织一个List传入,将得到一个excel。

1、页面效果如下图所示:

2、自定义的Exel的annotation如下图所示:

@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();

}

3、model类如下图所示:

@Entity

@Table(name = "JEECG_TUSER", schema = "")

public class Tuser implements java.io.Serializable {

// Fields

private String cid;

@Excel(exportName="真实姓名", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private String realname;

@Excel(exportName="所属部门", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private String org;

@Excel(exportName="邮箱", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private String mail;

@Excel(exportName="手机", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private String mobile;

@Excel(exportName="用户类型", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private String usertype;

@Excel(exportName="状态", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private String status;

@Excel(exportName="创建时间", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private Date ccreatedatetime;

@Excel(exportName="修改时间", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private Date cmodifydatetime;

@Excel(exportName="用户名", exportConvertSign = 0, exportFieldWidth = 10, importConvertSign = 0)

private String cname;

@Excel(exportName="密码", exportConvertSign = 0, exportFieldWidth = 30, importConvertSign = 0)

private String cpwd;

}

4、jsp页面如下图所示:

function exportExcel(){

window.location.href="demoAction!exportExcel.action";

}

function importExcel(){

$('#excelForm').form({

success : function(result) {

try {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值