Apache POI – 如何在Excel中设置“适合所有列在一个页面上”的文件
我有一个要求,由Apache POI生成的文件需要生成一个页面中的所有列设置集。 我已经尝试了一堆与API的变化,但到目前为止,我还没有能够做到这一点。 我也不能真正发现是否可以做到。
看起来像setFitToPage(true)
函数调整高度和宽度不只是像我想要的宽度。 使用setFitWidth
和setFitHeight
像我发现在其他各种堆栈溢出问题似乎并没有影响任何东西。
这是我到目前为止:
public void setPrintSettings(Sheet sheet) { sheet.setFitToPage(true); //this will resize both height and width to fit sheet.getPrintSetup().setLandscape(true); sheet.getPrintSetup().setFitWidth((short) 1); sheet.getPrintSetup().setFitHeight((short) 1); }
这不是调用setFitToPage(true)
,使Excel调整高度和宽度以适合一个页面。 这个电话是必要的,但是出于不同的原因。 在Excel的“页面设置”屏幕中,此方法调用控件在对话框中激活哪个单选button。 值为true
将单选button设置为“适合:”,允许您通过页面高框来控制页面。 值为false
将单选button设置为“调整为:”,百分比正常大小。
在这种情况下,您希望通过“不关心”页面将其适合于1页宽。 这里用于页高( setFitHeight
方法)的值是0
。
sheet.setFitToPage(true); PrintSetup ps = sheet.getPrintSetup(); ps.setFitWidth( (short) 1); ps.setFitHeight( (short) 0);
当我写出包含这些设置的Workbook
Sheet
的Workbook
,并在Excel中打开它时,页面设置对话框的“适合:”单选button被选中,“1页宽(空白)高” 。 在“打印预览”屏幕中,打印设置选项列出了“适合一个页面的所有列”。