Badwomann 2019-09-16 16:10 采纳率: 0%
浏览 411
已采纳

poi 校验单元格数据 不满足 上色加批注, 没报错的地方也会上色.

图片说明

如果不满足正则 上色 加批注 这俩都是在一个方法里 错误的地点都有批注,
但是debug看 别的单元格没出错也没进入到方法里 但是上色了...

下面我这个设置背景色方法出问题了么 大佬们...


   //设置单元格颜色
    private static void setUp(Cell cell, int row, int column, XSSFSheet sheetAt) {

        Drawing draw = sheetAt.createDrawingPatriarch();

        if (column == 12) {
            Comment comment = draw.createCellComment(new XSSFClientAnchor(255, 125, 1023, 150, row + 1, column - 1, row + 2, column + 4));

            comment.setString(new XSSFRichTextString("字数不可超过255"));//设置批注内容

            cell.setCellComment(comment);
        } else {
            Comment comment = draw.createCellComment(new XSSFClientAnchor(255, 125, 1023, 150, row + 1, column - 1, row + 2, column + 4));

            comment.setString(new XSSFRichTextString("单元格内容支持小数或整数"));//设置批注内容

            cell.setCellComment(comment);
        }

        CellStyle cellStyle = cell.getCellStyle();

        cellStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());

        cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);

        cell.setCellStyle(cellStyle);
    }
  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2019-09-16 16:37
    关注

    CellStyle cellStyle = cell.getCellStyle();这是获取的 cellStyle 后面设置了颜色和填充方式。
    而后面 if 和 else 分支都使用该 Style 重新设置了 cell ,所以无论是那一列都设置了当前单元格前景色为黄色。
    需要检查下你的业务逻辑,这里看来是 对所有的列都重新设置了 cell style 只是 12 列和其他列的 comment 内容不一样。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