Как создать RichTextString с использованием инфраструктуры Apache POI в Java? - PullRequest
1 голос
/ 02 августа 2011

Как создать RichTextString для Microsoft Excel с использованием инфраструктуры Apache POI в Java SE?

Ответы [ 3 ]

7 голосов
/ 10 марта 2014

Чтобы сохранить абстракцию на уровне Workbook (ваш код будет работать в обоих случаях - HSSF и XSSF), вы можете написать более интеллектуальный код:

Workbook objWorkbook = /*pass workbook as a param*/;
RichTextString richText = objWorkbook.getCreationHelper().createRichTextString("yourstring");
2 голосов
/ 02 августа 2011

С здесь и здесь для 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);
1 голос
/ 02 августа 2011

Из Краткое руководство :

Текстовые поля создаются с использованием другого вызова:

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 );
...