Setting a part of the cell contents to bold using

2019-02-16 21:50发布

问题:

How can i put this string in to a cell using java apache poi?
The string is "Hello world Hello"
As u can see i need to make a part of the text bold?
I'm able to set the entire contents of the cell to bold but not specific parts.
Please help me.

回答1:

This is probably what you are looking for: http://poi.apache.org/spreadsheet/quick-guide.html#DrawingShapes

Find this in the explanation:

It's possible to use different fonts to style parts of the text in the textbox. Here's how:

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

This might be useful: http://apache-poi.1045710.n5.nabble.com/Multiple-text-styles-in-Excel-cell-td4922683.html



回答2:

This will print "Hello world Hello" in a cell

XSSFRichTextString rts= new XSSFRichTextString("Hello ");

XSSFFont fontBold= wb.createFont();
fontBold.setBold(true); //set bold
fontBold.setFontHeight(12); //add font size

rts.append("world ",fontBold);
rts.append("Hello");

sheet.getRow(1).getCell(1).setCellValue(rts);