java - Apache POI 字体问题

标签 java excel apache fonts apache-poi

我在使用 Apache POI 版本 3.15(目前是最新的稳定的非 beta 版本)时遇到了一个奇怪的错误,并且我的互联网搜索没有显示其他任何人都出现此错误。我试图简单地将单元格加粗,例如:

Workbook wb = new HSSFWorkbook();
HSSFFont font = wb.createFont();
font.setBold(true);

我已经遇到了一个问题,它声称工作簿正在创建的字体不是 HSSFFont,而是一些普通字体:

incompatible types: Font cannot be converted to HSSFFont

我尝试创建普通字体并将其应用到 CellStyle,但是在将其添加到 cellStyle 时会导致 nullPointerException。我很茫然。

最佳答案

wb.createFont() 返回一个 org.apache.poi.ss.usermodel.Font,但是如果您检查 Font< 的运行时类 它返回,它实际上是一个 HSSFFont。您可以尝试转换为 HSSFFont 或仅将其作为 Font 访问:

final Workbook wb = new HSSFWorkbook();

final HSSFFont hssfFont = (HSSFFont)wb.createFont();
hssfFont.setBold(true);

final Font font = wb.createFont();
font.setBold(true);

关于java - Apache POI 字体问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41108183/

相关文章:

c# - 如何在 Excel 中使用正确的列打开 CSV 文件

apache - 简单的 goaccess 日志解析不起作用

java - 在 Java 中将 long 分配给 Long

java - 奇怪的 org.springframework.jdbc.BadSqlGrammarException

java - java 中与 ENUM 不兼容的映射条目

java - session 关闭前全局临时表在 Tomee 上融合

excel - 强制字符串变量为英国日期格式

excel - 条件格式设置隐藏单元格内容,即使在打印时也是如此

regex - 301 将非 www 和 www 重定向到新域,但排除主页/root

ruby-on-rails - 没有要加载的文件 -- bundler/setup