使用hutoole excel自定义导出,用到的一些方法,代码和注释都贴出来了,包括打印格式,字体,宽高,背景色,全局样式等等。
基本上用到的就这些,能参考的点个赞 谢谢 !
//以上是数据......
//通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter(downloadPath);
//打印 格式
PrintSetup print = writer.getSheet().getPrintSetup();
print.setLandscape(false);
//纸张类型
print.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);
//横向
print.setLandscape(true);
// 横向
print.setNoOrientation(false);
Sheet sheet = writer.getSheet();
//边距
sheet.setMargin(HSSFSheet.BottomMargin,( double ) 0.551);
sheet.setMargin(HSSFSheet.TopMargin,( double ) 0.551 );
sheet.setMargin(HSSFSheet.LeftMargin,( double ) 0.314 );
sheet.setMargin(HSSFSheet.RightMargin,( double ) 0.314 );
sheet.setMargin(HSSFSheet.HeaderMargin,( double ) 0.314 );
sheet.setMargin(HSSFSheet.FooterMargin,( double ) 0.314 );
sheet.setHorizontallyCenter(true);
sheet.setVerticallyCenter(false);
//全局
CellStyle cellStyle = writer.getCellStyle();
//创建标题字体
Font font = writer.createFont();
//大小
font.setFontHeightInPoints((short) 10);
font.setFontName("宋体");
cellStyle.setFont(font);
//全局 宽15
writer.setColumnWidth(-1,15);
writer.setColumnWidth(0,20);
//全局 高25
writer.setRowHeight(-1,25);
//标题样式
CellStyle headCellStyle = writer.getHeadCellStyle();
//设置背景色
headCellStyle.setFillForegroundColor(IndexedColors.WHITE1.getIndex());
//必须设置 否则背景色不生效
headCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
//创建标题字体
Font headFont = writer.createFont();
headFont.setFontName("宋体");
//大小
headFont.setFontHeightInPoints((short) 14);
//加粗
headFont.setBold(true);
headCellStyle.setFont(headFont);
//第一行单独标题样式
CellStyle two = writer.createCellStyle();
two.setFont(headFont);
two.setAlignment(HorizontalAlignment.CENTER);
//合并单元格后的标题行,使用默认标题样式
writer.merge(0,0,0,totalTitle, "测试标题",two);
//一次性写出内容,强制输出标题 rows Map也行 List也行
writer.write(rows, true);
//关闭writer,释放内存
writer.close();