是否可以 - 使用apache POI - 为Excel工作表设置左或右打印边距?
默认边距非常大。我在XSSFPrintSetup中既看不到setLeftMargin也没看到setRightMargin,只看到页眉和页脚:
XSSFPrintSetup printSetup = (XSSFPrintSetup) sheet.getPrintSetup();
printSetup.setHeaderMargin(0.5D);
printSetup.setFooterMargin(0.5D);
有什么善良的朋友可以帮我一点吗?
答案 0 :(得分:20)
工作表边距不包含在XSSFPrintSetup
对象中,而是包含在XSSFSheet
本身中。使用Sheet
的{{3}}和getMargin
方法,为顶部/左侧/底部/右侧/页眉/页脚边距传递适当的Sheet
常量。设置并获得以英寸为单位的边距。
double leftMarginInches = sheet.getMargin(Sheet.LeftMargin);
sheet.setMargin(Sheet.RightMargin, 0.5 /* inches */ );
答案 1 :(得分:-1)
枚举现在是MarginType.LeftMargin,-RightMargin
double leftMargin = sheet.GetMargin(MarginType.LeftMargin);
double rightMargin = sheet.GetMargin(MarginType.RightMargin);
<强>更新强>
此代码前面的代码是:
var workbook = new XSSFWorkbook();
var sheet = workbook.CreateSheet(sheetname);
double leftMargin = sheet.GetMargin(MarginType.LeftMargin);
double rightMargin = sheet.GetMargin(MarginType.RightMargin);
这确实是NPOI。