我在使用Apache POI版本3.15(目前最新的稳定的非beta版本)时遇到了一个奇怪的错误,我的互联网搜索没有显示任何其他人有这个错误。我试图简单地加粗一个单元格,例如:
Workbook wb = new HSSFWorkbook();
HSSFFont font = wb.createFont();
font.setBold(true);
我已经遇到了一个问题,它声称工作簿创建的字体不是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);
我有点迷失了 我试过3.17、4.0.0和5.0.0版。 或 我无法获得没有弃用或类型错误的代码:-( 我将Eclipe与Maven和Java11一起使用。在版本发布之后,我做了“更新项目”来更新Maven。
现在我有一个docx文件,我加载到 我可以看到存储在style中的不同样式的当前字体大小。通过做xml 我想用poi更新字体大小,所以我试了一下 但是,在完成上述代码后,如果我使用第一段代码检查文档的字体大小(object),字体大小仍然是原始值,而不是我想要设置的12。 对于如何解决这个问题,有什么建议吗?
在xlsx工作簿中,有些单元格具有一些无界的SUMIF公式,如下所示:。使用ApachePOI5.0.0对一个SUMIF函数的评估持续100ms,对给定工作簿的评估持续几分钟。 提高执行持续时间的一种方法是将公式绑定到如下内容:。在我的情况下,这不是一个解决方案,因为我不是xlsx文件的作者,系统从未知的人那里获取未知的xlsx文件(因此我不能仅仅告诉他们限制SUMIF范围)。 的当前实现迭代给定
在执行此代码时,它在线程"main"java.lang.NoClassDefFoundError: org/apache/Commons/math3/util/ArithmeticUtils在org.apache.poi.poifs.property.RootProperty.set大小(RootProperty.java:59)在org.apache.poi.poifs.property.Dir
我正在尝试用ApachePOI创建甜甜圈图,但没有任何信息或示例。我尝试使用饼图的例子,但没有成功。你能帮我解决这个问题吗?
如何使用Apache POI使整个excel行单元格加粗文本? 例如: 列标题应该用粗体。与其为标题行的每个单元格应用样式,我如何将一些样式应用于整行?