栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot+easypoi初尝试

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot+easypoi初尝试

在日常开发中,经常会遇到要操作Excel的功能,本文尝试一种新的方式,easypoi实现Excel导入导出,让一个不懂导入导出的人也能快速使用POI完成Excel的各种操作。
maven依赖


            cn.afterturn
            easypoi-spring-boot-starter
            4.4.0
        
        
            org.projectlombok
            lombok
            true
        

实体类

@Data
@EqualsAndHashCode(callSuper = false)
public class Member {

    @Excel(name = "ID", width = 10)
    private Long id;

    @Excel(name = "用户名", width = 20, needMerge = true)
    private String username;

    private String password;

    @Excel(name = "昵称", width = 20, needMerge = true)
    private String nickname;

    @Excel(name = "出生日期", width = 20, format = "yyyy-MM-dd")
    private Date birthday;

    @Excel(name = "手机号", width = 20, needMerge = true, desensitizationRule = "3_4")
    private String phone;

    private String icon;

    @Excel(name = "性别", width = 10, replace = {"男_0", "女_1"})
    private Integer gender;
}

导出

@RequestMapping(value = "/exportMemberList2", method = RequestMethod.GET)
    public void exportMemberList2(HttpServletRequest request, HttpServletResponse response) {
        List memberList = new ArrayList<>();
        Member member1 = new Member();
        member1.setId(11L);
        member1.setUsername("caocao");
        member1.setBirthday(new Date());
        member1.setGender(0);
        member1.setNickname("mengde");
        member1.setPhone("13912345678");
        Member member2 = new Member();
        member2.setId(12L);
        member2.setUsername("liubei");
        member2.setBirthday(new Date());
        member2.setGender(1);
        member2.setNickname("xuande");
        member2.setPhone("13912345678");
        memberList.add(member1);
        memberList.add(member2);
        ExportParams params = new ExportParams("会员列表", "会员列表", ExcelType.XSSF);
        Map map = new HashMap<>();
        map.put(NormalExcelConstants.DATA_LIST, memberList);
        map.put(NormalExcelConstants.CLASS, Member.class);
        map.put(NormalExcelConstants.PARAMS, params);
        map.put(NormalExcelConstants.FILE_NAME, "自定义");
        PoibaseView.render(map, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);
    }

导入

@RequestMapping(value = "/importMemberList2", method = RequestMethod.POST)
    public Object importMemberList2(@RequestPart("file") MultipartFile file) {
        importParams params = new importParams();
        params.setTitleRows(1);
        params.setHeadRows(1);
        try {
            List list = ExcelimportUtil.importExcel(file.getInputStream(), Member.class, params);
            for (Member member : list) {
                System.out.println(member.toString());
            }
            return "导入成功.";
        } catch (Exception e) {
            e.printStackTrace();
            return "导入失败.";
        }
    }

导出结果如下

导入结果如下

具体复杂用法还需自行理解。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/354372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号