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

2023-12-26

我有一个要求,由 Apache POI 生成的文件需要生成一个带有以下内容的文件使所有列适合一页设置 https://stackoverflow.com/questions/25741049/how-to-set-fit-all-columns-on-one-page-in-print-tab-of-excel-2013放。我已经尝试了 API 的多种变体,但到目前为止我还无法做到这一点。我也无法真正找到是否可以做到。

似乎是setFitToPage(true)函数调整高度和宽度,而不仅仅是我想要的宽度。使用setFitWidth and 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 的页面设置屏幕中,此方法调用控制对话框中哪个单选按钮处于活动状态。价值true设置“适合:”的单选按钮,允许您控制页面宽度和页面高度框。价值false设置单选按钮“调整为:”,正常尺寸百分比。

在这种情况下,您希望将其调整为 1 页宽乘以“不关心”页高。用于页高的值 (setFitHeight方法)是0 here.

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

当我写出一个Workbook含有一个Sheet完成这些设置后,我在 Excel 中打开它,“页面设置”对话框中选择了“适合:”单选按钮,以及“1 页宽 x(空白)高”。在“打印预览”屏幕中,打印设置选项列出了选定的“将所有列放在一页上”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将文件设置为“适合一页上的所有列”设置 的相关文章

随机推荐