FILL_BACKGROUND_COLOR,
INDENTION,
DATA_FORMAT,
- FONT,
ROTATION
)));
+ private static final Set<String> intValues = Collections.unmodifiableSet(
+ new HashSet<>(Arrays.asList(
+ FONT
+ )));
private static final Set<String> booleanValues = Collections.unmodifiableSet(
new HashSet<>(Arrays.asList(
LOCKED,
for (final String key : src.keySet()) {
if (shortValues.contains(key)) {
dest.put(key, getShort(src, key));
+ } else if (intValues.contains(key)) {
+ dest.put(key, getInt(src, key));
} else if (booleanValues.contains(key)) {
dest.put(key, getBoolean(src, key));
} else if (borderTypeValues.contains(key)) {
wb1.close();
}
+
+ /**
+ * bug 63268
+ * @since POI 4.1.0
+ */
+ @Test
+ public void setFontShouldNotCreateDuplicateStyle() throws IOException {
+ Workbook wb1 = _testDataProvider.createWorkbook();
+ Cell c = wb1.createSheet().createRow(1).createCell(1);
+ Font f = wb1.createFont();
+
+ CellUtil.setFont(c, f);
+ int num1 = wb1.getNumCellStyles();
+
+ CellUtil.setFont(c, f);
+ int num2 = wb1.getNumCellStyles();
+ assertEquals(num1, num2);
+ wb1.close();
+ }
}