我有一个输入如下:
<p style="font-family:Caveat;">This is Caveat</p><p style="font-family:Arial;">This is Arial text</p>
字符串我想插入两个帕拉标记元素在一个单一的单元格如下使用apache poi.
.我试了几个例子,但我可以找到任何适当的解决方案,从净.有人可以帮助我解决它?
ruoxqz4g1#
Excel单元格不包含文本段落。单元格只能包含具有不同文本格式的单个文本串。为此,您需要在单元格中包含RichTextString内容。单元格内容也可以包含换行符。但只有当单元格样式设置为文本换行时,换行符才有效。使用XSSFRichTextString,可以使用XSSFRichTextString.append方法使用不同的字体附加不同的字符串。不同的字体需要在工作簿级别上创建。单元格样式也是如此。完整示例:
import org.apache.poi.xssf.usermodel.*; import java.io.FileOutputStream; class RichTextTest { public static void main(String[] args) throws Exception { XSSFWorkbook wb = new XSSFWorkbook(); XSSFCellStyle wrapTextCellStyle = wb.createCellStyle(); wrapTextCellStyle.setWrapText(true); XSSFFont fontTNR = wb.createFont(); fontTNR.setFontName("Times New Roman"); XSSFFont fontArial = wb.createFont(); fontArial.setFontName("Arial"); XSSFRichTextString richString = new XSSFRichTextString(); richString.append("This is Times New Roman", fontTNR); richString.append("\n"); richString.append("This is Arial", fontArial); XSSFSheet sheet = wb.createSheet("Sheet1"); XSSFRow row = sheet.createRow(0); XSSFCell cell = row.createCell(0); cell.setCellValue(richString); cell.setCellStyle(wrapTextCellStyle); sheet.setColumnWidth(0, 25*256); try ( FileOutputStream fileOut = new FileOutputStream("./workbook.xlsx"); ) { wb.write(fileOut); } } }
字符串
1条答案
按热度按时间ruoxqz4g1#
Excel单元格不包含文本段落。单元格只能包含具有不同文本格式的单个文本串。为此,您需要在单元格中包含RichTextString内容。
单元格内容也可以包含换行符。但只有当单元格样式设置为文本换行时,换行符才有效。
使用XSSFRichTextString,可以使用XSSFRichTextString.append方法使用不同的字体附加不同的字符串。
不同的字体需要在工作簿级别上创建。单元格样式也是如此。
完整示例:
字符串