第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > poi导出Excel合并单元格 设置打印参数页眉页脚等

poi导出Excel合并单元格 设置打印参数页眉页脚等

时间:2023-02-23 21:18:57

相关推荐

poi导出Excel合并单元格 设置打印参数页眉页脚等

由于生成文件不能落地,使用SXSSFWorkBook来对excel的导出工作

生成excel步骤:

1.创建workbook

SXSSFWorkbook workbook=new SXSSFWorkbook(rowAccessWindowSize);

rowAccessWindowSize:内存中保留的行数(当值为-1时全部保留)

SXSSFWorkBook为了节省内存,使用滑动窗口协议,当内容的行数大于rowAccessWindowSize时,将大于部分通过xml的方式写到磁盘里(合并单元格时如果是纵向合并,则rowAccessWindowSize要大于等于要合并的单元格数)

2.基于workbook创建一个sheet

Sheet sheet = workbook.createSheet(name);

name表示一个sheet的名字,可以为空;

3.基于sheet创建行

Row row = sheet.createRow(index);

index表示行的坐标;

4.基于row创建单元格及赋值

//创建该行第一列单元格Cell cell = row.createCell(0);//赋值cell.setCellValue("123");

5.合并单元格

/***firstRow:开始行* lastRow:结束行* firstCol:开始列* lastCol:结束列*/CellRangeAddress range = new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);sheet.addMergedRegion(range);

6.设置打印参数及页眉页脚

PrintSetup printSetup = sheet.getPrintSetup();//设置打印方向是否为横向printSetup.setLandscape(true);//设置打印纸张大小printSetup.setPaperSize(HSSFPrintSetup.A3_PAPERSIZE);//设置页眉页脚的边距printSetup.setHeaderMargin(0.8f);printSetup.setFooterMargin(0.8f);//设置打印缩放为70%printSetup.setScale((short) 70);//设置页边距sheet.setMargin(SXSSFSheet.TopMargin,3.0f);sheet.setMargin(SXSSFSheet.BottomMargin,3.0f);sheet.setMargin(SXSSFSheet.RightMargin,3.0f);sheet.setMargin(SXSSFSheet.LeftMargin,3.0f);//设置整体水平居中sheet.setHorizontallyCenter(true);//设置页眉Header header = sheet.getHeader();//给页眉赋值及设置字体样式header.setCenter(HSSFHeader.font("宋体","")+HSSFHeader.fontSize((short) 18)+"这是页眉");//设置页交Footer footer = sheet.getFooter();footer.setCenter("第"+ HSSFFooter.page()+"页,共"+HSSFFooter.numPages()+"页");

7.最后通过workbook.write(OutputStream)写出到流里

通过workbook.dispose()把写到磁盘的文件清理掉;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。