Excel::Writer::XLSX Просмотр страниц и разрывы страниц (Perl)
Я искал API, Google, Stackru и т. Д., Пытаясь найти ответ на следующие вопросы, но пока мои поиски разочаровывают. Кто-нибудь может мне помочь?
1) Я пытаюсь использовать опцию set_page_view(), чтобы по умолчанию на рабочем листе отображался "Просмотр разрыва страницы". К сожалению, страница CPAN не дает мне действительные параметры для этой функции. Я попытался использовать set_page_view('Просмотр разрыва страницы'), но вместо этого я получаю представление "Макет страницы".
2) В моем сценарии я ссылаюсь на set_h_pagebreaks() и set_v_pagebreaks, чтобы динамически размещать разрывы страниц при написании листа Excel. Это прекрасно работает, однако иногда рабочие листы также создают разрывы страниц по умолчанию. Есть ли способ удалить разрывы страниц по умолчанию с помощью этого модуля?
Спасибо за любую помощь, которую вы можете предоставить! Я могу предоставить некоторые из моего набора кодов, если это будет необходимо.
2 ответа
По отношению к вашим вопросам:
Предварительный просмотр разрыва страницы в настоящее время не поддерживается Excel::Writer::XLSX.
Модуль Excel:: Writer:: XLSX ничего не делает для установки разрывов страниц по умолчанию. Они, вероятно, установлены самим Excel. Если они есть, то Excel:: Writer:: XLSX не имеет возможности удалить их.
По поводу вашего вопроса: "Есть ли способ удалить разрывы страниц по умолчанию с помощью этого модуля?"
Я думаю, у меня есть начало решения для вас;)
(даже если бы это было 5 лет назад, мой ответ мог бы помочь другим так...)
Я тоже боролся с этим (у меня была вертикальная и горизонтальная автоматическая блокировка страницы, arg, очень раздражает!), Но я пришел к выводу, что, как на веб-сайте офиса, говорится: "Microsoft Excel вставляет автоматические разрывы страниц в зависимости от размера бумаги и настроек полей., параметры масштабирования и позиции вставленных вами разрывов страниц. " ( https://support.office.com/en-us/article/insert-move-or-delete-page-breaks-in-a-worksheet-ad3dc726-beec-4a4c-861f-ed640612bdc2?omkt=en-001&ui=en-US&rs=en-001&ad=US)
Итак, как говорится в этом тексте, ваши автоматические разрывы страниц зависят от нескольких факторов. Какова ваша шкала для печати по примеру? какой у тебя размер бумаги? И так далее...
Лично моя проблема заключалась в том, что у меня была шкала 100% для очень широкого и длинного документа Excel. Поэтому я просто написал функцию, которая вычисляет идеальный масштаб, чтобы избежать автоматического вертикального разрыва страницы, и мои автоматические горизонтальные разрывы страницы исчезли.
Надеюсь, это полезно ^^
РЕДАКТИРОВАТЬ: Вот пример кода
#We put the horizontal page breaks at line 20, 40 and 60
worksheet.set_h_pagebreaks([20,40,60])
#We calculate the ideal scale according to your criterias
ideal_scale=pre_determined_number/width_of_all_columns
#We put a scale and then, Excel won't put some automatic breakline when we'll
#finish to write the excel file
worksheet.set_print_scale(ideal_scale)