我想在Excel单元格中显示Html Formatted值。 html标记包含无序,有序和子弹,斜体和下划线和段落。
我想将html标记标记传递给显示apache poi excel的单元格值的格式化值。
XSSFWorkbook workBook = null;
String value = "<html>My String</html>";
workBook = new XSSFWorkbook ();
XSSFCell cell = row.createCell(columnIndex);
XSSFRichTextString textString = new XSSFRichTextString (value);
cell.setCellValue(value);
输入数据:
<ul>
<li> Iam <strong>Bold </strong> and Iam <u>Underlined </u> </li>
<li> Just a Normal Text </li>
<li> Iam <b> Bold </b> <em>and italic </em> <u> and underlined </u> </li>
</ul>
预期产出:
。 Iam Bold 和Iam Italic
。 Iam Bold 和Iam Italic 和带下划线的
。只是普通文字
任何api提供,Aspose或Itext或其他一些api。
答案 0 :(得分:0)
我在Aspose担任社交媒体开发人员,使用Aspose.Cells for Java可以轻松实现您想要的结果。请查看以下代码。
//Instantiate the workbook object
Workbook workbook = new Workbook();
//Get first worksheet of workbook
Worksheet worksheet1 = workbook.getWorksheets().get(0);
//Get Cells in a Worksheet
Cells cells = worksheet1.getCells();
//Get the individual cell
Cell cell = cells.get("A1");
String htmlstring = "<ul><li> I am <strong>Bold </strong> and Iam <u>Underlined </u> " +
"</li><li> Just a Normal Text </li>" +
"<li> Iam <b> Bold </b> <i>and italic </i> <u> and underlined </u></li></ul>";
//Setting Cell Style
Style style = new Style();
style.setHorizontalAlignment(TextAlignmentType.LEFT);
style.setTextWrapped(true);
cell.setStyle(style);
//Set HTML string as Cell Text
cell.setHtmlString(htmlstring);
worksheet1.autoFitColumns();
worksheet1.autoFitRows();
//Save the workbook.
workbook.save("c:\\HtmlStringtest.xlsx");
答案 1 :(得分:-2)
您可以通过创建和设置XSSFFont来格式化POI中的字符串。 https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html 在那里你可以使用setBold(true)等等。
您只需将字体应用于XSSFRichTextString即可。您也可以将字体仅应用于字符串的某些部分。
XSSFWorkbook wb=new XSSFWorkbook();
XSSFFont font = wb.createFont();
font.setBold( true );
font.setItalic( true );
new XSSFRichTextString().applyFont( font );
在字符串中使用HTML似乎是不可能的