当前位置: 首页 > article >正文

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();//销毁设置的属性值
            }
        }
    }
}

总结

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


http://www.kler.cn/a/522549.html

相关文章:

  • 51单片机开发:独立键盘实验
  • Vscode的AI插件 —— Cline
  • C++并发编程指南04
  • RK3588平台开发系列讲解(ARM篇)ARM64底层中断处理
  • java多线程学习笔记
  • Linux - 进程间通信(2)
  • 浅谈OceanBase服务名(SERVICE_NAME)
  • GOGOGO 枚举
  • OpenCV:在图像中添加噪声(瑞利、伽马、脉冲、泊松)
  • Java并发学习:进程与线程的区别
  • zyNo.16(笔记web题型)
  • Java进阶(二):Java设计模式
  • 数据结构 栈
  • qt-QtQuick笔记之常见项目类简要介绍
  • 构建一个时间序列分析模型,用于股票市场预测
  • Python 数据清洗与处理常用方法全解析
  • MFC设置透明但不穿透窗体
  • 2023CISCN初赛unzip
  • 【kong gateway】5分钟快速上手kong gateway
  • 【数据结构】_链表经典算法OJ:环形链表的约瑟夫问题
  • 基于 Android 的日程管理系统的设计与实现
  • 状态码对照表
  • 蓝桥杯准备 【入门2】分支结构
  • STM32 EXTI中断配置
  • Lite.Ai.ToolKit - 一个轻量级的 C++ 工具包
  • labelimg闪退的解决办法