我试图在excel电子表格上获取标题的字体大小,但一直未能获取。我试着用下面的来获得尺寸,但是我没有得到尺寸。以下这些都不适用于我,因为它返回的字体大小不正确。headerfont.getfontheight();headerfont.getfontheightinpoints();有什么建议吗?
下面是我的代码:
try {
FileInputStream file = new FileInputStream(new File(fileName));
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(1);
int numRows = sheet.getLastRowNum() + 1;
int numCols = sheet.getRow(0).getLastCellNum();
Iterator<Row> rowIterator = sheet.iterator();
for (int i = 0; i < 1; i++) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
for (int j = 0; j < numCols; j++) {
Cell cell = cellIterator.next();
Font headerFont = workbook.createFont();
headerFontFamily = headerFont.getFontName();
headerFont.getFontHeight();
headerFont.getFontHeightInPoints();
}
}
file.close();
} catch (Exception e) {
}
1条答案
按热度按时间3okqufwl1#
你需要从单元格中获取字体。字体是单元格样式的一部分。单元格样式可以通过
Cell.getCellStyle
. 然后使用的字体的索引可以作为short
通过CelStyle.getFontIndex
或作为int
通过CelStyle.getFontIndexAsInt
或作为int
通过CelStyle.getFontIndex
取决于apache poi
使用的版本。后者利用电流工作5.0.0
版本。完整示例:
注意:这只在单元格只有一种字体时有效。如果单元格包含富文本字符串,则每个格式化文本运行都有字体。那么
RichTextString
需要得到和遍历。这要复杂得多,需要做不同的工作HSSF
以及XSSF
.