读取excel表格数据,把数据导出到excel,复制即用

本文展示了如何利用EasyExcel库进行文件上传和下载。在上传部分,实现了读取MultipartFile对象中的Excel文件,转换为指定类型的列表并进行数据库操作。在下载部分,通过设置响应头,查询数据并使用EasyExcel将数据写入到Excel文件中供用户下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EasyExcel

导入依赖

   <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>easyexcel</artifactId>
        <version>2.2.6</version>
    </dependency>

文件上传

    @PostMapping("/api/fileupload/filebatch.do")
    @ResponseBody
    public R save(MultipartFile file) throws IOException {
        if (!file.isEmpty()) {
            //获取文件名称
            String fn = file.getOriginalFilename();
            System.out.println(fn);
            if (fn.endsWith("xls") || fn.endsWith(".xlsx")) {
                //
                List<Test> list = EasyExcel.read(file.getInputStream(), Test.class, null).sheet("Sheet1").doReadSync();
                list.stream().forEach(e-> System.out.println(e));
                System.out.println("批量导入:" + list.size());
                            //操作数据库 实现批量新增
                return R.setOK(list);

            }
        }
        return R.setERROR("亲,请上传内容,格式只支持:excel表格");
    }

文件下载

  //文件下载 导出全部的数据
 @GetMapping("/api/fileupload/fileexport.do")
 public void download(HttpServletResponse response) throws IOException {
     //1.设置下载的响应头信息
     response.setContentType("application/vnd.ms-excel");
     response.setCharacterEncoding("utf-8");
     String fileName = URLEncoder.encode("测试" + System.currentTimeMillis(), "UTF-8");
     response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
     //2.查询要下载的数据
     List<Student> list = studentService.list();
     //3.生成数据
     EasyExcel.write(response.getOutputStream(), Student.class).sheet("导出用户" + System.currentTimeMillis()).
             doWrite(list);

 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值