Apache POI - 在Excel中设置左/右打印边距

时间:2014-01-07 08:14:08

标签: java excel apache-poi

是否可以 - 使用apache POI - 为Excel工作表设置左或右打印边距?

默认边距非常大。我在XSSFPrintSetup中既看不到setLeftMargin也没看到setRightMargin,只看到页眉和页脚:

    XSSFPrintSetup printSetup = (XSSFPrintSetup) sheet.getPrintSetup();
    printSetup.setHeaderMargin(0.5D);
    printSetup.setFooterMargin(0.5D);

有什么善良的朋友可以帮我一点吗?

2 个答案:

答案 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。

相关问题