【Java】POI的HSSFRichTextString介绍

在使用Apache的POI库生成EXCEL文件时,经常会遇到这样的情况:使用不同的格式格式化一个单元格中的内容,比如说:一个单元格的内容是“first, second”,现在要分别使用红色带删除线格式化"first", 使用蓝色格式化“second",在这种情况下可以使用HSSFRichText来实现这一目的,下面的代码简单的示例了上述需求的实现:

 //创建工作簿  
        HSSFWorkbook wb = new HSSFWorkbook();  
        //创建工作表  
        HSSFSheet sheet = wb.createSheet();  
        //为工作表添加行  
        HSSFRow row = sheet.createRow(0);  
        //添加单元格  
        HSSFCell cell = row.createCell(0);  
        //创建字体  
        HSSFFont ftRed = wb.createFont();  
        ftRed.setStrikeout(true);  
        ftRed.setColor(HSSFColor.RED.index);  
          
        HSSFFont ftBlue = wb.createFont();  
        ftBlue.setColor(HSSFColor.BLUE.index);  
        //往单元格中写入的内容,并使用ft格式化"second"单词  
        String[] subStr = {  
                "first", "second"  
        };  
        String sText = subStr[0] + "," + subStr[1];  
        HSSFRichTextString textString = new HSSFRichTextString(sText);  
        textString.applyFont(  
                sText.indexOf(subStr[0]),  
                sText.indexOf(subStr[0]) + subStr[0].length(),  
                ftRed  
                );  
        textString.applyFont(  
                sText.indexOf(subStr[1]),  
                sText.indexOf(subStr[1]) + subStr[1].length(),  
                ftBlue  
                );  
        cell.setCellValue(textString); 

上述代码片段的生成效果为:

 

Apache文档对HSSFRichTextString的说明文档:https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFRichTextString.html

转载于:https://www.cnblogs.com/dflmg/p/5969390.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值