准备工作
注意:点击查看官网Demo
1. 引入pom依赖
<!--easyExcel--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> </dependency>
2. 实现功能
- 结合Vue前端,实现浏览器页面直接导出日志文件
- 实现文件的导入
Excel文件下载
3. 日志实体类
实体类里有自定义转换器:用于Java类型数据和Excel类型数据的转换,非常使用。结合注解,可以非常方便的进行Excel文件导出。
/** * <p> * 操作日志信息 * </p> * * @author horse * @since 2020-09-08 * 注意: 实体类中如果使用@Accessory(chain=true),那么导入的数据无法填充到实例中,导出数据不受影响 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("tb_operational_log") @ApiModel(value = "OperationalLog对象", description = "操作日志信息") public class OperationalLog implements Serializable { private static final long serialVersionUID = 1L; @ExcelProperty({"操作日志", "日志ID"}) @ApiModelProperty(value = "日志ID") @TableId(value = "id", type = IdType.ASSIGN_ID) private String id; @ExcelProperty({"操作日志", "操作类型"}) @ApiModelProperty(value = "操作类型") private String operType; @ExcelProperty({"操作日志", "操作描述"}) @ApiModelProperty(value = "操作描述") private String operDesc; @ExcelProperty({"操作日志", "操作员ID"}) @ApiModelProperty(value = "操作员ID") private String operUserId; @ExcelProperty({"操作日志", "操作员名称"}) @ApiModelProperty(value = "操作员名称") private String operUserName; @ExcelProperty({"操作日志", "操作方法"}) @ApiModelProperty(value = "操作方法") private String operMethod; @ExcelProperty({"操作日志", "请求方法"}) @ApiModelProperty(value = "请求方法") private String operRequWay; @ExcelProperty(value = {"操作日志", "请求耗时:单位-ms"}, converter = CustomRequestTimeConverter.class) @ApiModelProperty(value = "请求耗时:单位-ms") private Long operRequTime; @ExcelProperty({"操作日志", "请求参数"}) @ApiModelProperty(value = "请求参数") private String operRequParams; @ExcelProperty({"操作日志", "请求Body"}) @ApiModelProperty(value = "请求Body") private String operRequBody; @ExcelProperty({"操作日志", "请求IP"}) @ApiModelProperty(value = "请求IP") private String operRequIp; @ExcelProperty({"操作日志", "请求URL"}) @ApiModelProperty(value = "请求URL") private String operRequUrl; @ExcelProperty(value = {"操作日志", "日志标识"}, converter = CustomLogFlagConverter.class) @ApiModelProperty(value = "日志标识: 1-admin,0-portal") private Boolean logFlag; @ExcelProperty({"操作日志", "操作状态"}) @ApiModelProperty(value = "操作状态:1-成功,0-失败") @TableField(value = "is_success") private Boolean success; @ExcelIgnore <b>本文来源gao@!dai!ma.com搞$$代^@码!网</b>@ApiModelProperty(value = "逻辑删除 1-未删除, 0-删除") @TableField(value = "is_deleted") @TableLogic(value = "1", delval = "0") private Boolean deleted; @ExcelProperty(value = {"操作日志", "创建时间"}, converter = CustomTimeFormatConverter.class) @ApiModelProperty(value = "创建时间") private Date gmtCreate; }