简体   繁体   English

如何在Java中使用Apache POI框架创建RichTextString?

[英]How to create a RichTextString using Apache POI framework in Java?

如何使用Java SE中的Apache POI框架为Microsoft Excel创建RichTextString?

To keep abstraction on Workbook level (your code will work for both cases - HSSF and XSSF) you can write more intelligent code: 为了保持抽象在工作簿级别(您的代码在两种情况下均适用-HSSF和XSSF),您可以编写更智能的代码:

Workbook objWorkbook = /*pass workbook as a param*/;
RichTextString richText = objWorkbook.getCreationHelper().createRichTextString("yourstring");

From here and here for HSSF and XSSF: 对于HSSF和XSSF,从这里这里

HSSFCell hssfCell = row.createCell(idx);
//rich text consists of two runs
HSSFRichTextString richString = new HSSFRichTextString( "Hello, World!" );
richString.applyFont( 0, 6, font1 );
richString.applyFont( 6, 13, font2 );
hssfCell.setCellValue( richString );

XSSFRichTextString s1 = new XSSFRichTextString("Apache POI");
s1.applyFont(boldArial);
cell1.setCellValue(s1);

From the Quick Guide : 快速指南

Text boxes are created using a different call: 使用不同的调用创建文本框:

 HSSFTextbox textbox1 = patriarch.createTextbox( new HSSFClientAnchor(0,0,0,0,(short)1,1,(short)2,2)); textbox1.setString(new HSSFRichTextString("This is a test") ); 

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM