openpyxl.workbook.workbook module

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

Bases: object

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

active

Get the currently active sheet or None

Type:openpyxl.worksheet.worksheet.Worksheet
add_named_range(named_range)[source]

Add an existing named_range to the list of named_ranges.

Note

Deprecated: Use workbook.defined_names.append

add_named_style(style)[source]

Add a named style

chartsheets

A list of Chartsheets in this workbook

Type:list of openpyxl.chartsheet.chartsheet.Chartsheet
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 (unicode) – optional title of the sheet
  • index (int) – optional position at which the sheet will be inserted
data_only
get_active_sheet()[source]

Returns the current active sheet.

Note

Deprecated: Use the .active property

get_index(worksheet)[source]

Return the index of the worksheet.

Note

Deprecated: Use wb.index(worksheet)

get_named_range(name)[source]

Return the range specified by name.

Note

Deprecated: Use workbook.defined_names[name]

get_named_ranges()[source]

Return all named ranges

Note

Deprecated: Use workbook.defined_names.definedName

get_sheet_by_name(name)[source]

Returns a worksheet by its name.

param name:the name of the worksheet to look for
type name:string

Note

Deprecated: Use wb[sheetname]

get_sheet_names()[source]

Note

Deprecated: Use wb.sheetnames

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 worksheet from this workbook.

remove_named_range(named_range)[source]

Remove a named_range from this workbook.

Note

Deprecated: Use del workbook.defined_names[name]

remove_sheet(worksheet)[source]

Remove worksheet from this workbook.

Note

Deprecated: Use wb.remove(worksheet) or del wb[sheetname]

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 this workbook.

Names are returned in the worksheets order.

Type:list of strings
style_names

List of named styles

template = False
worksheets

A list of sheets in this workbook

Type:list of openpyxl.worksheet.worksheet.Worksheet
write_only