如何在Java,Apache POI中获取excel单元字段的字体样式?

时间:2016-06-08 19:58:39

标签: java excel fonts apache-poi

我想在Java中捕获excel中单元格字段的字体。我正在使用Apache POI。如果可能,我想抓取font-colorfont-familyfont-weightfont-size等。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

根据评论

进行编辑

您可以参考XSSFCellStyle,从中可以获得XSSFFont。使用它,您可以获得XSSFColorgetFontName()getFamily()以及getFontHeight()getFontHeightInPoints()

基于我使用的示例单元格:

XSSFCellStyle cs = cell.getCellStyle();
XSSFFont font = cs.getFont();

//Getting Font color
XSSFColor color = font.getXSSFColor();
System.out.println("Font color : " + color.getARGBHex());
//==>   FF00B0F0

//Getting Font name
System.out.println("Font name : " + font.getFontName());
//==>   Arial

//Getting Font family name
FontFamily family = FontFamily.valueOf(((XSSFFont) font).getFamily());
System.out.println("Font family : " + family);
//==>   SWISS

//Getting Font family int
System.out.println("Font family in int : " + font.getFamily());
//==>   2

//Getting Font height
System.out.println("Font FontHeight : " + font.getFontHeight());
//==>   280

//Getting Font height in point
System.out.println("Font height in point : " + font.getFontHeightInPoints());
//==>   14

//Getting Font bold weight  
System.out.println("Font BoldWeight : " + font.getBoldweight());
//==>   700

答案 1 :(得分:0)

我在Groovy中有它,但是原理应该相似:

p1.then(() => {
  p3 = p2.then()
  p4 = p3.then()
  p5 = p4.then()
  return p5
}).then(/* p5 */)