一、说明
1、此poi指org.apache.poi
2、maven依赖的版本
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
说明1: 不同的版本,操作的类的方式不太一样
二、常用操作
1、设置字体颜色
1)代码
Workbook wb = new SXSSFWorkbook(); Font headerFont = wb.createFont(); headerFont.setColor(IndexedColors.WHITE.getIndex());
说明: 这个版本的颜色,可能支持自定义颜色,但是没有搜到;暂时只能使用枚举
2、设置单元格背景颜色
1)代码
Workbook wb = new SXSSFWorkbook(); CellStyle cellStyle = wb.createCellStyle(); cellStyle.setFillForegroundColor(IndexedColors.SEA_GREEN.getIndex()); cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
说明: 两个属性均需要赋值;代码颜色是绿色
2)示例图
3、设置边框
1)代码
Workbook wb = new SXSSFWorkbook(); CellStyle cellStyle = wb.createCellStyle(); cellStyle.setBorderBottom(BorderStyle.THIN); cellStyle.setBorderLeft(BorderStyle.THIN); cellStyle.setBorderRight(BorderStyle.THIN); cellStyle.setBorderTop(BorderStyle.THIN);
说明: 上下左右,需要分别设置
4、自动换行
1)代码
Workbook wb = new SXSSFWorkbook(); CellStyle cellStyle = wb.createCellStyle(); cellStyle.setWrapText(true);
~~
5、设置字体,设置行宽,设置列高
1)代码
Workbook wb = new SXSSFWorkbook(); CellStyle cellStyle = wb.createCellStyle(); // 创建字体 Font font = wb.createFont(); // 宋体 contentFont.setFontName("宋体"); // 字号:11 contentFont.setFontHeightInPoints((short)11); // 加粗 contentFont.setBold(true); cellStyle.setFont(font); // 创建sheet Sheet sheet = wb.createSheet("sheet1"); // 设置列宽 // 第1列,12个字符 sheet.setColumnWidth(0, 12 * 256); sheet.setColumnWidth(1, 12 * 256); // 第3列,42个字符 sheet.setColumnWidth(2, 42 * 256); // 创建行 Row row = sheet.createRow(0); // 设置行高 row.setHeight((short)(48 * 20)); // 创建单元格 Cell cell = row.createCell(0); // 设置格式 cell.setCellStyle(cellStyle); // 设值 cell.setCellValue(val);
~~
6、合并单元格
1)代码
Workbook wb = new SXSSFWorkbook(); // 创建sheet Sheet sheet = wb.createSheet("sheet1"); // 合并单元格 // 合并第9行的第一列与第二列 // 参数理解: 从第9行到第9行,从第1列到第2列 CellRangeAddress region = new CellRangeAddress(8, 8, 0, 1); sheet.addMergedRegion(region);
2)示例图
~~