java poi excel 富文本粗体无效

java poi excel 设置单元格富文本 粗体无效解决办法_poi 设置富文本-CSDN博客

问题描述

需求:java导出excel模板,单元格需要设置字段名+备注,字段名加粗,备注不加粗。

方案:可以采用富文本RichTextString来实现设置部分字体加粗样式。

效果:打开下载的xlsx模板表格,没有展示加粗效果,设置部分标红可以,加粗没有效果。

原因分析

网上查找资料,寻求帮助,看到上述博文,场景确实是wps打开无加粗效果,按照方案进行修改。

解决方案

尝试上述方案,验证成功,不过代码稍微有点不同,第一种是原博文的写法,第二种是最终采用的写法。

List<CTRElt> ctrEltList = hssfRichTextString.getCTRst().getRList();

if(ctrEltList != null && ctrEltList.size()>0){

for(CTRElt ctrElt : ctrEltList){

CTRPrElt ctrPrElt = ctrElt.getRPr();//获取属性元素

if(ctrPrElt != null){

List<CTBooleanProperty> bList = ctrPrElt.getBList();//获取<b/>元素

if(bList != null && bList.size() > 0){

bList.get(bList.size() - 1).unsetVal();//销毁设置的属性值

}

}

}

}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/xht1351549230/article/details/129934870

上述代码获取List存在报错,NoClassDefFoundError,改为如下数组写法:

CTRElt[] ctrEltArray = hssfRichTextString.getCTRst().getRArray();

if(ctrEltArray != null && ctrEltArray .length >0){

for(int i=0;i<ctrEltArray .length;i++){

CTRElt ctrElt = ctrEltArray[i];

CTRPrElt ctrPrElt = ctrElt.getRPr();//获取属性元素

if(ctrPrElt != null){

CTBooleanProperty[] bArray= ctrPrElt.getBArray();//获取<b/>元素

if(bArray!= null && bArray.length > 0){

bArray[bArray.length - 1].unsetVal();//销毁设置的属性值

}

}

}

}

总结

这类疑难杂症,还是对这块底层不了解,奇奇怪怪的问题,感谢大佬,小记一下积累经验,欢迎交流。

相关推荐
CodeCraft Studio33 分钟前
Excel处理控件Spire.XLS系列教程:Java设置Excel活动工作表或活动单元格
java·python·excel
CodeJourney.3 小时前
深度探索:DeepSeek赋能WPS图表绘制
数据库·人工智能·算法·信息可视化·excel
努力的搬砖人.4 小时前
在springboot项目中,如何进行excel表格的导入导出功能?
spring boot·后端·excel
java程序员CC6 小时前
使用springboot+easyexcel实现导出excel并合并指定单元格
spring boot·后端·excel
我老菜19 小时前
解析excel中的图片
java·excel
CodeCraft Studio1 天前
Excel处理控件Aspose.Cells教程:使用 Python 在 Excel 中进行数据验
开发语言·python·excel
时间之城1 天前
笔记:记一次使用EasyExcel重写convertToExcelData方法无法读取@ExcelDictFormat注解的问题(已解决)
java·spring boot·笔记·spring·excel
VBAMatrix1 天前
审计效率升级!快速匹配Excel报表项目对应的Word附注序号
excel·审计·财务报表·会计师事务所·审计工具
lovely_nn1 天前
wps excel 常用操作
excel·wps
前端极客探险家1 天前
前端 Excel 工具组件实战:导入 → 可编辑表格 → 导出 + 样式同步 + 单元格合并
前端·typescript·vue·excel