Hutool的excel工具的简单使用(快速入门)

发布于:2023-04-27 ⋅ 阅读:(2457) ⋅ 点赞:(2)

1.导入pom依赖

	<!--hutool-->
		<dependency>
			<groupId>cn.hutool</groupId>
			<artifactId>hutool-all</artifactId>
			<version>5.7.20</version>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>4.1.2</version>
		</dependency>

2.创建Controller使用测试

导出测试:

   @GetMapping("/export")
    public void export(HttpServletResponse response) throws IOException {
        //查询所有用户
        List<SysUser> list=sysUserService.list();
        //在内存操作,写到浏览器
        ExcelWriter writer= ExcelUtil.getWriter(true);
        //默认配置
        writer.write(list,true);
        //设置content—type
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset:utf-8");
        //设置标题
        String fileName= URLEncoder.encode("用户信息","UTF-8");
        //Content-disposition是MIME协议的扩展,MIME协议指示MIME用户代理如何显示附加的文件。
        response.setHeader("Content-Disposition","attachment;filename="+fileName+".xlsx");
        ServletOutputStream outputStream= response.getOutputStream();
        //将Writer刷新到OutPut
        writer.flush(outputStream,true);
        outputStream.close();
        writer.close();
    }

测试结果

导入测试

 /**
     * 导入excel
     * @param file
     */
    @PostMapping("/import")
    public void importExcel(MultipartFile file) throws IOException {
        //1.第一种 头必须和实体一样
        //文件处理成io流
        InputStream in=file.getInputStream();
        //io流给ExcelReader
        ExcelReader excelReader=ExcelUtil.getReader(in);
        //读取数据且转化为list
        List<SysUser> list=excelReader.readAll(SysUser.class);
        //2.第二种导入方式
        //忽略第一行头
       /* List<List<Object>> list=excelReader.read(1);
        List<SysUser> listUser= CollUtil.newArrayList();
        for (List<Object> row: list) {
            SysUser user=new SysUser();
            user.setUsername(row.get(0).toString());
            *//*****类似一一对应*****//*
        }*/
        //批量注册进数据库
        sysUserService.saveBatch(list);
    }

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到