// 创建Excel表格工作簿
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("一个sheet");
XSSFCellStyle style = monthWorkbook.createCellStyle();
//设置单元格的边框
// CellStyle.BORDER_DOUBLE 双边线
// CellStyle.BORDER_THIN 细边线
// CellStyle.BORDER_MEDIUM 中等边线
// CellStyle.BORDER_DASHED 虚线边线
// CellStyle.BORDER_HAIR 小圆点虚线边线
// CellStyle.BORDER_THICK 粗边线
style.setBorderTop(XSSFCellStyle.BORDER_THIN);//上边框
style.setBorderBottom(XSSFCellStyle.BORDER_THIN);//下边框
style.setBorderLeft(XSSFCellStyle.BORDER_THIN);//左边框
style.setBorderRight(XSSFCellStyle.BORDER_THIN);//右边框
// 设置单元格边框颜色
style.setBottomBorderColor(new XSSFColor(java.awt.Color.RED));
style.setTopBorderColor(new XSSFColor(java.awt.Color.GREEN));
style.setLeftBorderColor(new XSSFColor(java.awt.Color.BLUE));
// 设置单元格内容水平对其方式
// XSSFCellStyle.ALIGN_CENTER 居中对齐
// XSSFCellStyle.ALIGN_LEFT 左对齐
// XSSFCellStyle.ALIGN_RIGHT 右对齐
style.setAlignment(XSSFCellStyle.ALIGN_CENTER);
// 设置单元格内容垂直对其方式
// XSSFCellStyle.VERTICAL_TOP 上对齐
// XSSFCellStyle.VERTICAL_CENTER 中对齐
// XSSFCellStyle.VERTICAL_BOTTOM 下对齐
style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);
style.setFillForegroundColor(IndexedColors.YELLOW.getIndex());//单元格背景色
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
//自定义单元格颜色
style.setFillPattern(FillPatternType.SOLID_FOREGROUND); //设置填充方案
XSSFColor xssfColor = new XSSFColor();
byte[] colorRgb = { (byte)146, (byte)205, (byte)220 };//颜色参数
xssfColor.setRGB(colorRgb);
style.setFillForegroundColor(xssfColor);//设置填充颜色
//设置字体样式
XSSFFont font = monthWorkbook.createFont();
font.setFontName("宋体");//设置字体名称
font.setFontHeightInPoints((short)10);//设置字号
font.setBold(true);//加粗
font.setItalic(true);// 设置字体为斜体字
font.setColor(Font.COLOR_RED);// 将字体设置为“红色”
font.setUnderline(Font.U_DOUBLE);// 添加(Font.U_SINGLE单条下划线/Font.U_DOUBLE双条下划线)
font.setStrikeout(true);// 是否添加删除线
style.setFont(font);
sheet.setColumnWidth(0, 4 * 256);//设置第一列的宽度是4个字符宽度
monthWorkbook.setSheetName(0, "sheet");//修改第一个sheet名称
XSSFRow rowTitle = sheet.createRow(0);//建行
rowTitle.setHeightInPoints(33);//设置行的高度是33个点
//合并单元格
CellRangeAddress cellRangeAddress= new CellRangeAddress(10 ,10 ,0,2);//第十一行至第十一行,第一列至第三列
sheet.addMergedRegion(cellRangeAddress);
HashMap getMonthFile = new HashMap<>();
File fileTemp = getFile("小额贷款公司与各类民间融资服务机构业务合作情况统计表.xlsx", getMonthFile);
FileOutputStream fileOutputStream = new FileOutputStream(fileTemp);
monthWorkbook.write(fileOutputStream);
fileOutputStream.flush();
fileOutputStream.close();
return getMonthFile;
private File getFile(String fileName, HashMap getMonthFile) {
String filePath = new ParamFileUtil().getConfigProperty("config", "file_path");
String fileRealPath = new ParamFileUtil().getConfigProperty("config", "file_real_path");
filePath += fileName;
getMonthFile.put("fileName", fileName);
getMonthFile.put("filePath", filePath);
File fileTemp = new File(fileRealPath + fileName);
if (!fileTemp.exists()) {
FileUtil.makeDirectory(fileTemp);
}
if (!fileTemp.isDirectory()) {
FileUtil.touch(fileTemp);
}
return fileTemp;
}