Я пытался, но не могу найти способ заставить это работать.
Когда вы создаете рабочую книгу, для poi по умолчанию установлены Высота и Ширина Подгонки, равные 1.
Fit Height - это количество страниц высотой
уместить лист в
и
Fit Width - это количество страниц в ширину
вписать лист в
Если вы не установите более высокие значения высоты и ширины печати листа, например, так:
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 это выглядит как Print Preview > Page Setup > Scaling > Down to X% of actual size
]
После увеличения на 10% данные переполняются на странице 2 и т. Д.
Я пробовал лист с большим количеством данных и даже отправил большую область печати
workBook.setPrintArea(
0, //sheet index
0, //start column
50, //end column
0, //start row
520 //end row
);
для печати различных размеров.
sheet.getPrintSetup().setPaperSize((short)11); // A5
Таким образом, область печати / ориентация по умолчанию не изменяются, если вы не переопределите их, поэтому я не думаю, что данные могут быть обнаружены как превышающие область печати - это то, что вы пытаетесь получить.
Это может быть один из списков рассылки POI.
Обновлено , чтобы включить ссылку на это обсуждение в списки рассылки POI, как уже было задано OP.
http://mail-archives.apache.org/mod_mbox/poi-user/201010.mbox/%3c4CBDD258.80407@openforce.com%3e