Java整合EasyExcel实战——2 导出复杂表头

详情代码

实体类

java 复制代码
@Data
public class ComplexHeadData {
    @ExcelProperty({"主标题", "字符串标题"})
    private String string;
    @ExcelProperty({"主标题", "日期标题"})
    private Date date;
    @ExcelProperty({"主标题", "数字标题"})
    private Double doubleData;
}

Controller层

java 复制代码
@RestController
@RequestMapping("/ex/test")
public class DemoMergeDataController {

    @GetMapping("/getTestDemo")
    public R getTestDemo(HttpServletResponse response) throws IOException {
        //        extracted(response);

// 定义导出的Excel文件名
        String fileName = "ComplexHeadData.xlsx";

// 设置响应的内容类型为二进制流,这是文件下载的标准设置
        response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);

// 设置响应头的Content-Disposition,使用"attachment"指示浏览器这是一个需要下载的文件,
// 并使用URLEncoder对文件名进行编码处理,确保文件名的兼容性跨平台和浏览器
        response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode(fileName, String.valueOf(StandardCharsets.UTF_8)));

        EasyExcel.write(response.getOutputStream(),ComplexHeadData.class).sheet().doWrite(data());

        return R.success();
    }
    //写入数据生成
    private List<ComplexHeadData> data() {
        List<ComplexHeadData> list = new ArrayList<ComplexHeadData>();
        for (int i = 0; i < 10; i++) {
            ComplexHeadData data = new ComplexHeadData();
            data.setString("字符串" + i);
            data.setDate(new Date());
            data.setDoubleData(0.56);
            list.add(data);
        }
        return list;
    }

测试

相关推荐
数据杂坛5 分钟前
【Python程序开发系列】实例方法、类方法(@classmethod)、静态方法(@staticmethod)有什么区别
python·课程设计·python语法
志尊宝8 分钟前
Vue3 零基础每日笔记(052):路由常见坑一次排雷——404、刷新丢参数、部署白屏
前端·javascript·vue.js·笔记·html5
linux_cfan10 分钟前
videojs v10 源代码系列解读:13 · 能力型媒体契约:`Media` 的组合接口
前端·javascript·音视频
程序员阿鹏10 分钟前
简单介绍一下软引用
java·开发语言·jvm·数据结构·后端
涛涛ing15 分钟前
2026年9月,前端圈同时发生了四件事,指向同一个方向
前端
正经教主15 分钟前
【FDE系列】阶段2:Day 31:SQL 基础 — 增删改查一把梭
人工智能·python·fde
leihefeng15 分钟前
PX04-用 Python 读 Excel 画折线图,还能直接插回 Excel 文件
python·excel
Mr.朱鹏20 分钟前
Docker三剑客实战指南:Docker、Dockerfile 和 Docker Compose
python·docker·devops·dockerfile
SL_staff23 分钟前
项目延期时如何用四类角色机制实现责任锚定?一线技术实践拆解
java·低代码·团队管理
05664623 分钟前
用大模型构建答疑机器人:从 API 调用到上下文工程
python·学习·agent