Java/Apache POI-如何更改/设置特定单元格中的字体大小?

Java/Apache POI-如何更改/设置特定单元格中的字体大小?,java,apache-poi,Java,Apache Poi,我想更改工作表中单元格中已确定数据的字体大小。假设单元格是第26列的第2行。从射程的角度来说,那就是:Z2。字体大小为11。例如,我想把字体大小改为72 如何进行此操作?POI HSSF字体类有两种字体大小设置方法: -以1/20点为单位设置字体高度 -以点为单位设置字体高度 在大多数情况下,使用setFontHeightInPoints是最简单的方法,Javadocs推荐使用这种方法。但是,它只能处理整数字体高度。这是大多数字体大小,但不是全部 要将字体高度设置为7.5,您需要将代码改为:

我想更改工作表中单元格中已确定数据的字体大小。假设单元格是第26列的第2行。从射程的角度来说,那就是:
Z2
。字体大小为11。例如,我想把字体大小改为72


如何进行此操作?

POI HSSF字体类有两种字体大小设置方法:

  • -以1/20点为单位设置字体高度
  • -以点为单位设置字体高度
在大多数情况下,使用setFontHeightInPoints是最简单的方法,Javadocs推荐使用这种方法。但是,它只能处理整数字体高度。这是大多数字体大小,但不是全部

要将字体高度设置为7.5,您需要将代码改为:

xtFont.setFontHeight((short)(7.5*20));

使用1/20点大小的替代字体,以便处理非整数值。

您可以使用现有字体(在工作表或工作簿中)并按原样使用,也可以更改字体并将其定义为新字体。实际活动字体如下所示:(其中newCell是要修改的单元格)

要更改字体及其任何属性,请执行以下操作:

Font newFont = newCell.getSheet().getWorkbook().createFont();
     newFont.setBold(true);
     newFont.setColor(10);
     newFont.setFontHeightInPoints(72);
     newFont.setItalic(false);
     // ... etc.
您可以设置很多属性,当然,这只是一个示例。但是您仍然没有完成,现在需要将您刚刚创建/找到的字体绑定到您想要的实际单元格

CellStyle cellStyle = newCell.getSheet().getWorkbook().createCellStyle();
cellStyle.setFont(newFont);
..或者使用(在方法创建新样式时,另一个修改单元格中已存在的样式):


实际上是单元格中填写的数据。字体大小是11,我怎样才能改成72?例如,您想更改字体大小,而不是单元格大小?确切地说,我更新了我的问题使用较大的单元格大小创建字体,使用该字体创建单元格样式,然后将单元格样式应用于您希望更大的单元格?好的,我必须创建字体,对吗?但是怎么能把这个字体设置到我的手机上呢?我现在有了!我需要将样式设置为
setFont(myfont)
。我不知道。
CellStyle cellStyle = newCell.getSheet().getWorkbook().createCellStyle();
cellStyle.setFont(newFont);
CellUtil.setFont(newCell, newFont);