1:创建一个Excel表格(注意在设置单元格的先关信息时一定要:cell2.setCellStyle(style2)这种形式才能让设置起作用)
HSSFWorkbook workbook=new HSSFWorkbook();//创建工作薄对象,这里也可以设置sheet的Name
HSSFSheet sheet1 = workbook.createSheet();//创建工作表sheet对象
2:设置列宽
sheet1.setColumnWidth(0, 256*width+184);//设置第N列的宽度:0:第一列。width:要设置的宽度
3:设置行高
HSSFRow row2 = sheet1.createRow(0);//设置第一行,从零开始
HSSFCell cell2 = row2.createCell(0);//第一行第一列
row1.setHeightInPoints(35);//行高
4:调用背景颜色板
HSSFPalette palette = workbook.getCustomPalette();//拿到palette颜色板,这个是针对于一个sheet页中使用一种颜色(下边还有另外设置背景色的方法)
4.1:不确定够单元格颜色的用上边的颜色板和这个组合进行RGB颜色值如(CCFFFF)转换成16进制颜色码(204,255,255)的组合(style2:参数在下边设置样式)
palette.setColorAtIndex(HSSFColor.LIME.index, (byte) 204, (byte) 255, (byte) 255);
style2.setFillForegroundColor(HSSFColor.LIME.index);//设置背景颜色
4.2:确定行背景色的(style2:参数在下边设置样式)
style2.setFillForegroundColor(HSSFColor.PINK.index);//设置单元格背景色:确定单元格颜色的用这个
4.3:设置单元格背景色(下边附带有49中颜色和代码)
style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);//填充单元格
style2.setFillForegroundColor(IndexedColors.LEMON_CHIFFON.getIndex());//设置背景颜色(第二种设置背景色的方法)
上边的1-49对应下边1-49行代码(已加载原文连接地址,尊重原创)
IndexedColors.AQUA.getIndex()
IndexedColors.AUTOMATIC.getIndex()
IndexedColors.BLUE.getIndex()
IndexedColors.BLUE_GREY.getIndex()
IndexedColors.BRIGHT_GREEN.getIndex()
IndexedColors.BROWN.getIndex()
IndexedColors.CORAL.getIndex()
IndexedColors.CORNFLOWER_BLUE.getIndex()
IndexedColors.DARK_BLUE.getIndex()
IndexedColors.DARK_GREEN.getIndex()
IndexedColors.DARK_RED.getIndex()
IndexedColors.DARK_TEAL.getIndex()
IndexedColors.DARK_YELLOW.getIndex()
IndexedColors.GOLD.getIndex()
IndexedColors.GREEN.getIndex()
IndexedColors.GREY_25_PERCENT.getIndex()
IndexedColors.GREY_40_PERCENT.getIndex()
IndexedColors.GREY_50_PERCENT.getIndex()
IndexedColors.GREY_80_PERCENT.getIndex()
IndexedColors.INDIGO.getIndex()
IndexedColors.LAVENDER.getIndex()
IndexedColors.LEMON_CHIFFON.getIndex()
IndexedColors.LIGHT_BLUE.getIndex()
IndexedColors.LEMON_CHIFFON.getIndex()
IndexedColors.LIGHT_BLUE.getIndex()
IndexedColors.LIGHT_CORNFLOWER_BLUE.getIndex()
IndexedColors.LIGHT_GREEN.getIndex()
IndexedColors.LIGHT_ORANGE.getIndex()
IndexedColors.LIGHT_TURQUOISE.getIndex()
IndexedColors.LIGHT_YELLOW.getIndex()
IndexedColors.LIME.getIndex()
IndexedColors.MAROON.getIndex()
IndexedColors.OLIVE_GREEN.getIndex()
IndexedColors.ORANGE.getIndex()
IndexedColors.ORCHID.getIndex()
IndexedColors.PALE_BLUE.getIndex()
IndexedColors.PINK.getIndex()
IndexedColors.PLUM.getIndex()
IndexedColors.RED.getIndex()
IndexedColors.ROSE.getIndex()
IndexedColors.ROYAL_BLUE.getIndex()
IndexedColors.SEA_GREEN.getIndex()
IndexedColors.SKY_BLUE.getIndex()
IndexedColors.TAN.getIndex()
IndexedColors.TEAL.getIndex()
IndexedColors.TURQUOISE.getIndex()
IndexedColors.VIOLET.getIndex()
IndexedColors.WHITE.getIndex()
IndexedColors.YELLOW.getIndex()
————————————————
原文链接:https://blog.youkuaiyun.com/qq_38025219/java/article/details/82760471
5:设置样式
HSSFCellStyle style2 = workbook.createCellStyle();
style2.setWrapText(true);//指定当单元格内容显示不下时自动换行
style2.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中
style2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
style2.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
style2.setTopBorderColor(HSSFColor.BLACK.index);//上边框颜色
style2.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
style2.setRightBorderColor(HSSFColor.BLACK.index);//右边框颜色
style2.setWrapText(true);//自动换行
style2.setIndention((short)5);//缩进
style2.setRotation((short)60);//文本旋转,这里的取值是从-90到90,而不是0-180度。
cell2.setCellStyle(style2);
5.1:水平对齐相关参数
如果是左侧对齐就是 HSSFCellStyle.ALIGN_FILL;
如果是居中对齐就是 HSSFCellStyle.ALIGN_CENTER;
如果是右侧对齐就是 HSSFCellStyle.ALIGN_RIGHT;
如果是跨列举中就是 HSSFCellStyle.ALIGN_CENTER_SELECTION;
如果是两端对齐就是 HSSFCellStyle.ALIGN_JUSTIFY;
如果是填充就是 HSSFCellStyle.ALIGN_FILL;
5.2: 垂直对齐相关参数
如果是靠上就是 HSSFCellStyle.VERTICAL_TOP;
如果是居中就是 HSSFCellStyle.VERTICAL_CENTER;
如果是靠下就是 HSSFCellStyle.VERTICAL_BOTTOM;
如果是两端对齐就是 HSSFCellStyle.VERTICAL_JUSTIFY;
6:设置边框
style2.setBorderTop(HSSFCellStyle.BORDER_DOTTED);//上边框
style2.setBorderBottom(HSSFCellStyle.BORDER_THICK);//下边框
style2.setBorderLeft(HSSFCellStyle.BORDER_DOUBLE);//左边框
style2.setBorderRight(HSSFCellStyle.BORDER_SLANTED_DASH_DOT);//右边框
style2.setTopBorderColor(HSSFColor.RED.index);//上边框颜色
style2.setBottomBorderColor(HSSFColor.BLUE.index);//下边框颜色
style2.setLeftBorderColor(HSSFColor.GREEN.index);//左边框颜色
style2.setRightBorderColor(HSSFColor.PINK.index);//右边框颜色
7:设置字体
HSSFFont font = workbook.createFont();
font.setFontName("华文行楷");//设置字体名称
font.setFontHeightInPoints((short)28);//设置字号
font.setColor(HSSFColor.RED.index);//设置字体颜色
font.setUnderline(FontFormatting.U_SINGLE);//设置下划线
font.setTypeOffset(FontFormatting.SS_SUPER);//设置上标下标
font.setStrikeout(true);//设置删除线
style2.setFont(font);
cell2.setCellStyle(style2);
8:合并列、行
CellRangeAddress region1=new CellRangeAddress(0, 1, 0, 0);//合并行
sheet1.addMergedRegion(region1);
region1=new CellRangeAddress(0, 1, 1, 44);//合并列
sheet1.addMergedRegion(region1);
CellRangeAddress(firstRow, lastRow, firstCol, lastCol),参数的说明:
firstRow:区域中第一个单元格的行号。
lastRow 区域中最后一个单元格的行号。
firstCol 区域中第一个单元格的列号。
lastCol 区域中最后一个单元格的列号
9:固定某一行某一列
sheet1.createFreezePane(1, 4);//设置此sheet页前四行第一列不随滚动条的滚动而滚动
本博客仅供交流和学习,对于使用在其他用途及产生的后果,由使用者承担,最终解释权归本人所有,请尊重原创,如需使用请标明链接地址