【环境】

poi-ooxml 4.0.1、java 8

【核心代码】

XSSFRichTextString value = new XSSFRichTextString("红色黑色");
value.applyFont(0, 2, redFont);

完整代码

package excel.write;import java.io.File;
import java.io.FileOutputStream;import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class ExcelRichTextTest {public static void main(String[] args) {String filePath ="E:\\tmp\\test\\excelTest\\richText_" + System.currentTimeMillis() + ".xlsx";File folder = new File(filePath.substring(0, filePath.lastIndexOf(File.separator)));if (!folder.exists()) {folder.mkdirs();}Workbook wb = null;FileOutputStream out = null;try {wb = new XSSFWorkbook();Sheet sheet = wb.createSheet();Row row = sheet.createRow(0);Cell cell = row.createCell(0);XSSFRichTextString value = new XSSFRichTextString("红色黑色");Font redFont = wb.createFont();redFont.setColor(Font.COLOR_RED);redFont.setBold(true);redFont.setFontName("宋体");// 给[0, 2)位置设置以上格式value.applyFont(0, 2, redFont);Font blackFont = wb.createFont();blackFont.setColor(Font.COLOR_NORMAL);blackFont.setBold(true);blackFont.setFontName("宋体");value.applyFont(2, value.length(), blackFont);cell.setCellValue(value);out = new FileOutputStream(filePath);wb.write(out);} catch (Exception e) {e.printStackTrace();} finally {try {if (out != null) {out.close();}} catch (Exception e) {e.printStackTrace();}try {if (wb != null) {wb.close();}} catch (Exception e) {e.printStackTrace();}}}
}

【效果】

【说明】

Excel显示的效果确实为红色+宋体,但是在字体属性这一块显示的是默认的,双击单元格后字体属性就显示正常了。

做了双击单元格操作之后,点击关闭Excel,会提示是否要保存,选择保存,然后再次打开Excel,字体属性这一块就显示对了。


【猜测】

有可能是POI写的Excel文件内部格式和软件写的不同,打开软件后的字体属性未能正确读取到这些格式(但显示是对的),然后双击单元格后,软件应该修改了Excel文件内部的格式,保存后就能正常读取了。

Excel中同一单元格设置不同颜色的字体相关推荐

  1. Excel给同一单元格设置不同颜色的字体

    [环境] poi-ooxml 4.0.1.java 8 [核心代码] XSSFRichTextString value = new XSSFRichTextString("红色黑色" ...

  2. Hutool导出Excel,在一个单元格设置多个字体样式

    ExcelWriter writer = ExcelUtil.getWriter(true); //第二行第一列 CellStyle cellStyle1 = writer.createCellSty ...

  3. Microsoft Excel 教程:如何在 Excel 中更改单元格的格式?

    欢迎观看 Microsoft Excel 教程,小编带大家学习 Microsoft Excel 的使用技巧,了解如何在 Excel 中更改单元格的格式. 可以对整个单元格以及单元格中的数据应用格式. ...

  4. 使用VBA对Excel中的单元格按色阶赋颜色

    Excel中对单元格赋值,可以通过Cells(row, column).Interior.Color这个属性赋值.但这是一个十进制数,范围是0-16777215. 属于long长整形. 通常对颜色赋值 ...

  5. 如何在Excel中选择单元格时高亮显示行和列

    在Excel中,选择单元格时高亮显示行和列的方法如下: 选择要高亮显示的单元格 在"开始"选项卡中,单击"格式"命令按钮 在弹出的菜单中选择"行和列& ...

  6. 如何在Excel中选择单元格时自动高亮显示整行和整列

    要在Excel中选择单元格时自动高亮显示整行和整列,请按照以下步骤操作: 打开Excel工作表. 点击"开始"菜单中的"Excel选项". 在Excel选项窗口 ...

  7. Excel 中合并单元格的快捷键(ALT+H+M+M)

    要在 excel 中合并单元格,首先选择要合并到一个单元格中的单元格,然后可以使用从ALT开始的快捷键,然后同时按H+M+M. 一旦我们使用快捷键执行该函数,它将弹出一条警告消息"合并单元格 ...

  8. Excel中去除单元格内左上角的绿色小三角

    今天在编辑一个excel文件时,发现有一列的单元格中的左上角都有一个绿色的小三角. 当我用公式对这列中的单元格进行操作的时候,在公式总不能反应出值来. google了下,原来是excel的一个防止用户 ...

  9. Excel中提取单元格中的部分内容或单元格中的数字公式大全(提取数字,提取前几位,提取指定文字之间的内容等等)

    Excel如何提取单元格中的部分文字或单元格中的数字 Excel如何提取单元格中的部分文字或单元格中的数字,整理了Excel中所有的提取要求,写成了一个公式翻译工具. 支持以下提取方式,输入提取要求, ...

最新文章

  1. 目标检测计算mAP,AP,Recall,Precision的计算方式和代码(YOLO和FastRCNN等)
  2. 第二十一篇:伦理/道德Ethics
  3. 10天学安卓-第六天
  4. 民生银行场景化数据中台是如何炼成的?
  5. MS-SQL CLR 扩展函数包 CLR_FunctionS!
  6. js中的 return false;
  7. java实现抽奖游戏_Java实现游戏抽奖算法
  8. 成长为一名Java架构师需要掌握的技术有哪些呢?
  9. 优秀子序列(【CCF】NOI Online能力测试3 提高组)
  10. RPC原来就是Socket——RPC框架到dubbo的服务动态注册,服务路由,负载均衡演化...
  11. Docker删除/停止容器
  12. php输出因子,如何在PHP因子程序中返回值
  13. 知网被引第一、第二的论文,都出自这位双一流大学教授
  14. 3D游戏里的男女性角色模型是这样建模出来的
  15. 「Tracup」一款拒绝加班的项目管理工具
  16. 图片加水印怎么加?这篇文章告诉你
  17. 电脑报价管理系统C语言,C语言笔记本电脑销售系统课设(附源码).doc
  18. 学习PPT与Excel的各种高级应用并掌握相关技巧
  19. 数学之美-读书笔记11-15章
  20. 程序员必备神器:一款开源的不良坐姿监测应用 「PoseMon 让爷康康」

热门文章

  1. 关于Error: EPERM: operation not permitted, mkdir...几种解决办法的比较
  2. 办理测绘资质所需流程以及材料(2022最新)
  3. Markdown之表格table的处理
  4. User Agent
  5. python代替易语言_基于hook的python机器人,彻底取代itchat
  6. 见证微信小程序之火热
  7. 淘宝官方订单API接口,获取售出的商品订单列表(爬虫数据)
  8. 今日芯声 | 不寒而栗!针孔摄像头画质竟然是4K高清的
  9. lua小技巧(二)——lua全局变量的检测
  10. 简单介绍快速开始使用Unity引擎的步骤