「starter推荐」简单高效Excel导出工具

编程

spring boot stater依赖

  • 方便在 web 环境下使用 easyexcel ,已上传至 maven 仓库

<dependency>

<groupId>com.pig4cloud.excel</groupId>

<artifactId>excel-spring-boot-starter</artifactId>

<version>0.0.2</version>

</dependency>

使用方法

只需要在 Controller 层返回 List 并增加 @ResponseExcel注解即可

@Documented

@Target(ElementType.METHOD)

@Retention(RetentionPolicy.RUNTIME)

public @interface ResponseExcel {

String name() default "";

ExcelTypeEnum suffix() default ExcelTypeEnum.XLSX;

String password() default "";

String[] sheet() default {};

boolean inMemory() default false;

String template() default "";

String[] include() default {};

String[] exclude() default {};

Class<? extends WriteHandler>[] writeHandler() default {};

Class<? extends Converter>[] converter() default {};

}

基础用法

  • 返回单 sheet, 全部字段导出

@ResponseExcel(name = "lengleng", sheet = "demoList")

@GetMapping("/e1")

public List<DemoData> e1() {

List<DemoData> dataList = new ArrayList<>();

for (int i = 0; i < 100; i++) {

DemoData data = new DemoData();

data.setUsername("tr1" + i);

data.setPassword("tr2" + i);

dataList.add(data);

}

return dataList;

}

// 实体对象

@Data

public class DemoData {

private String username;

private String password;

}

  • 自定义字段属性

@Data

public class DemoData {

@ColumnWidth(50) // 定义宽度

@ExcelProperty("用户名") // 定义列名称

@ContentStyle(fillPatternType = FillPatternType.SOLID_FOREGROUND, fillForegroundColor = 40)

private String username;

@ExcelProperty("密码")

private String password;

}

  • 忽略部分字段

@Data

public class DemoData {

@ColumnWidth(50) // 定义宽度

@ExcelProperty("用户名") // 定义列名称

@ContentStyle(fillPatternType = FillPatternType.SOLID_FOREGROUND, fillForegroundColor = 40)

private String username;

@ExcelProperty("密码")

private String password;

}

导出多sheet

@ResponseExcel(name = "lengleng", sheet = {"第一个sheet","第二个sheet"})

@GetMapping("/e1")

public List<List<DemoData>> e1() {

List<List<DemoData>> lists = new ArrayList<>();

lists.add(list());

lists.add(list());

return lists;

}

设置导出加密码

	@ResponseExcel(name = "lengleng", sheet = "sheetName",password = "lengleng")

@GetMapping("/e1")

public List<List<DemoData>> e1() {

List<List<DemoData>> lists = new ArrayList<>();

lists.add(list());

lists.add(list());

return lists;

}

高级用法模板导出

@ResponseExcel(name = "模板测试excel", sheet = "sheetName",template = "example.xlsx")

@GetMapping("/e1")

public List<DemoData> e1() {

return list();

}

其他用法

  • 理论上支持 alibaba/easyexcel v2.1.6 版本的大部分配置
  • 支持 alibaba/easyexcel 原生的配置注解
  • github stater 地址,可fork 魔改

项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注

以上是 「starter推荐」简单高效Excel导出工具 的全部内容, 来源链接: utcz.com/z/514946.html

回到顶部