我正在使用Apache POI创建xls电子表格。有没有办法检测数据是否适合纵向模式,或者是否必须将工作表设置为横向模式?我知道如何设置模式,但是不知道如何找出数据是否适合当前的打印方向。
我正在使用Apache POI创建xls电子表格。有没有办法检测数据是否适合纵向模式,或者是否必须将工作表设置为横向模式?我知道如何设置模式,但是不知道如何找出数据是否适合当前的打印方向。
HSSFPrintSetup printSetup = sheet.getPrintSetup();
sheet.getPrintSetup().setFitWidth((short) 1);
sheet.getPrintSetup().setFitHeight((short) 0);
sheet.setAutobreaks(true);
printSetup .setLandscape(true);
HSSFFooter footer = wygSheet.getFooter();
footer.setCenter("Page " + HSSFFooter.page() + " of "+ HSSFFooter.numPages());
sheet.getPrintSetup().setFitHeight((short)10);
System.out.println (sheet.getPrintSetup().getFitWidth());
System.out.println (sheet.getPrintSetup().getFitHeight());
始终返回1和1
问题是Excel将始终压缩数据(在缩放大小上)到10%,以适应1 x 1页面布局。[在MS_Excel中,这显示为打印预览>页面设置>缩放>缩小到实际大小的X%
]
一旦缩放比例为10%,则会将数据溢出到第2页等。
我尝试了一个有大量数据的工作表,甚至发送了一个大型PrintArea
workBook.setPrintArea(
0, //sheet index
0, //start column
50, //end column
0, //start row
520 //end row
);
以各种打印尺寸为准。
sheet.getPrintSetup().setPaperSize((short)11); // A5