我在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);
}
}
但它对我没有帮助。请建议我按照我的预期打印。 提前谢谢。