行的样式设置
row.setHeightInPoints(30); //设置行高度
单元格字体对齐方式的设置
CellStyle cellStyle = workbook.createCellStyle(); // 创建样式 short halign = 2; cellStyle.setAlignment(halign); // 设置水平对齐方式 short valign = 1; cellStyle.setVerticalAlignment(valign); // 设置垂直对齐方式 cell1.setCellStyle(cellStyle); // 给单元格添加样式
定义单元格为字符串类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
合并单元格
Region region = new Region(1, (short) 0, 1, (short) 7); //行、列、行、列 // sheet.addMergedRegion(CellRangeAddress.valueOf("$A$1:$H$1")); sheet.addMergedRegion(region);
设置单元格字体的样式
HSSFCell cell2 = row.createCell(2); cell2.setCellValue("单元格字体"); HSSFCellStyle head_cellStyle = workbook.createCellStyle();// 创建一个单元格样式 HSSFFont head_font = workbook.createFont(); head_font.setFontName("宋体");// 设置头部字体为宋体 head_font.setBoldweight(Font.BOLDWEIGHT_BOLD); // 粗体 head_font.setFontHeightInPoints((short) 18); head_cellStyle.setFont(head_font);// 单元格样式使用字体 cell2.setCellStyle(head_cellStyle);
填充的背景颜色
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cellStyle.setFillForegroundColor(HSSFColor.RED.index);
设置列宽
sheet.setColumnWidth(0, 18*256);
四, 向单元格插入日期值
HSSFWorkbook wb =new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// 可通过Sheet.setSheetName(sheetindex,"SheetName",encoding)设定工作表名// 创建新行并向其加入单元格,行号由0开始。
HSSFRow row = sheet.createRow((short)0);
// 创建一个单元格并向其输入一日期值,但这第一个单元格并非是日期格式。
HSSFCell cell = row.createCell((short)0);cell.setCellValue(new Date());
// 我们将这第二个单元格改成日期格式,这需要从工作薄创建一个新的单元格格式,这可// 以只影响当前建立的一个单元格。
HSSFCellStyle cellStyle= wb.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
cell = row.createCell((short)1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
各种单元格样式
HSSFCellStyle cellStyle2 = workbook.createCellStyle();
// 对齐
cellStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 带边框
cellStyle2.setBorderBottom(HSSFCellStyle.BORDER_THIN);
// 颜色与填充样式
cellStyle2.setFillBackgroundColor(HSSFColor.AQUA.index);
cellStyle2.setFillPattern(HSSFCellStyle.BIG_SPOTS);
cellStyle2.setFillForegroundColor(HSSFColor.ORANGE.index);
cellStyle2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFCell cellColor = row.createCell((short) 7);
cellColor.setCellValue("王");
cellColor.setCellStyle(cellStyle2);
设置单元格边框为四周环绕.
CellStyle style = wb.createCellStyle();
style.setBorderBottom(CellStyle.BORDER_THIN);
style.setBottomBorderColor(IndexedColors.BLACK.getIndex());
style.setBorderLeft(CellStyle.BORDER_THIN);
style.setLeftBorderColor(IndexedColors.GREEN.getIndex());
style.setBorderRight(CellStyle.BORDER_THIN);
style.setRightBorderColor(IndexedColors.BLUE.getIndex());
style.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED);
style.setTopBorderColor(IndexedColors.BLACK.getIndex());
cell.setCellStyle(style);
设置单元格格式
在这里,我们将只介绍一些和格式设置有关的语句,我们假定workbook就是对一个工作簿的引用。在Java中,第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式:
1、创建字体,设置其为红色、粗体:
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
2、创建格式
HSSFCellStyle cellStyle= workbook.createCellStyle();
cellStyle.setFont(font);
3、应用格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("标题 ");