欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java使用Poi的一些基本操作(合并单元格、设置单元格背景色、设置单元格边框颜色、设置字体颜色、是否加粗等等)

程序员文章站 2022-03-06 23:02:51
...

近半年的开发中都在和导入导出打交道,涉及到导出那自然避免不了一些单元格的合并、设置单元格背景色、设置单元格边框颜色、设置字体颜色、字体是否加粗等问题。因此想要总结一下,也让以后遇到类此问题可以方便查看。下面我将一一用代码来展示。

一、设置单元格的列宽

//首先需要new一个Workbook工作簿
Workbook workbook = new XSSFWorkbook();
//然后用workbook创建一个Sheet
Sheet sheet = workbook.createSheet("三、区域整体完成情况");
//设置单元格宽度(第一个参数代表列的位置,从0开始;第二个参数代表需要设置的宽度)
sheet.setColumnWidth(0,3500);
sheet.setColumnWidth(1,3500);
sheet.setColumnWidth(2,3500);

二、合并单元格

/*
 * 这个对象中有四个参数
 * 第一个代表:起始行
 * 第二个代表:结束行
 * 第三个代表:起始列
 * 第四个代表:结束列
 * 如下代码代表合并了第1行和第2行的第0列到第1列
 */
CellRangeAddress cra = new CellRangeAddress(1,2,0,1);
//把合并样式添加到sheet中
sheet.addMergedRegion(cra);

效果如图:将红色框的四个单元格合并为一个单元格。
Java使用Poi的一些基本操作(合并单元格、设置单元格背景色、设置单元格边框颜色、设置字体颜色、是否加粗等等)
Java使用Poi的一些基本操作(合并单元格、设置单元格背景色、设置单元格边框颜色、设置字体颜色、是否加粗等等)

三、设置单元格背景色

//创建一个工作簿
CellStyle style = workbook.createCellStyle();
//设置背景色
style.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
//设置填充样式
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
//设置cell样式
cell_1_0.setCellStyle(style);

这里的颜色可以选择多种,具体请参照该表:

色值 执行结果
HSSFColor.ROYAL_BLUE
HSSFColor.TEAL
HSSFColor.LIME
HSSFColor.PALE_BLUE
HSSFColor.AQUA
HSSFColor.GREEN
HSSFColor.TURQUOISE
HSSFColor.DARK_BLUE
HSSFColor.CORNFLOWER_BLUE
HSSFColor.OLIVE_GREEN
HSSFColor.WHITE
HSSFColor.LIGHT_TURQUOISE
HSSFColor.LEMON_CHIFFON
HSSFColor.LIGHT_GREEN
HSSFColor.BLUE
HSSFColor.DARK_RED
HSSFColor.CORAL
HSSFColor.RED
HSSFColor.LIGHT_YELLOW
HSSFColor.SKY_BLUE
HSSFColor.BROWN
HSSFColor.SEA_GREEN
HSSFColor.INDIGO
HSSFColor.MAROON
HSSFColor.GREY_80_PERCENT
HSSFColor.GREY_25_PERCENT
HSSFColor.DARK_GREEN
HSSFColor.YELLOW
HSSFColor.GOLD
HSSFColor.GREY_40_PERCENT
HSSFColor.DARK_TEAL
HSSFColor.PINK
HSSFColor.ORCHID
HSSFColor.LIGHT_BLUE
HSSFColor.LIGHT_CORNFLOWER_BLUE
HSSFColor.BLACK
HSSFColor.DARK_YELLOW
HSSFColor.VIOLET
HSSFColor.LAVENDER
HSSFColor.ROSE
HSSFColor.BLUE_GREY
HSSFColor.LIGHT_ORANGE
HSSFColor.ORANGE
HSSFColor.GREY_50_PERCENT

四、设置单元格边框颜色

设置边框包含两部分,边框的粗细以及颜色。且边框分为上下左右四个部分,需要分别设置。如下:

CellStyle style = workbook.createCellStyle();
//设置下边框的线条粗细(有14种选择,可以根据需要在BorderStyle这个类中选取)
style.setBorderBottom(BorderStyle.THIN);
//设置下边框的边框线颜色(颜色和上述的颜色对照表是一样的)
style.setBottomBorderColor(IndexedColors.SKY_BLUE.getIndex());
style.setBorderLeft(BorderStyle.THIN);//左边框
style.setLeftBorderColor(IndexedColors.SKY_BLUE.getIndex());
style.setBorderTop(BorderStyle.THIN); //上边框
style.setRightBorderColor(IndexedColors.SKY_BLUE.getIndex());
style.setBorderRight(BorderStyle.THIN);//右边框
style.setTopBorderColor(IndexedColors.SKY_BLUE.getIndex());
//给单元格添加样式
cell_1_0.setCellStyle(style);

五、设置字体的样式(颜色、粗细)

CellStyle style = workbook.createCellStyle();
//创建字体样式
Font font = workbook.createFont();
//true为加粗,默认为不加粗
font.setBold(true);
//设置字体颜色,颜色和上述的颜色对照表是一样的
font.setColor(IndexedColors.WHITE.getIndex());
//将字体样式设置到单元格样式中
style.setFont(font);
//给单元格添加样式
cell_1_0.setCellStyle(style);
相关标签: java poi