jdk1.8
引入POI依赖:
org.apache.poi
poi
5.0.0
org.apache.poi
poi-ooxml
5.0.0
***
public class Main {
public static void main(String[] args) {
try (XSSFWorkbook workbook = new XSSFWorkbook();
OutputStream out = Files.newOutputStream(Paths.get("workbook.xlsx"))) {
Sheet sheet = workbook.createSheet();
Row row = sheet.createRow((short) 0);
Cell cell = row.createCell((short) 0);
cell.setCellValue("TEST---");
// 创建一个单元格样式
XSSFCellStyle style = workbook.createCellStyle();
cell.setCellStyle(style);
// 填充色
style.setFillForegroundColor(HSSFColor.HSSFColorPredefined.BLUE.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 字体颜色
Font font = workbook.createFont();
font.setColor(IndexedColors.WHITE.getIndex());
style.setFont(font);
workbook.write(out);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
实现效果:
"实现效果" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241101/3d2effbbf62baec886131ac5437c2135.png)
参考:
«"https://blog.csdn.net/lipinganq/article/details/78132021" (https://link.segmentfault.com/?enc=EP1OpvGcnO6pMeOBB8sxbg%3D%3D.OhWNkHZpvxbD2%2BZh8e%2FiuEpmgOVE7OYajbQcPe1ZIMQZbaG4j9Qxh4HjDRIVqOmnq0JIjLzs%2FMLzVL0o4oqaLg%3D%3D)»
,
要在Java中为Excel文件的单元格设置背景色,可以使用Apache POI库。Apache POI提供了对Excel文件进行读写的功能。下面是一个简单的示例,演示如何设置单元格的背景色并将文件保存到本地。
环境准备
1. 确保你已经导入Apache POI库。可以通过Maven在"pom.xml"中添加以下依赖:
org.apache.poi
poi-ooxml
5.2.3
示例代码
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelColorExample {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook(); // 新建工作簿
Sheet sheet = workbook.createSheet("Example Sheet"); // 新建工作表
// 创建单元格样式并设置背景色(填充颜色)
CellStyle style = workbook.createCellStyle();
style.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
//一行和一个单元格,并应用样式
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Colored Cell");
cell.setCellStyle(style);
// 将工作簿写入文件
try (FileOutputStream fileOut = new FileOutputStream("colored_cells.xlsx")) {
workbook.write(fileOut);
} catch (IOException e) {
e.printStackTrace();
}
// 确保正确关闭工作簿
try {
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
代码说明
- 创建工作簿和工作表: 使用"XSSFWorkbook"创建Excel文件,创建工作表以放置数据。
- 设置单元格样式: 创建"CellStyle"对象,并使用"setFillForegroundColor"与"setFillPattern"设置单元格的背景色。
- 应用样式: 将样式应用到特定单元格。
- 写入文件: 使用"FileOutputStream"将文件保存到本地。
- 关闭资源: 为避免内存泄漏,确保在使用完工作簿后关闭它。
通过这种方式,你可以方便地使用Java设置Excel单元格的背景色。