gpt4 book ai didi

java - 用于打印的手动分页符在 Apache POI excel 中不起作用

转载 作者:行者123 更新时间:2023-12-05 07:43:11 25 4
gpt4 key购买 nike

我在 Apache POI 中使用 XSSFWorkbook、XSSFSheet 进行 excel 下载。在我的excel中,总共有154列。我需要用两张 A3 纸打印它。我必须在第一张 A3 纸上打印前 69 列。第二张表中的剩余列。

工作表实例:XSSFSheet sheet = wb.getSheetAt(sheetNo);

我试过了

    sheet.setAutobreaks(false); 
sheet.setColumnBreak(68); // index value of 69th column

PrintSetup printSetup = sheet.getPrintSetup();
printSetup.setLandscape(true);
printSetup.setFitWidth((short)2);
printSetup.setFitHeight((short)1);
printSetup.setPaperSize(PrintSetup.A3_PAPERSIZE);

但这并没有帮助。这样,第一个打印输出页面包含79列(但只需要69列)

所以我尝试添加

sheet.setColumnBreak(153);
sheet.removeColumnBreak(78); // to remove default page break in 79th column

它也不起作用。

我也尝试过:

for(int i=0; i<= 153; i++)
{
if(i==68 || i== 153)
{
sheet.setColumnBreak(i);
}
else
{
sheet.removeColumnBreak(i);
}
}

但这对我没有帮助。请建议我按预期打印。提前致谢。

最佳答案

sheet.setAutobreaks(false); 不会删除自动分页符。

你应该尝试下面的代码:

sheet.setColumnBreak(68);
spreadsheet1.setFitToPage(true);
XSSFPrintSetup print=spreadsheet1.getPrintSetup();
print.setFitWidth((short) 1);
print.setFitHeight((short)0);
print.setOrientation(PrintOrientation.LANDSCAPE);
print.setPaperSize(PaperSize.A3_PAPER);

关于java - 用于打印的手动分页符在 Apache POI excel 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43908269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com