JAVA导出Excel Poi导出 使用EasyPoi 简化导出详解。。。。

        工作中遇到一个需求让导出excel,看了下同事用的基础的POI,又写了工具类、业务类又new对象 一百多行代码 emmm....!

        相信小伙伴们工作中应该或多或少应该都会遇到这个问题,或者感觉有兴趣的小伙伴也可以参考一下;poi导出的工具有很多,今天这期的我会使用EasyPoi只需几行代码就可以搞定。。。

        首先第一步打开Idea...(这不废话嘛)    咳咳..(认真) 第一步导入依赖。。

<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-base</artifactId>
    <version>3.2.0</version>
</dependency>

        不知道大家有没有遇到过这个问题,idea依赖导进去有时候会报红。。emmm..不知道大家怎么解决的 反正我的解决办法就是重启idea... 如果是微服务的话,一定要看idea右侧的maven里面他们都把一些依赖放哪,你就跟大部队。再看一下服务之间有没有引用就行啦。

        第二步就是实体类啦,这里由于我的项目里的比较难懂,我们模拟一下吧....

//这这注解,就是就等于 get set方法 想要了解的话,可以查一下
@Data
public class User(){

//这个注解里面的name=""就是你想要的excel的列明
@excel(name="姓名")
private Sting name;

@excel(name="性别")
private Sting sex;

@excel(name="年龄")
private Sting age;

}

        第三步了,肯定是写dao了,有的也叫mapper...  其实一个鸟样;你可以带条件去查询,前端传值就OK了,我这里写的就不写条件了。

public interface UserDao extends BaseMapper<User> {

List<User> selectAll();
}

        如果你要是带条件查询的话,一定不要忘记加 在条件前面加 @Param("")...别问我为什么提醒你们(是我一朋友忘记写的,不是我啊,不是我...)

        第四部就是要写mapper.xml映射文件了。。

<resultMap id="UserMap" type="com.dao.UserDao">
        <result column="Name" property="name"/>
        <result column="Age" property="age"/>
        <result column="Sex" property="sex"/>

    </resultMap>
  <select id="selectAll" resultMap="UsreMap">
    select * from User

    </select>

       第五步肯定是service,马上就要完成了。。。

public interface UserService{


List<User> selectUser();

}

        第六步业务类了,你想写一些功能逻辑,就看你们自己啦...

//这里不要忘记加这个注解
@Service
public class UserServiceImpl implements UserServie {

//这个注解是spring容器中找到类型为UserDao的类,然后将其注入进来。
@Autowired
    private UserDao userdao;


 @Override
    public List<User> electUser(){
    
    reuter userdao.selectAll();
}



}

第七部,最重要的一步来了。

@RestController
//前端访问这个控制器的路径
@RequestMapping(value = "User")
public class PricePlanExportController {

//这个上面说过啦,就不说了
@Autowired
    private UserService userService;

//这是访问这个接口的路径
@GetMapping(value = "excel")

//response是Servlet.service方法的一个参数,想要具体了解的家人们可以去查一下。
//我们这里抛出IO异常
public void UserExcle(HttpServletResponse response)throws IOException{

        //System.out.println("设置文件名,格式,编码集");
        response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("这里写excel的名字.xls", "utf-8"));
        response.setContentType("application/vnd.ms-excel");

        //new个时间戳,方便看用了多长时间
        Date start = new Date();

        //这里获取你想要查的数据    
        List<User> userList=userService.selectSser();

        ExportParams exportParams = new ExportParams("你的excle表信息名", "userList(上面所有数据的返回值)");
        Workbook workbook = ExcelExportUtil.exportExcel(exportParams, User(实体类).class, userList);
        workbook.write(response.getOutputStream());

        System.out.println(new Date().getTime() - start.getTime()+"计时结束");

    }
}

OK了,这个简约而不简单的poi导出excel就写完了,希望能帮到家人们。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值