Excel注解新增 dateFormat日期格式/readConverterExp读取内容转表达式

master
RuoYi 6 years ago committed by Limy
parent 1585388ba7
commit da076af1e8

@ -18,6 +18,16 @@ public @interface Excel
* Excel. * Excel.
*/ */
public abstract String name(); public abstract String name();
/**
* , : yyyy-MM-dd
*/
public abstract String dateFormat() default "";
/**
* (: 0=,1=,2=)
*/
public abstract String readConverterExp() default "";
/** /**
* *

@ -6,9 +6,9 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -37,7 +37,6 @@ import org.slf4j.LoggerFactory;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.base.AjaxResult; import com.ruoyi.common.base.AjaxResult;
import com.ruoyi.common.config.Global; import com.ruoyi.common.config.Global;
import com.ruoyi.common.utils.StringUtils;
/** /**
* Excel * Excel
@ -334,31 +333,28 @@ public class ExcelUtil<T>
// 创建cell // 创建cell
cell = row.createCell(j); cell = row.createCell(j);
cell.setCellStyle(cs); cell.setCellStyle(cs);
try if (vo == null)
{ {
if (String.valueOf(field.get(vo)).length() > 10) // 如果数据存在就填入,不存在填入空格.
{ cell.setCellValue("");
throw new Exception("长度超过10位就不用转数字了"); continue;
}
// 如果可以转成数字则导出为数字类型
BigDecimal bc = new BigDecimal(String.valueOf(field.get(vo)));
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(bc.doubleValue());
} }
catch (Exception e)
String dateFormat = attr.dateFormat();
String readConverterExp = attr.readConverterExp();
if (StringUtils.isNotEmpty(dateFormat))
{
cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) field.get(vo)));
}
else if (StringUtils.isNotEmpty(readConverterExp))
{
cell.setCellValue(convertByExp(String.valueOf(field.get(vo)), readConverterExp));
}
else
{ {
cell.setCellType(CellType.STRING); cell.setCellType(CellType.STRING);
if (vo == null) // 如果数据存在就填入,不存在填入空格.
{ cell.setCellValue(field.get(vo) == null ? "" : String.valueOf(field.get(vo)));
// 如果数据存在就填入,不存在填入空格.
cell.setCellValue("");
}
else
{
// 如果数据存在就填入,不存在填入空格.
cell.setCellValue(field.get(vo) == null ? "" : String.valueOf(field.get(vo)));
}
} }
} }
} }
@ -455,6 +451,35 @@ public class ExcelUtil<T>
sheet.addValidationData(dataValidationList); sheet.addValidationData(dataValidationList);
return sheet; return sheet;
} }
/**
* 0=,1=,2=
*
* @param propertyValue
* @param converterExp
* @return
* @throws Exception
*/
public static String convertByExp(String propertyValue, String converterExp) throws Exception
{
try
{
String[] convertSource = converterExp.split(",");
for (String item : convertSource)
{
String[] itemArray = item.split("=");
if (itemArray[0].equals(propertyValue))
{
return itemArray[1];
}
}
}
catch (Exception e)
{
throw e;
}
return propertyValue;
}
/** /**
* *

@ -45,7 +45,7 @@ public class SysJob extends BaseEntity implements Serializable
private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT; private String misfirePolicy = ScheduleConstants.MISFIRE_DEFAULT;
/** 任务状态0正常 1暂停 */ /** 任务状态0正常 1暂停 */
@Excel(name = "任务状态") @Excel(name = "任务状态", readConverterExp = "0=正常,1=暂停")
private String status; private String status;
public Long getJobId() public Long getJobId()

@ -39,7 +39,7 @@ public class SysJobLog extends BaseEntity
private String jobMessage; private String jobMessage;
/** 执行状态0正常 1失败 */ /** 执行状态0正常 1失败 */
@Excel(name = "执行状态") @Excel(name = "执行状态", readConverterExp = "0=正常,1=失败")
private String status; private String status;
/** 异常信息 */ /** 异常信息 */

@ -31,7 +31,7 @@ public class SysConfig extends BaseEntity
private String configValue; private String configValue;
/** 系统内置Y是 N否 */ /** 系统内置Y是 N否 */
@Excel(name = "系统内置") @Excel(name = "系统内置", readConverterExp = "Y=是,N=否")
private String configType; private String configType;
public Long getConfigId() public Long getConfigId()

@ -42,11 +42,11 @@ public class SysDictData extends BaseEntity
private String listClass; private String listClass;
/** 是否默认Y是 N否 */ /** 是否默认Y是 N否 */
@Excel(name = "是否默认") @Excel(name = "是否默认", readConverterExp = "Y=是,N=否")
private String isDefault; private String isDefault;
/** 状态0正常 1停用 */ /** 状态0正常 1停用 */
@Excel(name = "状态") @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
public Long getDictCode() public Long getDictCode()

