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

dz6r00yl  于 2023-01-21  发布在  Apache
关注(0)|答案(3)|浏览(500)

是否有可能-与apache POI -设置左或右打印页边距的Excel工作表?
默认的边距很大,在XSSFPrintSetup中看不到setLeftMargin和setRightMargin,只能看到页眉和页脚:

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

有没有好心的朋友能帮我一点忙?

6l7fqoea

6l7fqoea1#

工作表边距不包含在XSSFPrintSetup对象中,而是包含在XSSFSheet本身中。使用SheetgetMarginsetMargin方法,为上/左/下/右/页眉/页脚边距传递适当的Sheet常量。设置并获取以英寸为单位的边距。

double leftMarginInches = sheet.getMargin(Sheet.LeftMargin);
sheet.setMargin(Sheet.RightMargin, 0.5 /* inches */ );
368yc8dk

368yc8dk2#

对于Kotlin的以下作品:

// set margins to 0.5 cm = 0.197 inches
    xlWSheet.setMargin(Sheet.LeftMargin, 0.197)
    xlWSheet.setMargin(Sheet.RightMargin, 0.197)
    xlWSheet.setMargin(Sheet.TopMargin, 0.197)
    xlWSheet.setMargin(Sheet.BottomMargin, 0.197)
pkmbmrz7

pkmbmrz73#

枚举现在为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。

相关问题