Poi导出excel4.0.1版本XSSFWorkbook

加边框

 //创建workbook
 XSSFWorkbook workbook = new XSSFWorkbook();
 //创建sheet
 XSSFSheet sheet = workbook.createSheet("sheet1");
 //创建样式
 XSSFCellStyle cellStyle = workbook.createCellStyle();
 cellStyle.setBorderBottom(BorderStyle.THIN);
 cellStyle.setBorderTop(BorderStyle.THIN);
 cellStyle.setBorderLeft(BorderStyle.THIN);
 cellStyle.setBorderRight(BorderStyle.THIN);
 //创建行(从0开始)
 XSSFRow row = sheet.createRow(0);
 //创建列(7列为例)
 for(int i=0;i<7;i++){
 	XSSFCell cell = row.createCell(i);
 	cell.setCellStyle(cellStyle);//给每个格子设置样式
 }
 

字体居中

cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中

自动换行

cellStyle.setWrapText(true);//自动换行

数字保留两位小数

数字不能用string类型

cellStyle.setDataFormat(2);

合并单元格

//第一行,从第三列开始到第12列合并
sheet.addMergedRegion(new CellRangeAddress(0, 0, 2, 11));
//第三四行合并,一二列合并。默认都是从0开始的
sheet.addMergedRegion(new CellRangeAddress(2, 3, 0, 1));

设置列宽

//设置第一列,宽度为13像素左右
sheet.setColumnWidth(0,256*13+184);

整列求和

//最后一行第6列的位置设置显示求和结果
 theLastCell = lastRow.createCell(5);
 //计算从第F列第8行开始,到要计算的数据的末尾行的和
 theLastCell.setCellType(CellType.FORMULA);
 int sumRow = detailsBeans.size()+7;//得到最后的末尾行
 theLastCell.setCellFormula("SUM(F8:F"+sumRow+")");

数字列字母列转化

//数字列转字母列
 String columnStr = CellReference.convertNumToColString(columnNum);
 //字母列转数字列
 int columnNum = CellReference.convertColStringToIndex(columnStr);

你可能感兴趣的:(Poi导出excel4.0.1版本XSSFWorkbook)