Java 如何更改XSSFCellStyle中的字体大小?
我使用以下方法定义工作表的单元格样式。然后我使用Java 如何更改XSSFCellStyle中的字体大小?,java,apache-poi,Java,Apache Poi,我使用以下方法定义工作表的单元格样式。然后我使用cell.setCellStyle(XSSFCellStyle)将它们分配给不同的单元格。 然而,尽管对齐和背景色分配正确,字体大小和字体强调(粗体、规则)却不正确。所有单元格都有11个加粗点。我想知道我的错误在哪里 private void createStyles() { ueberschrift = workbook.createCellStyle(); ueberschrift.setAlignment(Horizontal
cell.setCellStyle(XSSFCellStyle)
将它们分配给不同的单元格。
然而,尽管对齐和背景色分配正确,字体大小和字体强调(粗体、规则)却不正确。所有单元格都有11个加粗点。我想知道我的错误在哪里
private void createStyles() {
ueberschrift = workbook.createCellStyle();
ueberschrift.setAlignment(HorizontalAlignment.LEFT);
ueberschrift.getFont().setFontHeightInPoints((short) 25);
ueberschrift.getFont().setBold(true);
header = workbook.createCellStyle();
header.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
header.setFillPattern(FillPatternType.SOLID_FOREGROUND);
header.setAlignment(HorizontalAlignment.CENTER);
header.getFont().setFontHeightInPoints((short)11);
standard_text = workbook.createCellStyle();
standard_text.setAlignment(HorizontalAlignment.RIGHT);
standard_text.getFont().setFontHeightInPoints((short) 11);
standard_int = workbook.createCellStyle();
standard_int.setDataFormat(
workbook.createDataFormat().getFormat("0.0"));
standard_int.setAlignment(HorizontalAlignment.RIGHT);
standard_int.getFont().setFontHeightInPoints((short)11);
standard_time = workbook.createCellStyle();
standard_time.setDataFormat(workbook.createDataFormat().getFormat("# ?/?"));
standard_time.setAlignment(HorizontalAlignment.RIGHT);
}
您的问题在于以下代码片段:
ueberschrift.getFont().setFontHeightInPoints((short) 25);
ueberschrift.getFont().setBold(true);
您使用一个getter,并根据其结果进行设置。但实际上,您设置的是对象的属性,而不是对象本身
相反,您应该尝试以下方法:
font = ueberschrift.getFont();
font.setFontHeightInPoints((short) 25);
font.setBold(true);
ueberschrift.setFont(font);
相同的模式适用于您尝试设置字体的位置 您应该尝试下面的代码
cellc1.setCellStyle(cellStyle);
XSSFFont font = wb.createFont();
font =cellStyle.getFont();
font.setFontHeightInPoints((short)25);
font.setColor(IndexedColors.BLUE.getIndex());
font.setColor(IndexedColors.YELLOW.GOLD.getIndex());
cellStyle.setFont(font);
相同的模式适用于您尝试设置字体的位置