如何将文件设置为“在一个页面上适合所有列”设置

2022-09-02 20:47:32

我有一个要求,其中Apache POI生成的文件需要生成一个fie,该fie具有适合一个页面设置集的所有列。我已经尝试了API的一系列变体,但到目前为止,我还没有做到。我也不能真正找到是否可以做到。

似乎该函数会调整高度和宽度的大小,而不仅仅是我想要的宽度。使用和我在各种其他堆栈溢出问题中发现的一样,似乎不会影响任何内容。setFitToPage(true)setFitWidthsetFitHeight

以下是我到目前为止所拥有的:

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);

}

答案 1

这不是使Excel调整高度和宽度以适合一个页面的调用。此调用是必要的,但出于不同的原因。在 Excel 的“页面设置”屏幕中,此方法调用控制对话框中处于活动状态的单选按钮。该值将单选按钮设置为“适合:”,允许您按页高框控制页面宽度。该值将单选按钮设置为“调整为:”,正常大小的百分比。setFitToPage(true)truefalse

在这种情况下,您希望通过“不在乎”页面高度将其调整到1页宽。用于页高(方法)的值在这里。setFitHeight0

sheet.setFitToPage(true);
PrintSetup ps = sheet.getPrintSetup();
ps.setFitWidth( (short) 1);
ps.setFitHeight( (short) 0);

当我写出一个包含这些设置的,并在Excel中打开它时,“页面设置”对话框选中了“适合:”单选按钮,并且“1页宽(空白)高”。在“打印预览”屏幕中,打印设置选项会将“适合一页上的所有列”列为选中项。WorkbookSheet


答案 2

推荐