【无标题】

情景描述

今天使用Java进行Excel导出的使用到了Hutool的ExcelWriter功能进行导出。中间需要用到手动换行,网上找了很多资料,哪怕是用到bing的gpt,搜到的答案还是有点问题,好在最终看文档,找到了解决方案,这里记录一下。

表格Excel 手动换行

在导出Excel的时候,有点时候需要换行,使用Hutool导出的时候,其实只需要在换行的地方,添加字符串\r\n就可以了。
但是随之带来的问题呢,就是在生成Excel导出之后呢,默认的还是在一行。但是双击点击单元格的时候,就变成了自动分行。问题就在这里了,如何实现,让其在下载下来之后,打开就带有自动换行呢,需要进行单独的设置。

设置分行

分行代码块如下

        // 数据导出
        // 合并单元格后的标题行,使用默认标题样式
        ExcelWriter writer = ExcelUtil.getWriter(true); // new ExcelWriter(true);
        // 一次性写出内容,使用默认样式
        writer.setHeaderAlias(headerAlias1);
        writer.write(columList,true);
        //设置所有列为自动宽度,不考虑合并单元格
        writer.autoSizeColumnAll();
        // 设置手动换行
        writer.getStyleSet().setWrapText();
        writer.getHeadCellStyle().setWrapText(true);
        response.setContentType("application/vnd.ms-excel;charset=utf-8");
        //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
        String codedFileName = java.net.URLEncoder.encode("带车统计", "UTF-8");
        response.setHeader("Content-Disposition","attachment;filename="+ codedFileName + ".xls");
        writer.flush(response.getOutputStream());
        writer.autoSizeColumnAll(); // 自适应长度
        // 关闭writer,释放内存
        writer.close();

通过设置
writer.autoSizeColumnAll(); 方法设置,让单元格自动换行。
如果表头也需要换行,则需要设置表头的换行,可以使用
writer.getHeadCellStyle().setWrapText(true);来让表头换行。
这样,导出来的文件就能实现换行功能了。

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值