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

测试

相关推荐
yuki_uix几秒前
HTTP 缓存策略:新鲜度与速度的权衡艺术
前端·面试
哈撒Ki1 分钟前
快速入门 Dart 语言
前端·flutter·dart
小芝麻咿呀1 分钟前
边缘计算网关-EG8200Mini导轨版
java·人工智能·边缘计算
qq_372906933 分钟前
如何用 JavaScript 实现单选式盒子颜色切换(点击高亮,其余复原)
jvm·数据库·python
2401_897190554 分钟前
怎样使用Navicat高级特权进行还原时解决字符集冲突_企业数据保护
jvm·数据库·python
ZC跨境爬虫7 分钟前
3D 地球卫星轨道可视化平台开发 Day5(简介接口对接+规划AI自动化卫星数据生成工作流)
前端·人工智能·3d·ai·自动化
毛骗导演7 分钟前
Claude Code Agent 实现原理深度剖析
前端·架构
weixin_580614008 分钟前
c++文件锁使用方法 c++如何实现多进程文件同步
jvm·数据库·python
qq_330037998 分钟前
如何转换数据文件字节序_CONVERT DATAFILE用于跨OS平台数据库迁移
jvm·数据库·python
Mr_pyx9 分钟前
【LeetCodeHOT100】 160. 相交链表 —— Java多解法详解
java·数据结构·链表