class Sheet(sheet=None, impl=None)

A sheet object is a member of the sheets collection:

>>> import xlwings as xw
>>> wb = xw.Book()
>>> wb.sheets[0]
<Sheet [Book1]Sheet1>
>>> wb.sheets['Sheet1']
<Sheet [Book1]Sheet1>
>>> wb.sheets.add()
<Sheet [Book1]Sheet2>

Changed in version 0.9.0.


Activates the Sheet and returns it.

property api

Returns the native object (pywin32 or appscript obj) of the engine being used.

Added in version 0.9.0.


Autofits the width of either columns, rows or both on a whole Sheet.


axisstring, default None
  • To autofit rows, use one of the following: rows or r

  • To autofit columns, use one of the following: columns or c

  • To autofit rows and columns, provide no arguments


>>> import xlwings as xw
>>> wb = xw.Book()
>>> wb.sheets['Sheet1'].autofit('c')
>>> wb.sheets['Sheet1'].autofit('r')
>>> wb.sheets['Sheet1'].autofit()

Added in version 0.2.3.

property book

Returns the Book of the specified Sheet. Read-only.

property cells

Returns a Range object that represents all the cells on the Sheet (not just the cells that are currently in use).

Added in version 0.9.0.

property charts

See Charts

Added in version 0.9.0.


Clears the content and formatting of the whole sheet.


Clears the content of the whole sheet but leaves the formatting.


Clears the format of the whole sheet but leaves the content.

Added in version 0.26.2.

copy(before=None, after=None, name=None)

Copy a sheet to the current or a new Book. By default, it places the copied sheet after all existing sheets in the current Book. Returns the copied sheet.

Added in version 0.22.0.


beforesheet object, default None

The sheet object before which you want to place the sheet

aftersheet object, default None

The sheet object after which you want to place the sheet, by default it is placed after all existing sheets

namestr, default None

The sheet name of the copy


Sheet object: Sheet

The copied sheet


# Create two books and add a value to the first sheet of the first book
first_book = xw.Book()
second_book = xw.Book()
first_book.sheets[0]['A1'].value = 'some value'

# Copy to same Book with the default location and name

# Copy to same Book with custom sheet name

# Copy to second Book requires to use before or after

Deletes the Sheet.

Added in version 0.6.0.

property index

Returns the index of the Sheet (1-based as in Excel).

property name

Gets or sets the name of the Sheet.

property names

Returns a names collection that represents all the sheet-specific names (names defined with the “SheetName!” prefix).

Added in version 0.9.0.

property page_setup

Returns a PageSetup object.

Added in version 0.24.2.

property pictures

See Pictures

Added in version 0.9.0.

range(cell1, cell2=None)

Returns a Range object from the active sheet of the active book, see Range().

Added in version 0.9.0.


This method requires xlwings PRO.

Replaces all Jinja variables (e.g {{ myvar }}) in the sheet with the keyword argument that has the same name. Following variable types are supported:

strings, numbers, lists, simple dicts, NumPy arrays, Pandas DataFrames, PIL Image objects that have a filename and Matplotlib figures.

Added in version 0.22.0.


data: kwargs

All key/value pairs that are used in the template.


>>> import xlwings as xw
>>> book = xw.Book()
>>> book.sheets[0]['A1:A2'].value = '{{ myvar }}'
>>> book.sheets[0].render_template(myvar='test')

Selects the Sheet. Select only works on the active book.

Added in version 0.9.0.

property shapes

See Shapes

Added in version 0.9.0.

property tables

See Tables

Added in version 0.21.0.


Export a Sheet as HTML page.


pathstr or path-like, default None

Path where you want to save the HTML file. Defaults to Sheet name in the current working directory.

Added in version 0.28.1.

to_pdf(path=None, layout=None, show=False, quality='standard')

Exports the sheet to a PDF file.


pathstr or path-like object, default None

Path to the PDF file, defaults to the name of the sheet in the same directory of the workbook. For unsaved workbooks, it defaults to the current working directory instead.

layoutstr or path-like object, default None

This argument requires xlwings PRO.

Path to a PDF file on which the report will be printed. This is ideal for headers and footers as well as borderless printing of graphics/artwork. The PDF file either needs to have only 1 page (every report page uses the same layout) or otherwise needs the same amount of pages as the report (each report page is printed on the respective page in the layout PDF).

Added in version 0.24.3.

showbool, default False

Once created, open the PDF file with the default application.

Added in version 0.24.6.

qualitystr, default 'standard'

Quality of the PDF file. Can either be 'standard' or 'minimum'.

Added in version 0.26.2.


>>> wb = xw.Book()
>>> sheet = wb.sheets[0]
>>> sheet['A1'].value = 'PDF'
>>> sheet.to_pdf()

See also xlwings.Book.to_pdf()

Added in version 0.22.3.

property used_range

Used Range of Sheet.



Added in version 0.13.0.

property visible

Gets or sets the visibility of the Sheet (bool).

Added in version 0.21.1.