springboot实现导出excel

  1. 添加maven依赖
  2. 编写要导出的类
  3. 去数据库查询要导出的数据
  4. 调用接口导出数据

添加maven依赖

  <!-- 导出excel       -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.1.5</version>
        </dependency>

编写导出的excel的表的实体类


import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode
public class AddMoney {
    @ExcelProperty("用户")
    private String username;
    @ExcelProperty("充值时间")
    private String date;
    @ExcelProperty("充值金额")
    private int usermoney;
}

编写使用mybatis-plus到数据库中查询表

 private List<AddMoney> getAddMoney() {
        List<Changemoney> AddMoney = changemoneyService.exportexcelChangeMoney();
        List<AddMoney> list = ListUtils.newArrayList();
        for (int i = 0; i < AddMoney.size(); i++) {
            AddMoney data = new AddMoney();
            data.setUsername(AddMoney.get(i).getUsername());
            data.setDate(AddMoney.get(i).getCreatedate());
            data.setUsermoney(AddMoney.get(i).getAddmoney());
            list.add(data);
        }
        return list;
    }

编写接口并调用

    @GetMapping("exportExcelAddMoney")
    public void exportExccelAddMoney(HttpServletResponse response) throws IOException {
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setCharacterEncoding("utf-8");
        String fileName = URLEncoder.encode("充值情况", "UTF-8").replaceAll("\\+", "%20");
        List<AddMoney> list = getAddMoney();
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
        EasyExcel.write(response.getOutputStream(),
                AddMoney.class).sheet("充值情况").doWrite(list);

    }

实操测试 点击链接会实现导出excel的功能
http://162.14.107.118:8086/PC/exportExcelAddMoney

Spring Boot实现导出Excel的功能可以使用Apache POI库。以下是一个简单的例子,展示了如何使用Spring Boot和Apache POI来导出Excel文件: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Controller public class ExcelController { @GetMapping("/export") public void exportExcel(HttpServletResponse response) throws IOException { // 创建工作簿 Workbook workbook = new XSSFWorkbook(); // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建行 Row headerRow = sheet.createRow(0); // 设置表头 Cell headerCell = headerRow.createCell(0); headerCell.setCellValue("姓名"); // 创建数据行 Row dataRow = sheet.createRow(1); // 设置数据 Cell dataCell = dataRow.createCell(0); dataCell.setCellValue("张三"); // 设置响应头 response.setHeader("Content-Disposition", "attachment; filename=example.xlsx"); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // 将工作簿写入响应流 workbook.write(response.getOutputStream()); // 关闭工作簿 workbook.close(); } } ``` 在上面的代码中,我们创建了一个`ExcelController`类,并在其中定义了一个`exportExcel`方法来处理导出Excel的请求。我们使用Apache POI库创建工作簿、工作表和单元格,并设置相应的数据。最后,我们设置响应头,将工作簿写入响应流,并关闭工作簿。 请注意,上述代码只是一个简单的示例,你可以根据自己的需求进行调整和扩展。另外,确保在项目的依赖中包含了Apache POI库的相关依赖项。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值