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;
    }

测试

相关推荐
Y***K43414 小时前
TypeScript模块解析
前端·javascript·typescript
ZhengEnCi14 小时前
P3H0-Python-os模块完全指南-操作系统接口与文件路径处理利器
python·操作系统
JarvanMo14 小时前
Xcode 没人想解决的问题:为什么苹果对平庸感到满意
前端
草莓熊Lotso14 小时前
Git 本地操作进阶:版本回退、撤销修改与文件删除全攻略
java·javascript·c++·人工智能·git·python·网络协议
Ka1Yan14 小时前
[数组] - LeetCode 704. 二分查找
java·开发语言·算法·leetcode·职场和发展
想看一次满天星14 小时前
阿里140-语雀逆向分析
javascript·爬虫·python·语雀·阿里140
合作小小程序员小小店14 小时前
web网页开发,在线%餐饮点餐%系统,基于Idea,html,css,jQuery,java,ssm,mysql。
java·前端·数据库·html·intellij-idea·springboot
SimonKing14 小时前
IntelliJ IDEA 2025.2.x的小惊喜和小BUG
java·后端·程序员
曾帅16814 小时前
idea springboot开发编译所见即所得应用不需要重启
java·spring boot·intellij-idea
鹏多多15 小时前
HTML的Video从基础使用到高级实战+兼容的完全指南
前端·javascript·vue.js