我正在使用一个 HSSF 工作簿作为另一个模板。由于它是如何工作的,如果您正在阅读本文,您可能知道,我不能简单地从工作簿 1 中获取一个单元格并将其样式设置为工作簿 2 中的 CellStyle。应该这样做的方式是 cloneStyleFrom 第二个风格。
但是,工作表中最多有 4000 种样式,因此我试图避免克隆无限数量的样式。因此,我正在检查我要克隆的样式是否等于我的工作簿中已经存在的任何样式。如果是,我只是使用已经存在的样式。如果不是,我从模板工作簿中克隆样式。
我正在使用下面定义的 equals 方法,它似乎并不关心样式来自哪个工作簿。
但是,当在所有这一切结束时,我会检查:
if ( !getCellStyle().equals(cell.getCellStyle()) ) {
System.out.println("Not equal to cloned style!");
} else {
System.out.println("Equal to cloned style.");
}
...输出表明样式不相等。
为什么是这样?
注意:使用 instanceof 验证两个对象都是 HSSFCellStyle 类型。