Skip to content

Commit

Permalink
Page view can be set to 'pageBreakPreview'
Browse files Browse the repository at this point in the history
Closes #575
  • Loading branch information
patrickziegler committed Dec 6, 2021
1 parent fd5d2d1 commit 06dae72
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 7 deletions.
5 changes: 3 additions & 2 deletions dev/docs/source/page_setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,14 @@ generally need to call this method::
worksheet.set_page_view()
-------------------------

.. py:function:: set_page_view()
.. py:function:: set_page_view([view="pageLayout"])
Set the page view mode.

This method is used to display the worksheet in "Page View/Layout" mode::
This method is used to display the worksheet in "Page View/Layout" or "Page Break Preview" mode::

worksheet.set_page_view()
worksheet.set_page_view("pageBreakPreview")


worksheet.set_paper()
Expand Down
24 changes: 24 additions & 0 deletions xlsxwriter/test/worksheet/test_write_sheet_views1.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,27 @@ def test_write_sheet_views_page_view(self):
got = self.fh.getvalue()

self.assertEqual(got, exp)

def test_write_sheet_views_page_view_page_layout(self):
"""Test the _write_sheet_views() method"""

self.worksheet.select()
self.worksheet.set_page_view("pageLayout")
self.worksheet._write_sheet_views()

exp = """<sheetViews><sheetView tabSelected="1" view="pageLayout" workbookViewId="0"/></sheetViews>"""
got = self.fh.getvalue()

self.assertEqual(got, exp)

def test_write_sheet_views_page_view_page_break_preview(self):
"""Test the _write_sheet_views() method"""

self.worksheet.select()
self.worksheet.set_page_view("pageBreakPreview")
self.worksheet._write_sheet_views()

exp = """<sheetViews><sheetView tabSelected="1" view="pageBreakPreview" workbookViewId="0"/></sheetViews>"""
got = self.fh.getvalue()

self.assertEqual(got, exp)
10 changes: 5 additions & 5 deletions xlsxwriter/worksheet.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ def __init__(self):
self.data_bars_2010 = []
self.use_data_bars_2010 = False
self.dxf_priority = 1
self.page_view = 0
self.page_view = None

self.vba_codename = None

Expand Down Expand Up @@ -3388,18 +3388,18 @@ def set_portrait(self):
self.orientation = 1
self.page_setup_changed = True

def set_page_view(self):
def set_page_view(self, view="pageLayout"):
"""
Set the page view mode.
Args:
None.
view: to be used as attribute for the 'sheetView' xml tag
Returns:
Nothing.
"""
self.page_view = 1
self.page_view = view

def set_paper(self, paper_size):
"""
Expand Down Expand Up @@ -5486,7 +5486,7 @@ def _write_sheet_view(self):

# Set the page view/layout mode if required.
if self.page_view:
attributes.append(('view', 'pageLayout'))
attributes.append(('view', self.page_view))

# Set the zoom level.
if self.zoom != 100:
Expand Down

0 comments on commit 06dae72

Please sign in to comment.