NPOI页脚字体大小设置这里有点坑,特此记录
private void SetSheetPrintSetup(ref XSSFWorkbook _wb, ref ISheet _sheet,int _sheetindex,int titleRow,int titleCol)
{
//设置打印与网格线
_sheet.PrintSetup.PaperSize = (short)PaperSize.A4_Small; //a4纸打印
_sheet.PrintSetup.Landscape = true; //横向打印
_sheet.PrintSetup.FitWidth = 1; //所有列在一页
_sheet.PrintSetup.FitHeight = 0; //所有行在一页
_sheet.FitToPage = true; //这三条语句一起才起作用: 所有列在一页
//_sheet.VerticallyCenter = true; //垂直居中
_sheet.HorizontallyCenter = true; //水平居中
_sheet.DisplayGridlines = false; //隐藏网格线
//设置页眉页脚
IFooter _footer = _sheet.Footer;
_footer.Center ="第 "+ HSSFFooter.Page + " 页,共 " + HSSFFooter.NumPages+" 页";
_footer.Left = HSSFFooter.Font("宋体", "Italic")+ HSSFFooter.FontSize((short)6) + "部门电话";
//设置页眉页脚的边距 0.5=2.5,一个点0.2,这里有点傻,勉强换算为自己想要的数据
_sheet.PrintSetup.HeaderMargin = ((1.3 / 0.5) * 0.2f);
_sheet.PrintSetup.FooterMargin = ((0.5 / 0.5) * 0.2f);
//设置页边距
_sheet.SetMargin(MarginType.LeftMargin, (1.1 / 0.5) * 0.2f);
_sheet.SetMargin(MarginType.BottomMargin, (2.0/0.5)*0.2f);
_sheet.SetMargin(MarginType.RightMargin, (0.9 / 0.5) * 0.2f);
_sheet.SetMargin(MarginType.TopMargin, (4.3 / 0.5) * 0.2f);
//打印标题行
_wb.SetRepeatingRowsAndColumns(_sheetindex, 0,0, 0, titleRow); //固定标题行,不需固定列
}
结果效果: