excel导出单元格文字内容超长

文章讨论了在使用easyExcel导出数据时遇到的内容过长覆盖其他单元格的問題。通过提供代码示例,展示了如何设置单元格格式,包括关闭自动换行,设置水平和垂直对齐方式,以及使用特定的样式策略来避免内容重叠。最终实现了双击时内容换行显示的效果。

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

一、easyExcel导出单元格内容太长覆盖其他单元格

如下图:
在这里插入图片描述
期望:导出来打开因该是这样
在这里插入图片描述

二、代码

/**
     * 导出Excel
     */
    @GetMapping("/export")
    @RequestLog("随访记录信息导出Excel")
    @ApiOperation(value = "随访记录信息导出", notes = "请求头需携带有效token")
    public void export(FollowUpRecordReq req, HttpServletResponse response) {
        final List<FollowUpRecordPageRep> list = followUpRecordService.export(req);
        try (final ServletOutputStream os = response.getOutputStream()) {
            response.setCharacterEncoding("UTF-8");
            response.setContentType("application/octet-stream;charset=UTF-8");
            final String fileName = String.format("随访记录-%s.xlsx", DateTime.now().toString("yyyyMMddHHmm"));
            final String encodeFileName = URLEncoder.encode(fileName, "UTF-8");
            response.setHeader("Content-Disposition", String.format("attachment;filename=%s", encodeFileName));
            //设置单元格格式
            WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
            //设置 自动换行不开启
//            contentWriteCellStyle.setWrapped(true);
            //设置 水平对齐方式为常规
            contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.GENERAL);
            //设置 垂直对齐方式为靠下
            contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.BOTTOM);


            // 这个策略是 头是头的样式 内容是内容的样式 其他的策略可以自己实现
            HorizontalCellStyleStrategy horizontalCellStyleStrategy =
                    new HorizontalCellStyleStrategy(null,contentWriteCellStyle);
            EasyExcel.write(os, FollowUpRecordPageRep.class)
                    .registerWriteHandler(ExcelStyleUtils.getCellStyle())
//                    .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
                    .registerWriteHandler(horizontalCellStyleStrategy)
                    .sheet("随访记录")
                    .doWrite(list);
        } catch (Exception e) {
            log.error("导出随访记录失败", e);
            throw new BizException("导出随访记录失败", e);
        }
    }

三、效果:双击时换行显示

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐睡睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值