openpyxl.workbook.workbook module

class openpyxl.workbook.workbook.Workbook(write_only=False)[source]

Bases: object

Workbook is the container for all other parts of the document.

active

Get the currently active sheet or None

add_named_range(*args, **kwargs)[source]

Add an existing named_range to the list of named_ranges.

add_named_style(style)[source]

Add a named style

chartsheets
close()[source]

Close workbook file if open. Only affects read-only and write-only modes.

copy_worksheet(from_worksheet)[source]

Copy an existing worksheet in the current workbook :warning: This function cannot copy worksheets between workbooks. worksheets can only be copied within the workbook that they belong

Parameters:from_worksheet – the worksheet to be copied from
Returns:copy of the initial worksheet
create_chartsheet(title=None, index=None)[source]
create_named_range(name, worksheet=None, value=None, scope=None)[source]

Create a new named_range on a worksheet

create_sheet(title=None, index=None)[source]

Create a worksheet (at an optional index).

Parameters:
  • title – optional title of the sheet
  • index (int) – optional position at which the sheet will be inserted
data_only
get_active_sheet(*args, **kwargs)[source]

Returns the current active sheet.

get_index(*args, **kwargs)[source]

Return the index of the worksheet.

get_named_range(*args, **kwargs)[source]

Return the range specified by name.

get_named_ranges(*args, **kwargs)[source]

Return all named ranges

get_sheet_by_name(*args, **kwargs)[source]

Returns a worksheet by its name.

Parameters:name (string) – the name of the worksheet to look for
get_sheet_names(*args, **kwargs)[source]
index(worksheet)[source]

Return the index of a worksheet.

mime_type

The mime type is determined by whether a workbook is a template or not and whether it contains macros or not. Excel requires the file extension to match but openpyxl does not enforce this.

named_styles

List available named styles

path = '/xl/workbook.xml'
read_only
remove(worksheet)[source]

Remove a worksheet from this workbook.

remove_named_range(*args, **kwargs)[source]

Remove a named_range from this workbook.

remove_sheet(*args, **kwargs)[source]

Remove a worksheet from this workbook.

save(filename)[source]

Save the current workbook under the given filename. Use this function instead of using an ExcelWriter.

Warning

When creating your workbook using write_only set to True, you will only be able to call this function once. Subsequents attempts to modify or save the file will raise an openpyxl.shared.exc.WorkbookAlreadySaved exception.

sheetnames

Returns the list of the names of worksheets in the workbook.

Names are returned in the worksheets order.

Return type:list of strings
style_names

List of named styles

template = False
worksheets
write_only