1、HSSFCell的替换方法
public static Object getXSSFValue(XSSFCell hssfCell) {
if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) {
return hssfCell.getNumericCellValue(); //数字
}else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_BOOLEAN) {
return hssfCell.getBooleanCellValue(); //boolean
}else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_ERROR){
return hssfCell.getErrorCellValue(); //故障
}else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_FORMULA){
return hssfCell.getCellFormula(); //公式
}else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_BLANK) {
return ""; //空值
}else if(hssfCell.getCellType() == XSSFCell.CELL_TYPE_STRING) {
return hssfCell.getStringCellValue(); //字符串
}
}
替换方法如下 注释中也是修改的方法。
public static Object getXSSFValue(XSSFCell hssfCell) {
Object result = null;
CellType cellType = hssfCell.getCellType();
//在switch下 后面的数字是对应的类型
switch (hssfCell.getCellType()) {
case NUMERIC: //数字 CellType.NUMERIC 0
result = hssfCell.getNumericCellValue();
break;
case BOOLEAN: //Boolean CellType.BOOLEAN 4
result = hssfCell.getBooleanCellValue();
break;
case ERROR: //故障 CellType.ERROR 5
result = hssfCell.getErrorCellValue();
break;
case FORMULA: //公式 CellType.FORMULA 2
result = hssfCell.getCellFormula();
break;
case BLANK: //空值 CellType.BLANK 3
result = "";
break;
default: //字符串 STRING CellType.STRING 1
result = hssfCell.getStringCellValue();
}
return result;
}
1.对齐方式
// 居中格式
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 修改后,左对齐右对齐修改CENTER
style.setAlignment(HorizontalAlignment.CENTER);
2.边框样式
// 最细边框
style.setBorderBottom(CellStyle.BORDER_THIN);
// 修改为,其他边框样式详见BorderStyle
style.setBorderBottom(BorderStyle.THIN);
3.获取颜色索引
// 蓝色RGB索引
style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
// 修改为,其他颜色参考:IndexedColors
style.setFillForegroundColor(IndexedColors.SKY_BLUE.getIndex());
4.设置填充样式
// SOLID_FOREGROUND纯色使用前景颜色填充
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
// 修改为,SOLID_FOREGROUND纯色使用前景颜色填充
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
5.字体样式
// 字体加粗
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
// 修改为
font.setBold(true);
6.单元格数据类型
// 字符串类型
Cell.CELL_TYPE_STRING
// 修改为
CellType.STRING
// 数字类型
Cell.CELL_TYPE_NUMERIC
// 修改为
CellType.NUMERIC
//类似的其他类型
_NONE(-1),
NUMERIC(0),
STRING(1),
FORMULA(2),
BLANK(3),
BOOLEAN(4),
ERROR(5);
7、CellStyle.SOLID_FOREGROUND 替换
FillPatternType.SOLID_FOREGROUND
8、style.setVerticalAlignment(HSSFCellStyle.VARCHAR_CENTER); 替换
style.setVerticalAlignment(VerticalAlignment.CENTER);
9、合并单元格
sheet.addMergedRegion(new Region(int firstRow, int lastRow, int firstCol, int lastCol) 替换
sheet.addMergedRegion(new CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)
10、java bug:An enum switch case label must be the unq
//报错的使用方法
private void TestEnum(ColorType type){
switch (type){
case ColorType.GREEN: // 编译时报错
break;
case ColorType.RED: // 编译时报错
break;
case ColorType.ORANGE: // 编译时报错
break;
case ColorType.WHITE: // 编译时报错
break;
case ColorType.BLACK: // 编译时报错
break;
default:
}
}
// 正确用法:
private void TestEnum(ColorType type){
switch (type){
case GREEN:
break;
case RED:
break;
case ORANGE:
break;
case WHITE:
break;
case BLACK:
break;
default:
}
}