对org.apache. poi.s. .usermodel. cell多次应用setCellStyle的效果是什么?



我找到的文档没有解决这个问题。我认为调用cell.setCellStyle(a)和cell.setCellStyle(b)将完全覆盖样式a并应用样式b。然而,它似乎同时应用了这两种风格,因为这两种风格并不冲突。这是预期行为还是魔法?

下面是setCellStyle()的源代码:

 public void setCellStyle(CellStyle style) {
     if(style == null) {
         if(_cell.isSetS()) _cell.unsetS();
     } else {
         XSSFCellStyle xStyle = (XSSFCellStyle)style;
         xStyle.verifyBelongsToStylesSource(_stylesSource);
         long idx = _stylesSource.putStyle(xStyle);
         _cell.setS(idx);
     }
 }

_cellorg.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell类型,我在网上找不到源代码。但是,由于对_cell.setS(idx)的调用只传递一个索引,因此API看起来不够丰富,无法支持样式合并。我强烈怀疑你的第二个样式具有你所看到的所有属性。

最新更新