【问题标题】:How to create a RichTextString using Apache POI framework in Java?如何在 Java 中使用 Apache POI 框架创建 RichTextString?
【发布时间】:2011-08-02 12:16:38
【问题描述】:

如何使用 Java SE 中的 Apache POI 框架为 Microsoft Excel 创建 RichTextString?

【问题讨论】:

    标签: java excel excel-2003


    【解决方案1】:

    为了保持工作簿级别的抽象(您的代码适用于两种情况 - HSSF 和 XSSF),您可以编写更智能的代码:

    Workbook objWorkbook = /*pass workbook as a param*/;
    RichTextString richText = objWorkbook.getCreationHelper().createRichTextString("yourstring");
    

    【讨论】:

      【解决方案2】:

      来自 herehere 用于 HSSF 和 XSSF:

      HSSFCell hssfCell = row.createCell(idx);
      //rich text consists of two runs
      HSSFRichTextString richString = new HSSFRichTextString( "Hello, World!" );
      richString.applyFont( 0, 6, font1 );
      richString.applyFont( 6, 13, font2 );
      hssfCell.setCellValue( richString );
      
      XSSFRichTextString s1 = new XSSFRichTextString("Apache POI");
      s1.applyFont(boldArial);
      cell1.setCellValue(s1);
      

      【讨论】:

        【解决方案3】:

        来自Quick Guide

        文本框是使用不同的调用创建的:

        HSSFTextbox textbox1 = patriarch.createTextbox(
                new HSSFClientAnchor(0,0,0,0,(short)1,1,(short)2,2));
        textbox1.setString(new HSSFRichTextString("This is a test") );
        

        可以使用不同的字体来设置文本框中部分文本的样式。方法如下:

        HSSFFont font = wb.createFont();
        font.setItalic(true);
        font.setUnderline(HSSFFont.U_DOUBLE);
        HSSFRichTextString string = new HSSFRichTextString("Woo!!!");
        string.applyFont(2,5,font);
        textbox.setString(string );
        

        【讨论】:

          猜你喜欢
          • 2020-03-03
          • 1970-01-01
          • 1970-01-01
          • 2012-11-10
          • 1970-01-01
          • 1970-01-01
          • 2013-05-10
          • 1970-01-01
          • 2011-08-28
          相关资源
          最近更新 更多