Если я взломаю MS Excel (я полагаю) или LibreOffice Calc (проверено), я смогу вводить что-то в ячейку и менять шрифт частей текста в ячейке, например, делать в одной ячейке, :
Этот текст выделен жирным шрифтоми этот текст выделен курсивом
Опять же, позвольте мне повторить, что эта строка может существовать в показанном формате в одной ячейке.
Можно ли достичь такого уровня настройки с помощью Apache POI? Поиск только показывает, как применить шрифт ко всей ячейке.
Спасибо
===UPDATE===
Как было предложено ниже, я остановился на HSSFRichTextString (поскольку я работаю с HSSF). Однако после применения шрифтов (я пробовал полужирный и подчеркнутый) мой текст оставался неизменным. Это то, что я пытался. Для сравнения: я работаю над чем-то, связанным со спортом, в котором матч-ап обычно отображается в форме «команда гостей» @ «команда хозяев», и в зависимости от определенных внешних условий я хотел бы сделать один или другой жирный. Мой код выглядит примерно так:
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