• 【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

  • 相关阅读:
    000_linux之Ubuntu安装
    001_linux基础命令
    018_linux驱动之_阻塞和非阻塞
    019_linux驱动之_定时器的引入
    017_linux驱动之_信号量
    016_linux驱动之_原子操作
    python logging模块整理
    python sys与shutil模块
    python configparser模块
    python os模块
  • 原文地址:https://www.cnblogs.com/dflmg/p/5969390.html
Copyright © 2020-2023  润新知