【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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM