- 创建ExcelWriter
String fileName = "F:\\4366.xlsx";
ExcelWriter writer = ExcelUtil.getWriter(fileName);
- 表格合并操作
private static void merger(ExcelWriter writer) {
//合并 选择范围至少要两个cell要不会报错
//合并的开始列 ,最后一列
int startCol = 5,lastCol = 10;
//合并开始行 结束行
int startRow = 1,endRow = 5;
String content = "合并后写入的内容";
//合并后设置样式
CellStyle row0Style = writer.createRowStyle(0);
//根据当前行进行合并 0-lastCol 列
writer.merge(lastCol);
//合并后写入内容
writer.merge(lastCol,content);
//合并后 设置表头样式
writer.merge(lastCol,content,false);
//选择合并范围后写入内容 并设置默认的 表头样式
writer.merge(startRow,endRow,startCol,lastCol,content,true);
//选择合并范围后写入内容 并设置样式;
writer.merge(startRow, endRow, startCol,lastCol , content, row0Style);
}
-
全局样式 以下的设置会在后续写入的数据中都按照这个样式进行进行。 设置全局字体
private static void setWorkbookWriteStyle(ExcelWriter writer) {
//宋体 9号
Font allfont = writer.createFont();
allfont.setFontName("宋体");
allfont.setFontHeightInPoints((short) 9);
StyleSet sset = new StyleSet(writer.getWorkbook());
sset.setAlign(HorizontalAlignment.LEFT, VerticalAlignment.CENTER);
sset.setFont(allfont, false);
writer.setStyleSet(sset);
}
- 行样式设置
public static CellStyle rowStyle(ExcelWriter writer) {
CellStyle row0Style = writer.createRowStyle(0);
Font row0Font = writer.createFont();
row0Font.setFontHeightInPoints((short) 18);
row0Font.setFontName("宋体");
row0Font.setBold(true);
row0Style.setFont(row0Font);
//设置对齐的格式 剧中
row0Style.setAlignment(HorizontalAlignment.CENTER);
//设置边框 有以下的格式
// NONE(0),
// THIN(1),
// MEDIUM(2),
// DASHED(3),
// DOTTED(4),
// THICK(5),
// DOUBLE(6),
// HAIR(7),
// MEDIUM_DASHED(8),
// DASH_DOT(9),
// MEDIUM_DASH_DOT(10),
// DASH_DOT_DOT(11),
// MEDIUM_DASH_DOT_DOT(12),
// SLANTED_DASH_DOT(13);
row0Style.setBorderBottom(BorderStyle.DASH_DOT);
row0Style.setBorderLeft(BorderStyle.DOTTED);
row0Style.setBorderRight(BorderStyle.DOUBLE);
row0Style.setBorderTop(BorderStyle.MEDIUM);
//背景色
row0Style.setFillBackgroundColor((short) 9888);
//前景色
row0Style.setFillForegroundColor((short) 9888);
//设置填充方式
row0Style.setFillPattern(FillPatternType.THICK_HORZ_BANDS);
//设置数据格式
row0Style.setDataFormat((short) 1);
return row0Style;
}
- 写入列表数据
//每一行的数据
List<List<Object>> exportList = Lists.newArrayList();
//跳过行数
writer.passRows(3);
writer.write(exportList);
writer.flush();
- 指定单元格式写入数据
writer.getOrCreateCell(x, y).setCellValue("这是一个测试");
- 结束
文章来源地址https://www.toymoban.com/news/detail-538231.html
文章来源:https://www.toymoban.com/news/detail-538231.html
到了这里,关于cn.hutool.poi.excel.ExcelWriter 基础操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!