POI的HSSFRichTextString的使用简介 .

在使用Apache的POI库生成EXCEL文件时,经常会遇到这样的情况:使用不同的格式格式化一个单元格中的内容,比如说:一个单元格的内容是“first, second”,现在要分别使用红色带删除线格式化"first", 使用蓝色格式化“second",在这种情况下可以使用HSSFRichText来实现这一目的,下面的代码简单的示例了上述需求的实现:

                //创建工作簿
		HSSFWorkbook wb = new HSSFWorkbook();
		//创建工作表
		HSSFSheet sheet = wb.createSheet();
		//为工作表添加行
		HSSFRow row = sheet.createRow(0);
		//添加单元格
		HSSFCell cell = row.createCell(0);
		//创建字体
		HSSFFont ftRed = wb.createFont();
		ftRed.setStrikeout(true);
		ftRed.setColor(HSSFColor.RED.index);
		
		HSSFFont ftBlue = wb.createFont();
		ftBlue.setColor(HSSFColor.BLUE.index);
		//往单元格中写入的内容,并使用ft格式化"second"单词
		String[] subStr = {
				"first", "second"
		};
		String sText = subStr[0] + "," + subStr[1];
		HSSFRichTextString textString = new HSSFRichTextString(sText);
		textString.applyFont(
				sText.indexOf(subStr[0]),
				sText.indexOf(subStr[0]) + subStr[0].length(),
				ftRed
				);
		textString.applyFont(
				sText.indexOf(subStr[1]),
				sText.indexOf(subStr[1]) + subStr[1].length(),
				ftBlue
				);
		cell.setCellValue(textString);
上述代码片段的生成效果为:

Apache文档对HSSFRichTextString的说明文档:https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFRichTextString.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值