Если я открою MS Excel (я полагаю) или LibreOffice Calc (протестировано), я могу напечатать материал в ячейке и изменить шрифт частей текста в ячейке, например, выполнить в одной ячейке, :
Этот текст выделен жирным шрифтом и Этот текст выделен курсивом
Снова, позвольте мне повторить, что эта строка может существовать в указанном формате в одной ячейке.
Можно ли достичь этого уровня настройки с помощью Apache POI? Поиск только показывает, как применить шрифт ко всей ячейке.
Спасибо
=== UPDATE ===
Как предложено ниже, я закончил с HSSFRichTextString (как я работаю с HSSF). Однако после применения шрифтов (я попытался выделить жирным шрифтом и подчеркнуть), мой текст не изменился. Это то, что я пытался. Чтобы поместить вещи в контекст, я работаю над чем-то связанным со спортом, в котором обычно отображается совпадение в форме "awayteam" @ "hometeam", и в зависимости от определенных внешних условий, я хотел бы сделать один или другой жирный. Мой код выглядит примерно так:
String away = "foo";
String home = "bar";
String bolden = "foo"
HSSFRichTextString val = new HSSFRichTextString(away+"@"+home);
if(bolden.equals(home)) {
val.applyFont(val.getString().indexOf("@") + 1, val.length(), Font.U_SINGLE);
} else if(bolden.equals(away)) {
val.applyFont(0, val.getString().indexOf("@"), Font.U_SINGLE);
}
gameHeaderRow.createCell(g + 1).setCellValue(val);
Как вы можете видеть, это фрагмент кода из более сложной функции, чем отображается, но основной удар это фактический код. Как вы можете видеть, я делаю val.applyFont для части строки, а затем устанавливаю значение ячейки со строкой. Так что я не совсем уверен, что я там не так сделал. Любой совет приветствуется.
Спасибо
KFJ