- 单元格合并
CellRangeAddress range = new CellRangeAddress(startRow, endRow, startCol, endCol);
sheet.addMergedRegion(range);
- 读取行数
- sheet.getLastRowNum() 返回最后一行的索引,总行数 = row.getLastRowNum()+1 若sheet中一行数据都没有就返回-1
- row.getLastCellNum() 返回最后一列的索引,总列数 = row.getLastCellNum() 若row中一列数据都没有返回-1
- Workbook处理兼容
- HSSFWorkbook只能操作excel2003以下的版本
- XSSFWorkbook只能操作excel2007以上的版本
- 所以使用Workbook接口创建对象操作excel处理兼容
- Excel单元格加添加背景色、边框加粗、字体垂直居中
public static HSSFCellStyle setStyleRedStrong(HSSFWorkbook workbook) {
HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);// 下边框
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框
style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
style.setFillForegroundColor(HSSFColor.RED.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setWrapText(false);//设置自动换行
HSSFFont font = workbook.createFont();
font.setFontName("宋体");
font.setFontHeightInPoints((short) 14);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
style.setFont(font);
return style;
}
CellStyle styleRedStrong = setStyleRedStrong(wb);
cell.setCellStyle(styleRedStrong);
- 字体加粗
//字体加粗
private HSSFCellStyle setFontBold(HSSFWorkbook wb) {
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直居中
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);// 下边框
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框
style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
HSSFFont font = wb.createFont();
font.setColor(HSSFColor.BLACK.index);
font.setFontName("宋体");
font.setFontHeightInPoints((short) 14);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
style.setFont(font);
return style;
}