qq_39955352 2018-11-23 03:14 采纳率: 5.6%
浏览 3290
已结题

poi怎么只改变单元格填充颜色,不改变原先的字体,边框格式?

图片说明

        int firstRowNum = wsheet.getFirstRowNum();
        int lastRowNum = wsheet.getLastRowNum();

        Row row = null;
        Cell cell_a = null;
        CellStyle style=wbModule.createCellStyle();

        style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 
        style.setFillForegroundColor(HSSFColor.RED.index); 
        for (int i = firstRowNum+1; i <= lastRowNum; i++) {
            row = wsheet.getRow(i);          //取得第i行
            cell_a = row.getCell(10);        //取得i行的第10列
            String cellValue = cell_a.getStringCellValue();
            if("".equals(cellValue)){
                cell_a.setCellStyle(style);
            }

            }


                    如图,我只想改变当前表格内容为空的填充颜色,可是边框和字体都改变了,怎么让保持以前,只改变颜色
  • 写回答

4条回答 默认 最新

  • Salted-fish 2019-08-21 11:55
    关注

    你们的cellStyle都是整列的style.
    如果要取得的单独的单元格style。应该这样
    cellStyle = cell.getRow().getSheet().getWorkbook().createCellStyle();
    cellStyle.cloneStyleFrom(cell.getCellStyle());
    cell.setCellStyle(cellStyle);
    cell.setCellValue(*);

    这么久了,楼主应该不回来了。就是希望能帮到后来人吧!

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?