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);
效果如图:将红色框的四个单元格合并为一个单元格。
三、设置单元格背景色
//创建一个工作簿
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);
上一篇: Poi_03_设置单元格的样式
下一篇: POI 3.17设置单元格的格式