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));