若依导出excel,设置单元格格式为文本

在使用若依框架的时候,我发现若依导出excel,会出现身份证这一列显示正常,但是如果修改
后,会变成计数。那么这时候需要手动去修改格式为文本。

方法一:只对有数据的行设置文本格式

代码实现该功能:在ExcelUtil.java中,修改箭头所指向的代码,改成红框里面的内容即可。这时的效果是将所有有数据的行的单元格(除了表头),都设置成了文本。

 代码如下:

 // 创建 CellStyle 对象并设置格式为文本
 CellStyle textStyle = wb.createCellStyle();
 DataFormat format = wb.createDataFormat();
 textStyle.setDataFormat(format.getFormat("@"));
 // 设置单元格内容居中对齐
 textStyle.setAlignment(HorizontalAlignment.CENTER);
 textStyle.setVerticalAlignment(VerticalAlignment.CENTER);
 // 将文本格式的 CellStyle 应用到单元格
 cell.setCellStyle(textStyle);

方法二:对没有数据的空白行设置文本格式。

修改ExcelUtil.Java下的createHeadCell方法,参数添加一个表头列数,并添加红框内的样式代码,即可实现。

注意其他用到createHeadCell的地方,需要传递过来这个参数。

代码实现:

         // 创建 CellStyle 对象并设置格式为文本
        CellStyle textStyle = wb.createCellStyle();
        DataFormat format = wb.createDataFormat();
        textStyle.setDataFormat(format.getFormat("@"));

        // 设置单元格内容居中对齐
        textStyle.setAlignment(HorizontalAlignment.CENTER);
        textStyle.setVerticalAlignment(VerticalAlignment.CENTER);
        // 设置表头下的每一列的单元格格式为文本,行数为200条
        for (int i = 1; i < 200; i++) {
            row = sheet.createRow(i);
            for(int j = 0; j < size; j++){
                Cell cell1 = row.createCell(j);
                cell1.setCellStyle(textStyle);
            }
        }

使用方法一和方法二结合,即可实现导出excel的表头所对应的列格式为文本格式。

最后,制作不易,也是我花了两天时间才搞出来。如果这篇文章帮助到了你,希望留个赞。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值