在使用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

最新文章

  1. log4j+mybatis打印数据库日志
  2. 【51Nod 1622】【算法马拉松 19C】集合对
  3. python备忘--函数
  4. bzoj 3223 splay模板题3
  5. [OpenCV] 2、边缘检测 canny
  6. python之time模块
  7. springboot全局异常处理
  8. SSM实战
  9. 再谈包访问权限 子类为何不能使用父类protected方法
  10. Java开发笔记(五十五)关键字static的用法
  11. Maven替换为国内仓库
  12. 经典合集 - WP8.1数据源
  13. 定时重启tomcat
  14. centos7切换gnome3桌面与gnome经典桌面
  15. JEECG 新手常见问题大全,入门必读
  16. 1.keras实现-->使用预训练的卷积神经网络(VGG16)
  17. 频繁项集挖掘之apriori和fp-growth
  18. Boost-date_time库学习
  19. Sublime Text3 最新版3207 安装及破解
  20. EularProject 32: 数字1-9排列构成乘法等式

热门文章

  1. Pomelo.AspNetCore.TimedJob 允许依赖注入
  2. Java SE教程
  3. java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
  4. XAF-如何在详细视图界面显示按钮(含示例项目下载)
  5. IL指令
  6. Intellij IDEA 热部署插件Jrebel激活
  7. EOJ3650 转机折扣(26进制,字符串)
  8. hdu2065"红色病毒"问题(指数母函数+快速幂取模)
  9. JAVA学习笔记--字符串概述
  10. Play on Words(欧拉回路)