POI中的Excel单元格格式属性


CellStyle类中,有关于填充颜色、边框、字体、对齐方式等方法

一、表框

setBorderRight(BorderStyle border)

setBorderTop(BorderStyle border)

setBorderLeft(BorderStyle border)

setBorderBottom(BorderStyle border)

BorderStyle是enum

BorderStyle
DASH_DOT 线状虚线
DASH_DOT_DOT 线状虚线,一长一短
DASHED 细密线状虚线
DOTTED 点状虚线
DOUBLE 双重实线
HAIR 细密点虚线
MEDIUM 加粗
MEDIUM_DASH_DOT 加粗线状虚线
MEDIUM_DASH_DOT_DOT 加粗线状虚线,一长一短
MEDIUM_DASHED 加粗短线状虚线
NONE 无框
SLANTED_DASH_DOT 加粗双线状虚线
THICK 加加粗
THIN 细实线

二、填充

XSSFColor可以通过其构造函数XSSFColor(byte[] rgd)来新建

setFillBackgroundColor(XSSFColor color)背景色

setFillForegroundColor(XSSFColor color)前景色

setFillPattern(FillPatternType fp)填充类型

三、对齐

setVerticalAlignment(VerticalAlignment align)//垂直对齐方式

setAlignment(HorizontalAlignment align)//水平对齐方式

四、字体

setFont(Font font)

新建Font类和新建CellStyle类类似,通过workbook来create:

(1)

XSSFFont font =  work.createFont();

font.setBold(true);//是否加粗
font.setFontHeight((double) i);//有另外一个short的重载,就用这个double
font.setFontName("宋体");//字体

(2)

HSSFFont font = book.createFont();
font.setBoldweight(Font.BOLDWEIGHT_BOLD);//设置字体加粗
font.setFontName("宋体");//设置字体样式
font.setFontHeightInPoints((short) 12);//设置字体大小

五、自动换行

setWrapText(true);//设置自动换行

六、列宽自适应

for (int k = 0; k < columnWidth.length; k++) {
sheet.autoSizeColumn(k);
sheet.setColumnWidth(k, sheet.getColumnWidth(k)*17/10);
}

七、冻结某行某列

//冻结前两行
sheet.createFreezePane(0,2,0,2);

八、合并单元格

sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 12));