Excel :: Writer :: XLSX页面视图和分页符(Perl)

时间:2013-03-21 21:12:01

标签: perl excel pageviews page-break spreadsheet-excel-writer

我搜索了API,Google,StackOverflow等,试图找到以下问题的答案,但到目前为止,我的任务令人失望。有没有人能够帮助我?

1)我正在尝试使用set_page_view()选项将工作表默认为“分页预览”。不幸的是,CPAN页面没有给我这个函数的有效参数。我尝试过使用set_page_view('Page Break Preview'),但这给了我“页面布局”视图。

2)在我的脚本中,我引用了set_h_pagebreaks()和set_v_pagebreaks,以便在编写Excel工作表时动态放置分页符。这非常有效,但工作表有时也会创建默认的分页符。有没有办法使用此模块删除默认分页符?

感谢您提供的任何帮助!如果需要,我可以提供一些代码集。

2 个答案:

答案 0 :(得分:2)

关于你的问题:

  1. Excel :: Writer :: XLSX目前不支持分页预览。

  2. Excel :: Writer :: XLSX模块无法设置默认分页符。这些可能由Excel本身设置。如果它们是Excel :: Writer :: XLSX没有任何删除它们的工具。

答案 1 :(得分:0)

关于您的问题:“是否可以使用此模块删除默认的分页符?”

我想我为您提供了一个解决方案的开始;)

(即使是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

因此,如本文所述,您的自动分页符取决于几个因素。 举例来说,您的打印比例是多少?您的纸张尺寸是多少?等等...

个人而言,我的问题是,对于一个非常长且很长的excel文档,我的比例为100%。 因此,我只是编写了一个计算理想比例的函数,以避免自动垂直分页符和自动水平分页符消失。

希望这很有用^^


EDIT:这是代码示例

#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)