@ -27,7 +27,7 @@ public class SysDictType extends BaseEntity
private String dictType; private String dictType;
/** 状态0正常 1停用 */ /** 状态0正常 1停用 */
@Excel(name = "状态") @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
public Long getDictId() public Long getDictId()

@ -24,7 +24,7 @@ public class SysLogininfor extends BaseEntity
private String loginName; private String loginName;
/** 登录状态 0成功 1失败 */ /** 登录状态 0成功 1失败 */
@Excel(name = "登录状态") @Excel(name = "登录状态", readConverterExp = "0=成功,1=失败")
private String status; private String status;
/** 登录IP地址 */ /** 登录IP地址 */
@ -48,7 +48,7 @@ public class SysLogininfor extends BaseEntity
private String msg; private String msg;
/** 访问时间 */ /** 访问时间 */
@Excel(name = "访问时间") @Excel(name = "访问时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date loginTime; private Date loginTime;
public Long getInfoId() public Long getInfoId()

@ -24,7 +24,7 @@ public class SysOperLog extends BaseEntity
private String title; private String title;
/** 业务类型0其它 1新增 2修改 3删除 */ /** 业务类型0其它 1新增 2修改 3删除 */
@Excel(name = "业务类型") @Excel(name = "业务类型", readConverterExp = "0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据")
private Integer businessType; private Integer businessType;
/** 请求方法 */ /** 请求方法 */
@ -32,7 +32,7 @@ public class SysOperLog extends BaseEntity
private String method; private String method;
/** 操作类别0其它 1后台用户 2手机端用户 */ /** 操作类别0其它 1后台用户 2手机端用户 */
@Excel(name = "操作类别") @Excel(name = "操作类别", readConverterExp = "0=其它,1=后台用户,2=手机端用户")
private Integer operatorType; private Integer operatorType;
/** 操作人员 */ /** 操作人员 */
@ -60,7 +60,7 @@ public class SysOperLog extends BaseEntity
private String operParam; private String operParam;
/** 操作状态0正常 1异常 */ /** 操作状态0正常 1异常 */
@Excel(name = "状态") @Excel(name = "状态", readConverterExp = "0=正常,1=异常")
private Integer status; private Integer status;
/** 错误消息 */ /** 错误消息 */
@ -68,7 +68,7 @@ public class SysOperLog extends BaseEntity
private String errorMsg; private String errorMsg;
/** 操作时间 */ /** 操作时间 */
@Excel(name = "操作时间") @Excel(name = "操作时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date operTime; private Date operTime;
public Long getOperId() public Long getOperId()

@ -31,7 +31,7 @@ public class SysPost extends BaseEntity
private String postSort; private String postSort;
/** 状态0正常 1停用 */ /** 状态0正常 1停用 */
@Excel(name = "状态") @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
/** 用户是否存在此岗位标识 默认不存在 */ /** 用户是否存在此岗位标识 默认不存在 */

@ -31,11 +31,11 @@ public class SysRole extends BaseEntity
private String roleSort; private String roleSort;
/** 数据范围1所有数据权限2自定数据权限 */ /** 数据范围1所有数据权限2自定数据权限 */
@Excel(name = "数据范围") @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限")
private String dataScope; private String dataScope;
/** 角色状态0正常 1停用 */ /** 角色状态0正常 1停用 */
@Excel(name = "角色状态") @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
/** 删除标志0代表存在 2代表删除 */ /** 删除标志0代表存在 2代表删除 */

@ -43,7 +43,7 @@ public class SysUser extends BaseEntity
private String phonenumber; private String phonenumber;
/** 用户性别 */ /** 用户性别 */
@Excel(name = "用户性别") @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
private String sex; private String sex;
/** 用户头像 */ /** 用户头像 */
@ -56,7 +56,7 @@ public class SysUser extends BaseEntity
private String salt; private String salt;
/** 帐号状态0正常 1停用 */ /** 帐号状态0正常 1停用 */
@Excel(name = "帐号状态") @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
/** 删除标志0代表存在 2代表删除 */ /** 删除标志0代表存在 2代表删除 */
@ -67,7 +67,7 @@ public class SysUser extends BaseEntity
private String loginIp; private String loginIp;
/** 最后登陆时间 */ /** 最后登陆时间 */
@Excel(name = "最后登陆时间") @Excel(name = "最后登陆时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date loginDate; private Date loginDate;
/** 部门对象 */ /** 部门对象 */

Loading…
Cancel
Save