提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
excel导出遇到的用easypoi注解@excel合并未解决遇到的自定义合并
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用步骤
1.自定义合并行
代码如下(示例):
//设置要合并的单元格
//CellRangeAddress有4个参数:起始行号,终止行号, 起始列号,终止列号
CellRangeAddress mergeExcel1 = new CellRangeAddress(1, 1, 1, 19);
// 创建工作表
Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);
//获取到excel中第一个sheet
Sheet sheetAt0 = workbook.getSheetAt(0);
//合并单元格
sheetAt0.addMergedRegion(mergeExcel1);
2.设置样式及字体
代码如下(示例):
Row sheetAt0Row = sheetAt0.createRow(0);
Cell sheetAt0Cell1 = sheetAt0Row.createCell(0);
HSSFRichTextString sheetAt0Text0 = new HSSFRichTextString(sheetAt0Cell1.getStringCellValue());
CellStyle style = workbook.createCellStyle();
style.setBorderLeft(BorderStyle.THIN);
style.setBorderRight(BorderStyle.THIN);
style.setBorderBottom(BorderStyle.THIN);
style.setBorderTop(BorderStyle.THIN);
//设置sheet0 字体为宋体9号
Font font = workbook.createFont();
//字体样式
font.setFontName("宋体");
//是否加粗
font.setBold(false);
//字体大小
font.setFontHeightInPoints((short) 9);
style.setFont(font);
//将值重新放回cell
sheetAt0Cell1.setCellValue(sheetAt0Text0);
sheetAt0Cell1.setCellStyle(style);
3.设置合并单元格的边框样式
List<CellRangeAddress> mergedRegionsSheetAt0 = sheetAt0.getMergedRegions();
for (CellRangeAddress mergedRegion : mergedRegionsSheetAt0) {
RegionUtil.setBorderTop(BorderStyle.THIN, mergedRegion, sheetAt0);
RegionUtil.setBorderBottom(BorderStyle.THIN, mergedRegion, sheetAt0);
RegionUtil.setBorderLeft(BorderStyle.THIN, mergedRegion, sheetAt0);
RegionUtil.setBorderRight(BorderStyle.THIN, mergedRegion, sheetAt0);
}
总结
以上就是在我写代码用到的,记录下来希望对大家有用。