Java 使用 POI 导出Excel,设置同一个单元格的内容显示不同的文字颜色

在使用Apache POI的库生成Excel的时候,如何在一个Cell中的文字中显示不同的颜色?下面是一个示例代码,演示如何在单元格中设置不同颜色的文本。

代码

// 创建工作簿和工作表
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");

// 创建一个样式,设置文本颜色为红色
CellStyle redStyle = workbook.createCellStyle();
Font redFont = workbook.createFont();
redFont.setColor(IndexedColors.RED.getIndex());
redStyle.setFont(redFont);

// 创建一个样式,设置文本颜色为绿色
CellStyle greenStyle = workbook.createCellStyle();
Font greenFont = workbook.createFont();
greenFont.setColor(IndexedColors.GREEN.getIndex());
greenStyle.setFont(greenFont);

// 创建一个单元格,并在其中设置两段文本,分别使用不同的样式
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);

String cellValue = "Hello World~"
RichTextString richTextString = workbook.getCreationHelper().createRichTextString(cellValue);
richTextString.applyFont(0, 6, redFont); // 将前 6 个字符设置为红色
richTextString.applyFont(6, 12, greenFont); // 将前 6 个字符设置为红色
cell.setCellValue(richTextString);

// 将工作簿保存到文件中
FileOutputStream outputStream = new FileOutputStream("output.xlsx");
workbook.write(outputStream);
outputStream.close();

在上面的示例代码中,我们首先创建了两个样式,分别用于设置红色和绿色的文本颜色。然后我们创建了一个单元格,并在其中设置了两段文本,分别使用不同的样式。最后,我们将工作簿保存到文件中。

效果图

image-20240727104701955

注意,在这个示例中,我们使用了 RichTextString 对象来设置单元格中的富文本内容,并使用 applyFont() 方法来设置不同部分的字体样式。

复杂效果样例:

img

其他

另外,对以下内容感兴趣的同学请移步对应教程:

GPT-4o 教程

MidJourney教程

Poe教程

Fantia教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值