如何在Java中使用Apache POI框架创建RichTextString?

时间:2011-08-02 12:16:38

标签: java excel excel-2003

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

3 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分: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);

答案 2 :(得分:1)

来自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 );