openpyxl Documentation

481
openpyxl Documentation Release 2.4.9 See AUTHORS Nov 18, 2017

Transcript of openpyxl Documentation

openpyxl DocumentationRelease 2.4.9

See AUTHORS

Nov 18, 2017

Contents

1 Introduction 31.1 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Sample code: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 User List 5

3 How to Contribute Code 7

4 Other ways to help 9

5 Installation 11

6 Working with a checkout 13

7 Usage examples 157.1 Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157.2 Cookbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207.3 Pandas and NumPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237.4 Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647.6 Read/write large files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657.7 Working with styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677.8 Conditional Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747.9 Print Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787.10 Filtering and Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797.11 Worksheet Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807.12 Data Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817.13 Defined Names & Ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837.14 Parsing Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837.15 Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8 Information for Developers 878.1 Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878.2 Testing on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

9 API Documentation 939.1 openpyxl package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

i

10 Indices and tables 351

11 Release Notes 35311.1 2.4.9 (2017-10-19) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35311.2 2.4.8 (2017-05-30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35411.3 2.4.7 (2017-04-24) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35411.4 2.4.6 (2017-04-14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35411.5 2.4.5 (2017-03-07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35411.6 2.4.4 (2017-02-23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35511.7 2.4.3 (unreleased) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35511.8 2.4.2 (2017-01-31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35511.9 2.4.1 (2016-11-23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35611.10 2.4.0 (2016-09-15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35711.11 2.4.0-b1 (2016-06-08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35711.12 2.4.0-a1 (2016-04-11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35811.13 2.3.5 (2016-04-11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35911.14 2.3.4 (2016-03-16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35911.15 2.3.3 (2016-01-18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35911.16 2.3.2 (2015-12-07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36011.17 2.3.1 (2015-11-20) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36011.18 2.3.0 (2015-10-20) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36111.19 2.3.0-b2 (2015-09-04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36111.20 2.3.0-b1 (2015-06-29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36111.21 2.2.6 (unreleased) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36211.22 2.2.5 (2015-06-29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36211.23 2.2.4 (2015-06-17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36311.24 2.2.3 (2015-05-26) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36311.25 2.2.2 (2015-04-28) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36311.26 2.2.1 (2015-03-31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36311.27 2.2.0 (2015-03-11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36411.28 2.2.0-b1 (2015-02-18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36411.29 2.1.5 (2015-02-18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36511.30 2.1.4 (2014-12-16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36511.31 2.1.3 (2014-12-09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36611.32 2.1.2 (2014-10-23) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36611.33 2.1.1 (2014-10-08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36611.34 2.1.0 (2014-09-21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36711.35 2.0.5 (2014-08-08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36811.36 2.0.4 (2014-06-25) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36811.37 2.0.3 (2014-05-22) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36811.38 2.0.2 (2014-05-13) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36811.39 2.0.1 (2014-05-13) brown bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36811.40 2.0.0 (2014-05-13) brown bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36811.41 1.8.6 (2014-05-05) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37011.42 1.8.5 (2014-03-25) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37011.43 1.8.4 (2014-02-25) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37011.44 1.8.3 (2014-02-09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37011.45 1.8.2 (2014-01-17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37111.46 1.8.1 (2014-01-14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37111.47 1.8.0 (2014-01-08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37111.48 1.7.0 (2013-10-31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

Python Module Index 375

ii

openpyxl Documentation, Release 2.4.9

Author Eric Gazoni, Charlie Clark

Source code http://bitbucket.org/openpyxl/openpyxl/src

Issues http://bitbucket.org/openpyxl/openpyxl/issues

Generated Nov 18, 2017

License MIT/Expat

Version 2.4.9

Contents 1

openpyxl Documentation, Release 2.4.9

2 Contents

CHAPTER 1

Introduction

Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.

It was born from lack of existing library to read/write natively from Python the Office Open XML format.

All kudos to the PHPExcel team as openpyxl was initially based on PHPExcel.

1.1 Support

This is an open source project, maintained by volunteers in their spare time. This may well mean that particularfeatures or functions that you would like are missing. But things don’t have to stay that way. You can contribute theproject Development yourself or contract a developer for particular features.

Professional support for openpyxl is available from Clark Consulting & Research and Adimian. Donations to theproject to support further development and maintenance are welcome.

Bug reports and feature requests should be submitted using the issue tracker. Please provide a full traceback of anyerror you see and if possible a sample file. If for reasons of confidentiality you are unable to make a file publiclyavailable then contact of one the developers.

1.2 Sample code:

from openpyxl import Workbookwb = Workbook()

# grab the active worksheetws = wb.active

# Data can be assigned directly to cellsws['A1'] = 42

# Rows can also be appended

3

openpyxl Documentation, Release 2.4.9

ws.append([1, 2, 3])

# Python types will automatically be convertedimport datetimews['A2'] = datetime.datetime.now()

# Save the filewb.save("sample.xlsx")

4 Chapter 1. Introduction

CHAPTER 2

User List

Official user list can be found on http://groups.google.com/group/openpyxl-users

5

openpyxl Documentation, Release 2.4.9

6 Chapter 2. User List

CHAPTER 3

How to Contribute Code

Any help will be greatly appreciated, just follow those steps:

1. Please start a new fork (https://bitbucket.org/openpyxl/openpyxl/fork) for each independent feature,don’t try to fix all problems at the same time, it’s easier for those who will review and merge your changes;-)

2. Hack hack hack

3. Don’t forget to add unit tests for your changes! (YES, even if it’s a one-liner, changes without testswill not be accepted.) There are plenty of examples in the source if you lack know-how or inspiration.

4. If you added a whole new feature, or just improved something, you can be proud of it, so add yourselfto the AUTHORS file :-)

5. Let people know about the shiny thing you just implemented, update the docs!

6. When it’s done, just issue a pull request (click on the large “pull request” button on your repository) andwait for your code to be reviewed, and, if you followed all theses steps, merged into the main repository.

For further information see Development

7

openpyxl Documentation, Release 2.4.9

8 Chapter 3. How to Contribute Code

CHAPTER 4

Other ways to help

There are several ways to contribute, even if you can’t code (or can’t code well):

• triaging bugs on the bug tracker: closing bugs that have already been closed, are not relevant, cannot be repro-duced, ...

• updating documentation in virtually every area: many large features have been added (mainly about charts andimages at the moment) but without any documentation, it’s pretty hard to do anything with it

• proposing compatibility fixes for different versions of Python: we support 2.6 to 3.5, so if it does not work onyour environment, let us know :-)

9

openpyxl Documentation, Release 2.4.9

10 Chapter 4. Other ways to help

CHAPTER 5

Installation

Install openpyxl using pip. It is advisable to do this in a Python virtualenv without system packages:

$ pip install openpyxl

Note: There is support for the popular lxml library which will be used if it is installed. This is particular useful whencreating large files.

Warning: To be able to include images (jpeg, png, bmp,...) into an openpyxl file, you will also need the “pillow”library that can be installed with:

$ pip install pillow

or browse https://pypi.python.org/pypi/Pillow/, pick the latest version and head to the bottom of the page forWindows binaries.

11

openpyxl Documentation, Release 2.4.9

12 Chapter 5. Installation

CHAPTER 6

Working with a checkout

Sometimes you might want to work with the checkout of a particular version. This may be the case if bugs have beenfixed but a release has not yet been made.

$ pip install -e hg+https://bitbucket.org/openpyxl/[email protected]#egg=openpyxl

13

openpyxl Documentation, Release 2.4.9

14 Chapter 6. Working with a checkout

CHAPTER 7

Usage examples

7.1 Tutorial

7.1.1 Manipulating a workbook in memory

Create a workbook

There is no need to create a file on the filesystem to get started with openpyxl. Just import the Workbook class andstart using it

>>> from openpyxl import Workbook>>> wb = Workbook()

A workbook is always created with at least one worksheet. You can get it by using the openpyxl.workbook.Workbook.active() property

>>> ws = wb.active

Note: This function uses the _active_sheet_index property, set to 0 by default. Unless you modify its value, you willalways get the first worksheet by using this method.

You can also create new worksheets by using the openpyxl.workbook.Workbook.create_sheet()method

>>> ws1 = wb.create_sheet("Mysheet") # insert at the end (default)# or>>> ws2 = wb.create_sheet("Mysheet", 0) # insert at first position

Sheets are given a name automatically when they are created. They are numbered in sequence (Sheet, Sheet1, Sheet2,...). You can change this name at any time with the title property:

15

openpyxl Documentation, Release 2.4.9

ws.title = "New Title"

The background color of the tab holding this title is white by default. You can change this providing an RRGGBBcolor code to the sheet_properties.tabColor property:

ws.sheet_properties.tabColor = "1072BA"

Once you gave a worksheet a name, you can get it as a key of the workbook:

>>> ws3 = wb["New Title"]

You can review the names of all worksheets of the workbook with the openpyxl.workbook.Workbook.sheetnames() property

>>> print(wb.sheetnames)['Sheet2', 'New Title', 'Sheet1']

You can loop through worksheets

>>> for sheet in wb:... print(sheet.title)

You can create copies of worksheets within a single workbook:

openpyxl.workbook.Workbook.copy_worksheet() method:

>>> source = wb.active>>> target = wb.copy_worksheet(source)

Note: Only cells (including values, styles, hyperlinks and comments) and certain worksheet attribues (includingdimensions, format and properties) are copied. All other workbook / worksheet attributes are not copied - e.g. Images,Charts.

Note: You cannot copy worksheets between workbooks. You also cannot copy a worksheet if the workbook is openin read-only or write-only mode.

Playing with data

Accessing one cell

Now we know how to access a worksheet, we can start modifying cells content.

Cells can be accessed directly as keys of the worksheet

>>> c = ws['A4']

This will return the cell at A4 or create one if it does not exist yet. Values can be directly assigned

>>> ws['A4'] = 4

There is also the openpyxl.worksheet.Worksheet.cell() method.

This provides access to cells using row and column notation:

16 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

>>> d = ws.cell(row=4, column=2, value=10)

Note: When a worksheet is created in memory, it contains no cells. They are created when first accessed.

Warning: Because of this feature, scrolling through cells instead of accessing them directly will create them allin memory, even if you don’t assign them a value.

Something like

>>> for i in range(1,101):... for j in range(1,101):... ws.cell(row=i, column=j)

will create 100x100 cells in memory, for nothing.

Accessing many cells

Ranges of cells can be accessed using slicing

>>> cell_range = ws['A1':'C2']

Ranges of rows or columns can be obtained similarly:

>>> colC = ws['C']>>> col_range = ws['C:D']>>> row10 = ws[10]>>> row_range = ws[5:10]

You can also use the openpyxl.worksheet.Worksheet.iter_rows() method:

>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):... for cell in row:... print(cell)<Cell Sheet1.A1><Cell Sheet1.B1><Cell Sheet1.C1><Cell Sheet1.A2><Cell Sheet1.B2><Cell Sheet1.C2>

Likewise the openpyxl.worksheet.Worksheet.iter_cols() method will return columns:

>>> for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):... for cell in col:... print(cell)<Cell Sheet1.A1><Cell Sheet1.A2><Cell Sheet1.B1><Cell Sheet1.B2><Cell Sheet1.C1><Cell Sheet1.C2>

If you need to iterate through all the rows or columns of a file, you can instead use the openpyxl.worksheet.Worksheet.rows() property:

7.1. Tutorial 17

openpyxl Documentation, Release 2.4.9

>>> ws = wb.active>>> ws['C9'] = 'hello world'>>> tuple(ws.rows)((<Cell Sheet.A1>, <Cell Sheet.B1>, <Cell Sheet.C1>),(<Cell Sheet.A2>, <Cell Sheet.B2>, <Cell Sheet.C2>),(<Cell Sheet.A3>, <Cell Sheet.B3>, <Cell Sheet.C3>),(<Cell Sheet.A4>, <Cell Sheet.B4>, <Cell Sheet.C4>),(<Cell Sheet.A5>, <Cell Sheet.B5>, <Cell Sheet.C5>),(<Cell Sheet.A6>, <Cell Sheet.B6>, <Cell Sheet.C6>),(<Cell Sheet.A7>, <Cell Sheet.B7>, <Cell Sheet.C7>),(<Cell Sheet.A8>, <Cell Sheet.B8>, <Cell Sheet.C8>),(<Cell Sheet.A9>, <Cell Sheet.B9>, <Cell Sheet.C9>))

or the openpyxl.worksheet.Worksheet.columns() property:

>>> tuple(ws.columns)((<Cell Sheet.A1>,<Cell Sheet.A2>,<Cell Sheet.A3>,<Cell Sheet.A4>,<Cell Sheet.A5>,<Cell Sheet.A6>,...<Cell Sheet.B7>,<Cell Sheet.B8>,<Cell Sheet.B9>),(<Cell Sheet.C1>,<Cell Sheet.C2>,<Cell Sheet.C3>,<Cell Sheet.C4>,<Cell Sheet.C5>,<Cell Sheet.C6>,<Cell Sheet.C7>,<Cell Sheet.C8>,<Cell Sheet.C9>))

Data storage

Once we have a openpyxl.cell.Cell, we can assign it a value:

>>> c.value = 'hello, world'>>> print(c.value)'hello, world'

>>> d.value = 3.14>>> print(d.value)3.14

You can also enable type and format inference:

>>> wb = Workbook(guess_types=True)>>> c.value = '12%'>>> print(c.value)0.12

>>> import datetime

18 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

>>> d.value = datetime.datetime.now()>>> print d.valuedatetime.datetime(2010, 9, 10, 22, 25, 18)

>>> c.value = '31.50'>>> print(c.value)31.5

7.1.2 Saving to a file

The simplest and safest way to save a workbook is by using the openpyxl.workbook.Workbook.save()method of the openpyxl.workbook.Workbook object:

>>> wb = Workbook()>>> wb.save('balances.xlsx')

Warning: This operation will overwrite existing files without warning.

Note: Extension is not forced to be xlsx or xlsm, although you might have some trouble opening it directly withanother application if you don’t use an official extension.

As OOXML files are basically ZIP files, you can also end the filename with .zip and open it with your favourite ZIParchive manager.

You can specify the attribute template=True, to save a workbook as a template:

>>> wb = load_workbook('document.xlsx')>>> wb.template = True>>> wb.save('document_template.xltx')

or set this attribute to False (default), to save as a document:

>>> wb = load_workbook('document_template.xltx')>>> wb.template = False>>> wb.save('document.xlsx', as_template=False)

Warning: You should monitor the data attributes and document extensions for saving documents in the documenttemplates and vice versa, otherwise the result table engine can not open the document.

Note: The following will fail:

>>> wb = load_workbook('document.xlsx')>>> # Need to save with the extension *.xlsx>>> wb.save('new_document.xlsm')>>> # MS Excel can't open the document>>>>>> # or>>>>>> # Need specify attribute keep_vba=True

7.1. Tutorial 19

openpyxl Documentation, Release 2.4.9

>>> wb = load_workbook('document.xlsm')>>> wb.save('new_document.xlsm')>>> # MS Excel will not open the document>>>>>> # or>>>>>> wb = load_workbook('document.xltm', keep_vba=True)>>> # If we need a template document, then we must specify extension as *.xltm.>>> wb.save('new_document.xlsm')>>> # MS Excel will not open the document

7.1.3 Loading from a file

The same way as writing, you can import openpyxl.load_workbook() to open an existing workbook:

>>> from openpyxl import load_workbook>>> wb2 = load_workbook('test.xlsx')>>> print wb2.get_sheet_names()['Sheet2', 'New Title', 'Sheet1']

This ends the tutorial for now, you can proceed to the Simple usage section

7.2 Cookbook

7.2.1 Simple usage

Write a workbook

>>> from openpyxl import Workbook>>> from openpyxl.compat import range>>> from openpyxl.utils import get_column_letter>>>>>> wb = Workbook()>>>>>> dest_filename = 'empty_book.xlsx'>>>>>> ws1 = wb.active>>> ws1.title = "range names">>>>>> for row in range(1, 40):... ws1.append(range(600))>>>>>> ws2 = wb.create_sheet(title="Pi")>>>>>> ws2['F5'] = 3.14>>>>>> ws3 = wb.create_sheet(title="Data")>>> for row in range(10, 20):... for col in range(27, 54):... _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_→˓letter(col)))>>> print(ws3['AA10'].value)

20 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

AA>>> wb.save(filename = dest_filename)

Read an existing workbook

>>> from openpyxl import load_workbook>>> wb = load_workbook(filename = 'empty_book.xlsx')>>> sheet_ranges = wb['range names']>>> print(sheet_ranges['D18'].value)3

Note: There are several flags that can be used in load_workbook.

• guess_types will enable or disable (default) type inference when reading cells.

• data_only controls whether cells with formulae have either the formula (default) or the value stored the last timeExcel read the sheet.

• keep_vba controls whether any Visual Basic elements are preserved or not (default). If they are preserved theyare still not editable.

Warning: openpyxl does currently not read all possible items in an Excel file so images and charts will be lostfrom existing files if they are opened and saved with the same name.

Using number formats

>>> import datetime>>> from openpyxl import Workbook>>> wb = Workbook()>>> ws = wb.active>>> # set date using a Python datetime>>> ws['A1'] = datetime.datetime(2010, 7, 21)>>>>>> ws['A1'].number_format'yyyy-mm-dd h:mm:ss'>>> # You can enable type inference on a case-by-case basis>>> wb.guess_types = True>>> # set percentage using a string followed by the percent sign>>> ws['B1'] = '3.14%'>>> wb.guess_types = False>>> ws['B1'].value0.031400000000000004>>>>>> ws['B1'].number_format'0%'

Using formulae

7.2. Cookbook 21

openpyxl Documentation, Release 2.4.9

>>> from openpyxl import Workbook>>> wb = Workbook()>>> ws = wb.active>>> # add a simple formula>>> ws["A1"] = "=SUM(1, 1)">>> wb.save("formula.xlsx")

Warning: NB you must use the English name for a function and function arguments must be separated by commasand not other punctuation such as semi-colons.

openpyxl never evaluates formula but it is possible to check the name of a formula:

>>> from openpyxl.utils import FORMULAE>>> "HEX2DEC" in FORMULAETrue

If you’re trying to use a formula that isn’t known this could be because you’re using a formula that was not includedin the initial specification. Such formulae must be prefixed with _xlfn. to work.

Merge / Unmerge cells

When you merge cells all cells but the top-left one are removed from the worksheet. See Styling Merged Cells forinformation on formatting merged cells.

>>> from openpyxl.workbook import Workbook>>>>>> wb = Workbook()>>> ws = wb.active>>>>>> ws.merge_cells('A2:D2')>>> ws.unmerge_cells('A2:D2')>>>>>> # or equivalently>>> ws.merge_cells(start_row=2,start_column=1,end_row=2,end_column=4)>>> ws.unmerge_cells(start_row=2,start_column=1,end_row=2,end_column=4)

Inserting an image

>>> from openpyxl import Workbook>>> from openpyxl.drawing.image import Image>>>>>> wb = Workbook()>>> ws = wb.active>>> ws['A1'] = 'You should see three logos below'

>>> # create an image>>> img = Image('logo.png')

>>> # add to worksheet and anchor next to cells>>> ws.add_image(img, 'A1')>>> wb.save('logo.xlsx')

22 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Fold columns (outline)

>>> import openpyxl>>> wb = openpyxl.Workbook()>>> ws = wb.create_sheet()>>> ws.column_dimensions.group('A','D', hidden=True)>>> wb.save('group.xlsx')

7.3 Pandas and NumPy

7.3.1 Working with Pandas and NumPy

openpyxl is able to work with the popular libraries Pandas and NumPy

NumPy Support

openpyxl has builtin support for the NumPy types float, integer and boolean. DateTimes are supported using thePandas’ Timestamp type.

Working with Pandas Dataframes

The openpyxl.utils.dataframe.dataframe_to_rows() function provides a simple way to work withPandas Dataframes:

from openpyxl.utils.dataframe import dataframe_to_rowswb = Workbook()ws = wb.active

for r in dataframe_to_rows(df, index=True, header=True):ws.append(r)

While Pandas itself supports conversion to Excel, this gives client code additional flexibility including the ability tostream dataframes straight to files.

To convert a dataframe into a worksheet highlighting the header and index:

wb = Workbook()ws = wb.active

for r in dataframe_to_rows(df, index=True, header=True):ws.append(r)

for cell in ws['A'] + ws[1]:cell.style = 'Pandas'

wb.save("pandas_openpyxl.xlsx")

Alternatively, if you just want to convert the data you can use write-only mode:

from openpyxl.cell.cell import WriteOnlyCellwb = Workbook(write_only=True)ws = wb.create_sheet()

7.3. Pandas and NumPy 23

openpyxl Documentation, Release 2.4.9

cell = WriteOnlyCell(ws)cell.style = 'Pandas'

def format_first_row(row, cell):

for c in row:cell.value = cyield cell

rows = dataframe_to_rows(df)first_row = format_first_row(next(rows), cell)ws.append(first_row)

for row in rows:row = list(row)cell.value = row[0]row[0] = cellws.append(row)

wb.save("openpyxl_stream.xlsx")

This code will work just as well with a standard workbook.

Converting a worksheet to a Dataframe

To convert a worksheet to a Dataframe you can use the values property. This is very easy if the worksheet has noheaders or indices:

df = DataFrame(ws.values)

If the worksheet does have headers or indices, such as one created by Pandas, then a little more work is required:

data = ws.valuescols = next(data)[1:]data = list(data)idx = [r[0] for r in data]data = (islice(r, 1, None) for r in data)df = DataFrame(data, index=idx, columns=cols)

7.4 Charts

7.4.1 Charts

Warning: Openpyxl currently supports chart creation within a worksheet only. Charts in existing workbooks willbe lost.

Chart types

The following charts are available:

24 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Area Charts

2D Area Charts

Area charts are similar to line charts with the addition that the area underneath the plotted line is filled. Differentvariants are available by setting the grouping to “standard”, “stacked” or “percentStacked”; “standard” is the default.

from openpyxl import Workbookfrom openpyxl.chart import (

AreaChart,Reference,Series,

)

wb = Workbook()ws = wb.active

rows = [['Number', 'Batch 1', 'Batch 2'],[2, 40, 30],[3, 40, 25],[4, 50, 30],[5, 30, 10],[6, 25, 5],[7, 50, 10],

]

for row in rows:ws.append(row)

chart = AreaChart()chart.title = "Area Chart"chart.style = 13chart.x_axis.title = 'Test'chart.y_axis.title = 'Percentage'

cats = Reference(ws, min_col=1, min_row=1, max_row=7)data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=7)chart.add_data(data, titles_from_data=True)chart.set_categories(cats)

ws.add_chart(chart, "A10")

wb.save("area.xlsx")

7.4. Charts 25

openpyxl Documentation, Release 2.4.9

3D Area Charts

You can also create 3D area charts

from openpyxl import Workbookfrom openpyxl.chart import (

AreaChart3D,Reference,Series,

)

wb = Workbook()ws = wb.active

rows = [['Number', 'Batch 1', 'Batch 2'],[2, 30, 40],[3, 25, 40],[4 ,30, 50],[5 ,10, 30],[6, 5, 25],[7 ,10, 50],

26 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

]

for row in rows:ws.append(row)

chart = AreaChart3D()chart.title = "Area Chart"chart.style = 13chart.x_axis.title = 'Test'chart.y_axis.title = 'Percentage'chart.legend = None

cats = Reference(ws, min_col=1, min_row=1, max_row=7)data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=7)chart.add_data(data, titles_from_data=True)chart.set_categories(cats)

ws.add_chart(chart, "A10")

wb.save("area3D.xlsx")

This produces a simple 3D area chart where third axis can be used to replace the legend:

7.4. Charts 27

openpyxl Documentation, Release 2.4.9

Bar and Column Charts

In bar charts values are plotted as either horizontal bars or vertical columns.

Vertical, Horizontal and Stacked Bar Charts

Note: The following settings affect the different chart types.

Switch between vertical and horizontal bar charts by setting type to col or bar respectively.

When using stacked charts the overlap needs to be set to 100.

If bars are horizontal, x and y axes are revesed.

from openpyxl import Workbookfrom openpyxl.chart import BarChart, Series, Reference

wb = Workbook(write_only=True)ws = wb.create_sheet()

rows = [('Number', 'Batch 1', 'Batch 2'),(2, 10, 30),(3, 40, 60),(4, 50, 70),(5, 20, 10),

28 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

(6, 10, 40),(7, 50, 30),

]

for row in rows:ws.append(row)

chart1 = BarChart()chart1.type = "col"chart1.style = 10chart1.title = "Bar Chart"chart1.y_axis.title = 'Test number'chart1.x_axis.title = 'Sample length (mm)'

data = Reference(ws, min_col=2, min_row=1, max_row=7, max_col=3)cats = Reference(ws, min_col=1, min_row=2, max_row=7)chart1.add_data(data, titles_from_data=True)chart1.set_categories(cats)chart1.shape = 4ws.add_chart(chart1, "A10")

from copy import deepcopy

chart2 = deepcopy(chart1)chart2.style = 11chart2.type = "bar"chart2.title = "Horizontal Bar Chart"

ws.add_chart(chart2, "G10")

chart3 = deepcopy(chart1)chart3.type = "col"chart3.style = 12chart3.grouping = "stacked"chart3.overlap = 100chart3.title = 'Stacked Chart'

ws.add_chart(chart3, "A27")

chart4 = deepcopy(chart1)chart4.type = "bar"chart4.style = 13chart4.grouping = "percentStacked"chart4.overlap = 100chart4.title = 'Percent Stacked Chart'

ws.add_chart(chart4, "G27")

wb.save("bar.xlsx")

This will produce four charts illustrating the various possibilities.

7.4. Charts 29

openpyxl Documentation, Release 2.4.9

3D Bar Charts

You can also create 3D bar charts

from openpyxl import Workbookfrom openpyxl.chart import (

Reference,Series,BarChart3D,

)

wb = Workbook()ws = wb.active

rows = [(None, 2013, 2014),("Apples", 5, 4),("Oranges", 6, 2),("Pears", 8, 3)

]

for row in rows:ws.append(row)

data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=4)titles = Reference(ws, min_col=1, min_row=2, max_row=4)chart = BarChart3D()chart.title = "3D Bar Chart"chart.add_data(data=data, titles_from_data=True)chart.set_categories(titles)

ws.add_chart(chart, "E5")wb.save("bar3d.xlsx")

This produces a simple 3D bar chart

Bubble Charts

Bubble charts are similar to scatter charts but use a third dimension to determine the size of the bubbles. Charts caninclude multiple series.

30 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

"""Sample bubble chart"""

from openpyxl import Workbookfrom openpyxl.chart import Series, Reference, BubbleChart

wb = Workbook()ws = wb.active

rows = [("Number of Products", "Sales in USD", "Market share"),(14, 12200, 15),(20, 60000, 33),(18, 24400, 10),(22, 32000, 42),(),(12, 8200, 18),(15, 50000, 30),(19, 22400, 15),(25, 25000, 50),

]

for row in rows:ws.append(row)

chart = BubbleChart()chart.style = 18 # use a preset style

# add the first series of dataxvalues = Reference(ws, min_col=1, min_row=2, max_row=5)yvalues = Reference(ws, min_col=2, min_row=2, max_row=5)size = Reference(ws, min_col=3, min_row=2, max_row=5)series = Series(values=yvalues, xvalues=xvalues, zvalues=size, title="2013")chart.series.append(series)

# add the secondxvalues = Reference(ws, min_col=1, min_row=7, max_row=10)yvalues = Reference(ws, min_col=2, min_row=7, max_row=10)size = Reference(ws, min_col=3, min_row=7, max_row=10)series = Series(values=yvalues, xvalues=xvalues, zvalues=size, title="2014")chart.series.append(series)

# place the chart starting in cell E1ws.add_chart(chart, "E1")wb.save("bubble.xlsx")

This will produce bubble chart with two series and should look something like this

7.4. Charts 31

openpyxl Documentation, Release 2.4.9

Line Charts

Line Charts

Line charts allow data to be plotted against a fixed axis. They are similar to scatter charts, the main difference isthat with line charts each data series is plotted against the same values. Different kinds of axes can be used for thesecondary axes.

Similar to bar charts there are three kinds of line charts: standard, stacked and percentStacked.

from datetime import date

from openpyxl import Workbookfrom openpyxl.chart import (

LineChart,Reference,

)from openpyxl.chart.axis import DateAxis

wb = Workbook()ws = wb.active

rows = [['Date', 'Batch 1', 'Batch 2', 'Batch 3'],[date(2015,9, 1), 40, 30, 25],[date(2015,9, 2), 40, 25, 30],[date(2015,9, 3), 50, 30, 45],[date(2015,9, 4), 30, 25, 40],[date(2015,9, 5), 25, 35, 30],[date(2015,9, 6), 20, 40, 35],

]

for row in rows:ws.append(row)

c1 = LineChart()c1.title = "Line Chart"c1.style = 13c1.y_axis.title = 'Size'c1.x_axis.title = 'Test Number'

data = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=7)c1.add_data(data, titles_from_data=True)

32 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

# Style the liness1 = c1.series[0]s1.marker.symbol = "triangle"s1.marker.graphicalProperties.solidFill = "FF0000" # Marker fillings1.marker.graphicalProperties.line.solidFill = "FF0000" # Marker outline

s1.graphicalProperties.line.noFill = True

s2 = c1.series[1]s2.graphicalProperties.line.solidFill = "00AAAA"s2.graphicalProperties.line.dashStyle = "sysDot"s2.graphicalProperties.line.width = 100050 # width in EMUs

s2 = c1.series[2]s2.smooth = True # Make the line smooth

ws.add_chart(c1, "A10")

from copy import deepcopystacked = deepcopy(c1)stacked.grouping = "stacked"stacked.title = "Stacked Line Chart"ws.add_chart(stacked, "A27")

percent_stacked = deepcopy(c1)percent_stacked.grouping = "percentStacked"percent_stacked.title = "Percent Stacked Line Chart"ws.add_chart(percent_stacked, "A44")

# Chart with date axisc2 = LineChart()c2.title = "Date Axis"c2.style = 12c2.y_axis.title = "Size"c2.y_axis.crossAx = 500c2.x_axis = DateAxis(crossAx=100)c2.x_axis.number_format = 'd-mmm'c2.x_axis.majorTimeUnit = "days"c2.x_axis.title = "Date"

c2.add_data(data, titles_from_data=True)dates = Reference(ws, min_col=1, min_row=2, max_row=7)c2.set_categories(dates)

ws.add_chart(c2, "A61")

wb.save("line.xlsx")

7.4. Charts 33

openpyxl Documentation, Release 2.4.9

34 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

3D Line Charts

In 3D line charts the third axis is the same as the legend for the series.

from datetime import date

from openpyxl import Workbookfrom openpyxl.chart import (

LineChart3D,Reference,

)from openpyxl.chart.axis import DateAxis

wb = Workbook()ws = wb.active

rows = [['Date', 'Batch 1', 'Batch 2', 'Batch 3'],[date(2015,9, 1), 40, 30, 25],[date(2015,9, 2), 40, 25, 30],[date(2015,9, 3), 50, 30, 45],[date(2015,9, 4), 30, 25, 40],[date(2015,9, 5), 25, 35, 30],[date(2015,9, 6), 20, 40, 35],

]

for row in rows:ws.append(row)

c1 = LineChart3D()c1.title = "3D Line Chart"c1.legend = Nonec1.style = 15c1.y_axis.title = 'Size'c1.x_axis.title = 'Test Number'

data = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=7)c1.add_data(data, titles_from_data=True)

ws.add_chart(c1, "A10")

wb.save("line3D.xlsx")

7.4. Charts 35

openpyxl Documentation, Release 2.4.9

Scatter Charts

Scatter, or xy, charts are similar to some line charts. The main difference is that one series of values is plotted againstanother. This is useful where values are unordered.

from openpyxl import Workbookfrom openpyxl.chart import (

ScatterChart,Reference,Series,

)

wb = Workbook()ws = wb.active

rows = [['Size', 'Batch 1', 'Batch 2'],[2, 40, 30],[3, 40, 25],[4, 50, 30],[5, 30, 25],

36 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

[6, 25, 35],[7, 20, 40],

]

for row in rows:ws.append(row)

chart = ScatterChart()chart.title = "Scatter Chart"chart.style = 13chart.x_axis.title = 'Size'chart.y_axis.title = 'Percentage'

xvalues = Reference(ws, min_col=1, min_row=2, max_row=7)for i in range(2, 4):

values = Reference(ws, min_col=i, min_row=1, max_row=7)series = Series(values, xvalues, title_from_data=True)chart.series.append(series)

ws.add_chart(chart, "A10")

wb.save("scatter.xlsx")

7.4. Charts 37

openpyxl Documentation, Release 2.4.9

Note: The specification says that there are the following types of scatter charts: ‘line’, ‘lineMarker’, ‘marker’,‘smooth’, ‘smoothMarker’. However, at least in Microsoft Excel, this is just a shortcut for other settings that otherwiseno effect. For consistency with line charts, the style for each series should be set manually.

Pie Charts

Pie Charts

Pie charts plot data as slices of a circle with each slice representing the percentage of the whole. Slices are plotted ina clockwise direction with 0° being at the top of the circle. Pie charts can only take a single series of data. The title ofthe chart will default to being the title of the series.

from openpyxl import Workbook

from openpyxl.chart import (PieChart,ProjectedPieChart,Reference

)from openpyxl.chart.series import DataPoint

data = [['Pie', 'Sold'],['Apple', 50],['Cherry', 30],['Pumpkin', 10],['Chocolate', 40],

]

wb = Workbook()ws = wb.active

for row in data:ws.append(row)

pie = PieChart()labels = Reference(ws, min_col=1, min_row=2, max_row=5)data = Reference(ws, min_col=2, min_row=1, max_row=5)pie.add_data(data, titles_from_data=True)pie.set_categories(labels)pie.title = "Pies sold by category"

# Cut the first slice out of the pieslice = DataPoint(idx=0, explosion=20)pie.series[0].data_points = [slice]

ws.add_chart(pie, "D1")

ws = wb.create_sheet(title="Projection")

data = [['Page', 'Views'],['Search', 95],

38 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

['Products', 4],['Offers', 0.5],['Sales', 0.5],

]

for row in data:ws.append(row)

projected_pie = ProjectedPieChart()projected_pie.type = "pie"projected_pie.splitType = "val" # split by valuelabels = Reference(ws, min_col=1, min_row=2, max_row=5)data = Reference(ws, min_col=2, min_row=1, max_row=5)projected_pie.add_data(data, titles_from_data=True)projected_pie.set_categories(labels)

ws.add_chart(projected_pie, "A10")

from copy import deepcopyprojected_bar = deepcopy(projected_pie)projected_bar.type = "bar"projected_bar.splitType = 'pos' # split by position

ws.add_chart(projected_bar, "A27")

wb.save("pie.xlsx")

Projected Pie Charts

Projected pie charts extract some slices from a pie chart and project them into a second pie or bar chart. This is usefulwhen there are several smaller items in the data series. The chart can be split according percent, val(ue) or pos(ition).If nothing is set then the application decides which to use. In addition custom splits can be defined.

7.4. Charts 39

openpyxl Documentation, Release 2.4.9

40 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

3D Pie Charts

Pie charts can also be created with a 3D effect.

from openpyxl import Workbook

from openpyxl.chart import (PieChart3D,Reference

)

data = [['Pie', 'Sold'],['Apple', 50],['Cherry', 30],['Pumpkin', 10],['Chocolate', 40],

]

wb = Workbook()ws = wb.active

for row in data:ws.append(row)

pie = PieChart3D()labels = Reference(ws, min_col=1, min_row=2, max_row=5)data = Reference(ws, min_col=2, min_row=1, max_row=5)pie.add_data(data, titles_from_data=True)pie.set_categories(labels)pie.title = "Pies sold by category"

ws.add_chart(pie, "D1")

wb.save("pie3D.xlsx")

Doughnut Charts

Doughnut charts are similar to pie charts except that they use a ring instead of a circle. They can also plot severalseries of data as concentric rings.

7.4. Charts 41

openpyxl Documentation, Release 2.4.9

from openpyxl import Workbook

from openpyxl.chart import (DoughnutChart,Reference,Series,

)from openpyxl.chart.series import DataPoint

data = [['Pie', 2014, 2015],['Plain', 40, 50],['Jam', 2, 10],['Lime', 20, 30],['Chocolate', 30, 40],

]

wb = Workbook()ws = wb.active

for row in data:ws.append(row)

chart = DoughnutChart()labels = Reference(ws, min_col=1, min_row=2, max_row=5)data = Reference(ws, min_col=2, min_row=1, max_row=5)chart.add_data(data, titles_from_data=True)chart.set_categories(labels)chart.title = "Doughnuts sold by category"chart.style = 26

# Cut the first slice out of the doughnutslices = [DataPoint(idx=i) for i in range(4)]plain, jam, lime, chocolate = sliceschart.series[0].data_points = slicesplain.graphicalProperties.solidFill = "FAE1D0"jam.graphicalProperties.solidFill = "BB2244"lime.graphicalProperties.solidFill = "22DD22"chocolate.graphicalProperties.solidFill = "61210B"chocolate.explosion = 10

ws.add_chart(chart, "E1")

from copy import deepcopy

chart2 = deepcopy(chart)chart2.title = Nonedata = Reference(ws, min_col=3, min_row=1, max_row=5)series2 = Series(data, title_from_data=True)series2.data_points = sliceschart2.series.append(series2)

ws.add_chart(chart2, "E17")

wb.save("doughnut.xlsx")

42 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Radar Charts

Data that is arranged in columns or rows on a worksheet can be plotted in a radar chart. Radar charts compare theaggregate values of multiple data series. It is effectively a projection of an area chart on a circular x-axis.

There are two types of radar chart: standard, where the area is marked with a line; and filled where the where thewhole area is filled. The additional type “marker” has no effect. If markers are desired these can be set for the relevantseries.

from openpyxl import Workbookfrom openpyxl.chart import (

RadarChart,Reference,

)

wb = Workbook()ws = wb.active

rows = [['Month', "Bulbs", "Seeds", "Flowers", "Trees & shrubs"],['Jan', 0, 2500, 500, 0,],['Feb', 0, 5500, 750, 1500],['Mar', 0, 9000, 1500, 2500],['Apr', 0, 6500, 2000, 4000],['May', 0, 3500, 5500, 3500],['Jun', 0, 0, 7500, 1500],['Jul', 0, 0, 8500, 800],['Aug', 1500, 0, 7000, 550],['Sep', 5000, 0, 3500, 2500],['Oct', 8500, 0, 2500, 6000],['Nov', 3500, 0, 500, 5500],

7.4. Charts 43

openpyxl Documentation, Release 2.4.9

['Dec', 500, 0, 100, 3000 ],]

for row in rows:ws.append(row)

chart = RadarChart()chart.type = "filled"labels = Reference(ws, min_col=1, min_row=2, max_row=13)data = Reference(ws, min_col=2, max_col=5, min_row=1, max_row=13)chart.add_data(data, titles_from_data=True)chart.set_categories(labels)chart.style = 26chart.title = "Garden Centre Sales"chart.y_axis.delete = True

ws.add_chart(chart, "A17")

wb.save("radar.xlsx")

44 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Stock Charts

Data that is arranged in columns or rows in a specific order on a worksheet can be plotted in a stock chart. As itsname implies, a stock chart is most often used to illustrate the fluctuation of stock prices. However, this chart mayalso be used for scientific data. For example, you could use a stock chart to indicate the fluctuation of daily or annualtemperatures. You must organize your data in the correct order to create stock charts.

The way stock chart data is organized in the worksheet is very important. For example, to create a simple high-low-close stock chart, you should arrange your data with High, Low, and Close entered as column headings, in thatorder.

Although stock charts are a distinct type, the various types are just shortcuts for particular formatting options:

7.4. Charts 45

openpyxl Documentation, Release 2.4.9

• high-low-close is essentially a line chart with no lines and the marker set to XYZ. It also sets hiLoLines to True

• open-high-low-close is the as a high-low-close chart with the marker for each data point set to XZZ and up-DownLines.

Volume can be added by combining the stock chart with a bar chart for the volume.

from datetime import date

from openpyxl import Workbook

from openpyxl.chart import (BarChart,StockChart,Reference,Series,

)from openpyxl.chart.axis import DateAxis, ChartLinesfrom openpyxl.chart.updown_bars import UpDownBars

wb = Workbook()ws = wb.active

rows = [['Date', 'Volume','Open', 'High', 'Low', 'Close'],['2015-01-01', 20000, 26.2, 27.20, 23.49, 25.45, ],['2015-01-02', 10000, 25.45, 25.03, 19.55, 23.05, ],['2015-01-03', 15000, 23.05, 24.46, 20.03, 22.42, ],['2015-01-04', 2000, 22.42, 23.97, 20.07, 21.90, ],['2015-01-05', 12000, 21.9, 23.65, 19.50, 21.51, ],

]

for row in rows:ws.append(row)

# High-low-closec1 = StockChart()labels = Reference(ws, min_col=1, min_row=2, max_row=6)data = Reference(ws, min_col=4, max_col=6, min_row=1, max_row=6)c1.add_data(data, titles_from_data=True)c1.set_categories(labels)for s in c1.series:

s.graphicalProperties.line.noFill = True# marker for closes.marker.symbol = "dot"s.marker.size = 5c1.title = "High-low-close"c1.hiLowLines = ChartLines()

# Excel is broken and needs a cache of values in order to display hiLoLines :-/from openpyxl.chart.data_source import NumData, NumValpts = [NumVal(idx=i) for i in range(len(data) - 1)]cache = NumData(pt=pts)c1.series[-1].val.numRef.numCache = cache

ws.add_chart(c1, "A10")

# Open-high-low-close

46 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

c2 = StockChart()data = Reference(ws, min_col=3, max_col=6, min_row=1, max_row=6)c2.add_data(data, titles_from_data=True)c2.set_categories(labels)for s in c2.series:

s.graphicalProperties.line.noFill = Truec2.hiLowLines = ChartLines()c2.upDownBars = UpDownBars()c2.title = "Open-high-low-close"

# add dummy cachec2.series[-1].val.numRef.numCache = cache

ws.add_chart(c2, "G10")

# Create bar chart for volume

bar = BarChart()data = Reference(ws, min_col=2, min_row=1, max_row=6)bar.add_data(data, titles_from_data=True)bar.set_categories(labels)

from copy import deepcopy

# Volume-high-low-closeb1 = deepcopy(bar)c3 = deepcopy(c1)c3.y_axis.majorGridlines = Nonec3.y_axis.title = "Price"b1.y_axis.axId = 20b1.z_axis = c3.y_axisb1.y_axis.crosses = "max"b1 += c3

c3.title = "High low close volume"

ws.add_chart(b1, "A27")

## Volume-open-high-low-closeb2 = deepcopy(bar)c4 = deepcopy(c2)c4.y_axis.majorGridlines = Nonec4.y_axis.title = "Price"b2.y_axis.axId = 20b2.z_axis = c4.y_axisb2.y_axis.crosses = "max"b2 += c4

ws.add_chart(b2, "G27")

wb.save("stock.xlsx")

Warning: Due to a bug in Excel high-low lines will only be shown if at least one of the data series has somedummy values. This can be done with the following hack:

7.4. Charts 47

openpyxl Documentation, Release 2.4.9

from openpyxl.chart.data_source import NumData, NumValpts = [NumVal(idx=i) for i in range(len(data) - 1)]cache = NumData(pt=pts)c1.series[-1].val.numRef.numCache = cache

Surface charts

Data that is arranged in columns or rows on a worksheet can be plotted in a surface chart. A surface chart is usefulwhen you want to find optimum combinations between two sets of data. As in a topographic map, colors and patternsindicate areas that are in the same range of values.

By default all surface charts are 3D. 2D wireframe and contour charts are created by setting the rotation and perspec-tive.

from openpyxl import Workbookfrom openpyxl.chart import (

SurfaceChart,SurfaceChart3D,Reference,Series,

)from openpyxl.chart.axis import SeriesAxis

wb = Workbook()ws = wb.active

48 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

data = [[None, 10, 20, 30, 40, 50,],[0.1, 15, 65, 105, 65, 15,],[0.2, 35, 105, 170, 105, 35,],[0.3, 55, 135, 215, 135, 55,],[0.4, 75, 155, 240, 155, 75,],[0.5, 80, 190, 245, 190, 80,],[0.6, 75, 155, 240, 155, 75,],[0.7, 55, 135, 215, 135, 55,],[0.8, 35, 105, 170, 105, 35,],[0.9, 15, 65, 105, 65, 15],

]

for row in data:ws.append(row)

c1 = SurfaceChart()ref = Reference(ws, min_col=2, max_col=6, min_row=1, max_row=10)labels = Reference(ws, min_col=1, min_row=2, max_row=10)c1.add_data(ref, titles_from_data=True)c1.set_categories(labels)c1.title = "Contour"

ws.add_chart(c1, "A12")

from copy import deepcopy

# wireframec2 = deepcopy(c1)c2.wireframe = Truec2.title = "2D Wireframe"

ws.add_chart(c2, "G12")

# 3D Surfacec3 = SurfaceChart3D()c3.add_data(ref, titles_from_data=True)c3.set_categories(labels)c3.title = "Surface"

ws.add_chart(c3, "A29")

c4 = deepcopy(c3)c4.wireframe = Truec4.title = "3D Wireframe"

ws.add_chart(c4, "G29")

wb.save("surface.xlsx")

7.4. Charts 49

openpyxl Documentation, Release 2.4.9

Creating a chart

Charts are composed of at least one series of one or more data points. Series themselves are comprised of referencesto cell ranges.

>>> from openpyxl import Workbook>>> wb = Workbook()>>> ws = wb.active>>> for i in range(10):... ws.append([i])>>>>>> from openpyxl.chart import BarChart, Reference, Series>>> values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)>>> chart = BarChart()>>> chart.add_data(values)>>> ws.add_chart(chart, "E15")>>> wb.save("SampleChart.xlsx")

By default the top-left corner of a chart is anchored to cell E15 and the size is 15 x 7.5 cm (approximately 5columns by 14 rows). This can be changed by setting the anchor, width and height properties of the chart. Theactual size will depend on operating system and device. Other anchors are possible see openpyxl.drawing.spreadsheet_drawing for further information.

50 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Working with axes

Axis Limits and Scale

Minima and Maxima

Axis minimum and maximum values can be set manually to display specific regions on a chart.

from openpyxl import Workbookfrom openpyxl.chart import (

ScatterChart,Reference,Series,

)

wb = Workbook()ws = wb.active

ws.append(['X', '1/X'])for x in range(-10, 11):

if x:ws.append([x, 1.0 / x])

chart1 = ScatterChart()chart1.title = "Full Axes"chart1.x_axis.title = 'x'chart1.y_axis.title = '1/x'chart1.legend = None

chart2 = ScatterChart()chart2.title = "Clipped Axes"chart2.x_axis.title = 'x'chart2.y_axis.title = '1/x'chart2.legend = None

chart2.x_axis.scaling.min = 0chart2.y_axis.scaling.min = 0chart2.x_axis.scaling.max = 11chart2.y_axis.scaling.max = 1.5

x = Reference(ws, min_col=1, min_row=2, max_row=22)y = Reference(ws, min_col=2, min_row=2, max_row=22)s = Series(y, xvalues=x)chart1.append(s)chart2.append(s)

ws.add_chart(chart1, "C1")ws.add_chart(chart2, "C15")

wb.save("minmax.xlsx")

7.4. Charts 51

openpyxl Documentation, Release 2.4.9

Note: In some cases such as the one shown, setting the axis limits is effectively equivalent to displaying a sub-rangeof the data. For large datasets, rendering of scatter plots (and possibly others) will be much faster when using subsetsof the data rather than axis limits in both Excel and Open/Libre Office.

Logarithmic Scaling

Both the x- and y-axes can be scaled logarithmically. The base of the logarithm can be set to any valid float. If thex-axis is scaled logarithmically, negative values in the domain will be discarded.

from openpyxl import Workbookfrom openpyxl.chart import (

ScatterChart,Reference,

52 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Series,)import math

wb = Workbook()ws = wb.active

ws.append(['X', 'Gaussian'])for i, x in enumerate(range(-10, 11)):

ws.append([x, "=EXP(-(($A${row}/6)^2))".format(row = i + 2)])

chart1 = ScatterChart()chart1.title = "No Scaling"chart1.x_axis.title = 'x'chart1.y_axis.title = 'y'chart1.legend = None

chart2 = ScatterChart()chart2.title = "X Log Scale"chart2.x_axis.title = 'x (log10)'chart2.y_axis.title = 'y'chart2.legend = Nonechart2.x_axis.scaling.logBase = 10

chart3 = ScatterChart()chart3.title = "Y Log Scale"chart3.x_axis.title = 'x'chart3.y_axis.title = 'y (log10)'chart3.legend = Nonechart3.y_axis.scaling.logBase = 10

chart4 = ScatterChart()chart4.title = "Both Log Scale"chart4.x_axis.title = 'x (log10)'chart4.y_axis.title = 'y (log10)'chart4.legend = Nonechart4.x_axis.scaling.logBase = 10chart4.y_axis.scaling.logBase = 10

chart5 = ScatterChart()chart5.title = "Log Scale Base e"chart5.x_axis.title = 'x (ln)'chart5.y_axis.title = 'y (ln)'chart5.legend = Nonechart5.x_axis.scaling.logBase = math.echart5.y_axis.scaling.logBase = math.e

x = Reference(ws, min_col=1, min_row=2, max_row=22)y = Reference(ws, min_col=2, min_row=2, max_row=22)s = Series(y, xvalues=x)chart1.append(s)chart2.append(s)chart3.append(s)chart4.append(s)chart5.append(s)

ws.add_chart(chart1, "C1")ws.add_chart(chart2, "I1")

7.4. Charts 53

openpyxl Documentation, Release 2.4.9

ws.add_chart(chart3, "C15")ws.add_chart(chart4, "I15")ws.add_chart(chart5, "F30")

wb.save("log.xlsx")

This produces five charts that look something like this:

The first four charts show the same data unscaled, scaled logarithmically in each axis and in both axes, with thelogarithm base set to 10. The final chart shows the same data with both axes scaled, but the base of the logarithm setto e.

Axis Orientation

Axes can be displayed “normally” or in reverse. Axis orientation is controlled by the scaling orientation property,which can have a value of either 'minMax' for normal orientation or 'maxMin' for reversed.

from openpyxl import Workbookfrom openpyxl.chart import (

ScatterChart,Reference,Series,

)

54 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

wb = Workbook()ws = wb.active

ws["A1"] = "Archimedean Spiral"ws.append(["T", "X", "Y"])for i, t in enumerate(range(100)):

ws.append([t / 16.0, "=$A${row}*COS($A${row})".format(row = i + 3),"=$A${row}*SIN($A${row})".format(row = i + 3)])

chart1 = ScatterChart()chart1.title = "Default Orientation"chart1.x_axis.title = 'x'chart1.y_axis.title = 'y'chart1.legend = None

chart2 = ScatterChart()chart2.title = "Flip X"chart2.x_axis.title = 'x'chart2.y_axis.title = 'y'chart2.legend = Nonechart2.x_axis.scaling.orientation = "maxMin"chart2.y_axis.scaling.orientation = "minMax"

chart3 = ScatterChart()chart3.title = "Flip Y"chart3.x_axis.title = 'x'chart3.y_axis.title = 'y'chart3.legend = Nonechart3.x_axis.scaling.orientation = "minMax"chart3.y_axis.scaling.orientation = "maxMin"

chart4 = ScatterChart()chart4.title = "Flip Both"chart4.x_axis.title = 'x'chart4.y_axis.title = 'y'chart4.legend = Nonechart4.x_axis.scaling.orientation = "maxMin"chart4.y_axis.scaling.orientation = "maxMin"

x = Reference(ws, min_col=2, min_row=2, max_row=102)y = Reference(ws, min_col=3, min_row=2, max_row=102)s = Series(y, xvalues=x)chart1.append(s)chart2.append(s)chart3.append(s)chart4.append(s)

ws.add_chart(chart1, "D1")ws.add_chart(chart2, "J1")ws.add_chart(chart3, "D15")ws.add_chart(chart4, "J15")

wb.save("orientation.xlsx")

This produces four charts with the axes in each possible combination of orientations that look something like this:

7.4. Charts 55

openpyxl Documentation, Release 2.4.9

Adding a second axis

Adding a second axis actually involves creating a second chart that shares a common x-axis with the first chart but hasa separate y-axis.

from openpyxl import Workbookfrom openpyxl.chart import (

LineChart,BarChart,Reference,Series,

)

wb = Workbook()ws = wb.active

rows = [['Aliens', 2, 3, 4, 5, 6, 7],['Humans', 10, 40, 50, 20, 10, 50],

]

for row in rows:ws.append(row)

c1 = BarChart()v1 = Reference(ws, min_col=1, min_row=1, max_col=7)c1.add_data(v1, titles_from_data=True, from_rows=True)

c1.x_axis.title = 'Days'c1.y_axis.title = 'Aliens'c1.y_axis.majorGridlines = Nonec1.title = 'Survey results'

# Create a second chartc2 = LineChart()

56 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

v2 = Reference(ws, min_col=1, min_row=2, max_col=7)c2.add_data(v2, titles_from_data=True, from_rows=True)c2.y_axis.axId = 200c2.y_axis.title = "Humans"

# Display y-axis of the second chart on the right by setting it to cross the x-axis→˓at its maximumc1.y_axis.crosses = "max"c1 += c2

ws.add_chart(c1, "D4")

wb.save("secondary.xlsx")

This produces a combined line and bar chart looking something like this:

Change the chart layout

Changing the layout of plot area and legend

The layout of the chart within the canvas can be set by using the layout property an instance of a layout class.

Chart layout

Size and position

The chart can be positioned within its container. x and y adjust position, w and h adjust the size . The units areproportions of the container. A chart cannot be positioned outside of its container and the width and height are thedominant constraints: if x + w > 1, then x = 1 - w.

x is the horizontal position from the left y is the vertical position the top h is the height of the chart relative to itscontainer w is the width of the box

7.4. Charts 57

openpyxl Documentation, Release 2.4.9

Mode

In addition to the size and position the mode for the relevant attribute can also be set to either factor or edge. Factor isthe default:

layout.xMode = edge

Target

The layoutTarget can be set to outer or inner. The default is outer:

layout.layoutTarget = inner

Legend layout

The position of the legend can be controlled either by setting its position: r, l, t, b, and tr, for right, left, top, bottomand top right respectively. The default is r.

legend.position = 'tr'

or applying a manual layout:

legend.layout = ManualLayout()

from openpyxl import Workbook, load_workbookfrom openpyxl.chart import ScatterChart, Series, Referencefrom openpyxl.chart.layout import Layout, ManualLayout

wb = Workbook()ws = wb.active

rows = [['Size', 'Batch 1', 'Batch 2'],[2, 40, 30],[3, 40, 25],[4, 50, 30],[5, 30, 25],[6, 25, 35],[7, 20, 40],

]

for row in rows:ws.append(row)

ch1 = ScatterChart()xvalues = Reference(ws, min_col=1, min_row=2, max_row=7)for i in range(2, 4):

values = Reference(ws, min_col=i, min_row=1, max_row=7)series = Series(values, xvalues, title_from_data=True)ch1.series.append(series)

ch1.title = "Default layout"ch1.style = 13

58 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

ch1.x_axis.title = 'Size'ch1.y_axis.title = 'Percentage'ch1.legend.position = 'r'

ws.add_chart(ch1, "B10")

from copy import deepcopy

# Half-size chart, bottom rightch2 = deepcopy(ch1)ch2.title = "Manual chart layout"ch2.legend.position = "tr"ch2.layout=Layout(

manualLayout=ManualLayout(x=0.25, y=0.25,h=0.5, w=0.5,

))ws.add_chart(ch2, "H10")

# Half-size chart, centredch3 = deepcopy(ch1)ch3.layout = Layout(

ManualLayout(x=0.25, y=0.25,h=0.5, w=0.5,xMode="edge",yMode="edge",)

)ch3.title = "Manual chart layout, edge mode"ws.add_chart(ch3, "B27")

# Manually position the legend bottom leftch4 = deepcopy(ch1)ch4.title = "Manual legend layout"ch4.legend.layout = Layout(

manualLayout=ManualLayout(yMode='edge',xMode='edge',x=0, y=0.9,h=0.1, w=0.5

))

ws.add_chart(ch4, "H27")

wb.save("chart_layout.xlsx")

This produces four charts illustrating various possibilities:

7.4. Charts 59

openpyxl Documentation, Release 2.4.9

Styling charts

Adding Patterns

Whole data series and individual data points can be extensively styled through the graphicalProperties. Getting thingsjust right may take some time.

from openpyxl import Workbookfrom openpyxl.chart import BarChart, Referencefrom openpyxl.chart.marker import DataPoint

from openpyxl.drawing.fill import PatternFillProperties, ColorChoice

wb = Workbook()ws = wb.active

rows = [("Sample",),(1,),(2,),(3,),(2,),(3,),(3,),(1,),(2,),

]

for r in rows:ws.append(r)

c = BarChart()

60 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

data = Reference(ws, min_col=1, min_row=1, max_row=8)c.add_data(data, titles_from_data=True)c.title = "Chart with patterns"

# set a pattern for the whole seriesseries = c.series[0]fill = PatternFillProperties(prst="pct5")fill.foreground = ColorChoice(prstClr="red")fill.background = ColorChoice(prstClr="blue")series.graphicalProperties.pattFill = fill

# set a pattern for a 6th data point (0-indexed)pt = DataPoint(idx=5)pt.graphicalProperties.pattFill = PatternFillProperties(prst="ltHorz")series.dPt.append(pt)

ws.add_chart(c, "C1")

wb.save("pattern.xlsx")

Advanced charts

Charts can be combined to create new charts:

Gauge Charts

Gauge charts combine a pie chart and a doughnut chart to create a “gauge”. The first chart is a doughnut chart withfour slices. The first three slices correspond to the colours of the gauge; the fourth slice, which is half of the doughnut,is made invisible.

A pie chart containing three slices is added. The first and third slice are invisible so that the second slice can act as theneedle on the gauge.

The effects are done using the graphical properties of individual data points in a data series.

from openpyxl import Workbook

7.4. Charts 61

openpyxl Documentation, Release 2.4.9

from openpyxl.chart import PieChart, DoughnutChart, Series, Referencefrom openpyxl.chart.series import DataPoint

data = [["Donut", "Pie"],[25, 75],[50, 1],[25, 124],[100],

]

# based on http://www.excel-easy.com/examples/gauge-chart.html

wb = Workbook()ws = wb.activefor row in data:

ws.append(row)

# First chart is a doughnut chartc1 = DoughnutChart(firstSliceAng=270, holeSize=50)c1.title = "Code coverage"c1.legend = None

ref = Reference(ws, min_col=1, min_row=2, max_row=5)s1 = Series(ref, title_from_data=False)

slices = [DataPoint(idx=i) for i in range(4)]slices[0].graphicalProperties.solidFill = "FF3300" # redslices[1].graphicalProperties.solidFill = "FCF305" # yellowslices[2].graphicalProperties.solidFill = "1FB714" # greenslices[3].graphicalProperties.noFill = True # invisible

s1.data_points = slicesc1.series = [s1]

# Second chart is a pie chartc2 = PieChart(firstSliceAng=270)c2.legend = None

ref = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=4)s2 = Series(ref, title_from_data=False)

slices = [DataPoint(idx=i) for i in range(3)]slices[0].graphicalProperties.noFill = True # invisibleslices[1].graphicalProperties.solidFill = "000000" # black needleslices[2].graphicalProperties.noFill = True # invisibles2.data_points = slicesc2.series = [s2]

c1 += c2 # combine charts

ws.add_chart(c1, "D1")

wb.save("gauge.xlsx")

62 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Using chartsheets

Charts can be added to special worksheets called chartsheets:

Chartsheets

Chartsheets are special worksheets which only contain charts. All the data for the chart must be on a different work-sheet.

from openpyxl import Workbook

from openpyxl.chart import PieChart, Reference, Series

wb = Workbook()ws = wb.activecs = wb.create_chartsheet()

rows = [["Bob", 3],["Harry", 2],["James", 4],

]

for row in rows:ws.append(row)

chart = PieChart()labels = Reference(ws, min_col=1, min_row=1, max_row=3)data = Reference(ws, min_col=2, min_row=1, max_row=3)chart.series = (Series(data),)chart.title = "PieChart"

cs.add_chart(chart)

wb.save("demo.xlsx")

7.4. Charts 63

openpyxl Documentation, Release 2.4.9

7.5 Comments

7.5.1 Comments

Warning: Openpyxl currently supports the reading and writing of comment text only. Formatting information islost. Comments are not currently supported if use_iterators=True is used.

Adding a comment to a cell

Comments have a text attribute and an author attribute, which must both be set

>>> from openpyxl import Workbook>>> from openpyxl.comments import Comment>>> wb = Workbook()>>> ws = wb.active>>> comment = ws["A1"].comment>>> comment = Comment('This is the comment text', 'Comment Author')>>> comment.text'This is the comment text'>>> comment.author'Comment Author'

If you assign the same comment to multiple cells then openpyxl will automatically create copies

64 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

>>> from openpyxl import Workbook>>> from openpyxl.comments import Comment>>> wb=Workbook()>>> ws=wb.active>>> comment = Comment("Text", "Author")>>> ws["A1"].comment = comment>>> ws["B2"].comment = comment>>> ws["A1"].comment is commentTrue>>> ws["B2"].comment is commentFalse

Loading and saving comments

Comments present in a workbook when loaded are stored in the comment attribute of their respective cells automati-cally. Formatting information such as font size, bold and italics are lost, as are the original dimensions and position ofthe comment’s container box.

Comments remaining in a workbook when it is saved are automatically saved to the workbook file.

7.6 Read/write large files

7.6.1 Read-only mode

Sometimes, you will need to open or write extremely large XLSX files, and the common routines in openpyxl won’tbe able to handle that load. Fortunately, there are two modes that enable you to read and write unlimited amounts ofdata with (near) constant memory consumption.

Introducing openpyxl.worksheet.read_only.ReadOnlyWorksheet:

from openpyxl import load_workbookwb = load_workbook(filename='large_file.xlsx', read_only=True)ws = wb['big_data']

for row in ws.rows:for cell in row:

print(cell.value)

Warning:

• openpyxl.worksheet.read_only.ReadOnlyWorksheet is read-only

Cells returned are not regular openpyxl.cell.cell.Cell but openpyxl.cell.read_only.ReadOnlyCell.

Worksheet dimensions

Read-only mode relies on applications and libraries that created the file providing correct information about the work-sheets, specifically the used part of it, known as the dimensions. Some applications set this incorrectly. You cancheck the apparent dimensions of a worksheet using ws.calculate_dimension(). If this returns a range that you know

7.6. Read/write large files 65

openpyxl Documentation, Release 2.4.9

is incorrect, say A1:A1 then simply resetting the max_row and max_column attributes should allow you to work withthe file:

ws.max_row = ws.max_column = None

7.6.2 Write-only mode

Here again, the regular openpyxl.worksheet.worksheet.Worksheet has been replaced by a faster alterna-tive, the openpyxl.writer.write_only.WriteOnlyWorksheet. When you want to dump large amountsof data make sure you have lxml installed.

>>> from openpyxl import Workbook>>> wb = Workbook(write_only=True)>>> ws = wb.create_sheet()>>>>>> # now we'll fill it with 100 rows x 200 columns>>>>>> for irow in range(100):... ws.append(['%d' % i for i in range(200)])>>> # save the file>>> wb.save('new_big_file.xlsx')

If you want to have cells with styles or comments then use a openpyxl.writer.write_only.WriteOnlyCell()

>>> from openpyxl import Workbook>>> wb = Workbook(write_only = True)>>> ws = wb.create_sheet()>>> from openpyxl.writer.write_only import WriteOnlyCell>>> from openpyxl.comments import Comment>>> from openpyxl.styles import Font>>> cell = WriteOnlyCell(ws, value="hello world")>>> cell.font = Font(name='Courier', size=36)>>> cell.comment = Comment(text="A comment", author="Author's Name")>>> ws.append([cell, 3.14, None])>>> wb.save('write_only_file.xlsx')

This will create a write-only workbook with a single sheet, and append a row of 3 cells: one text cell with a customfont and a comment, a floating-point number, and an empty cell (which will be discarded anyway).

Warning:

• Unlike a normal workbook, a newly-created write-only workbook does not contain any worksheets; a work-sheet must be specifically created with the create_sheet() method.

• In a write-only workbook, rows can only be added with append(). It is not possible to write (or read) cellsat arbitrary locations with cell() or iter_rows().

• It is able to export unlimited amount of data (even more than Excel can handle actually), while keepingmemory usage under 10Mb.

• A write-only workbook can only be saved once. After that, every attempt to save the workbook or append()to an existing worksheet will raise an openpyxl.utils.exceptions.WorkbookAlreadySavedexception.

66 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

• Everything that appears in the file before the actual cell data must be created before cells are added becauseit must written to the file before then. For example, freeze_panes should be set before cells are added.

7.7 Working with styles

7.7.1 Working with styles

Introduction

Styles are used to change the look of your data while displayed on screen. They are also used to determine theformatting for numbers.

Styles can be applied to the following aspects:

• font to set font size, color, underlining, etc.

• fill to set a pattern or color gradient

• border to set borders on a cell

• cell alignment

• protection

The following are the default values

>>> from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font>>> font = Font(name='Calibri',... size=11,... bold=False,... italic=False,... vertAlign=None,... underline='none',... strike=False,... color='FF000000')>>> fill = PatternFill(fill_type=None,... start_color='FFFFFFFF',... end_color='FF000000')>>> border = Border(left=Side(border_style=None,... color='FF000000'),... right=Side(border_style=None,... color='FF000000'),... top=Side(border_style=None,... color='FF000000'),... bottom=Side(border_style=None,... color='FF000000'),... diagonal=Side(border_style=None,... color='FF000000'),... diagonal_direction=0,... outline=Side(border_style=None,... color='FF000000'),... vertical=Side(border_style=None,... color='FF000000'),... horizontal=Side(border_style=None,... color='FF000000')... )

7.7. Working with styles 67

openpyxl Documentation, Release 2.4.9

>>> alignment=Alignment(horizontal='general',... vertical='bottom',... text_rotation=0,... wrap_text=False,... shrink_to_fit=False,... indent=0)>>> number_format = 'General'>>> protection = Protection(locked=True,... hidden=False)>>>

Cell Styles and Named Styles

There are two types of styles: cell styles and named styles, also known as style templates.

Cell Styles

Cell styles are shared between objects and once they have been assigned they cannot be changed. This stops unwantedside-effects such as changing the style for lots of cells when instead of only one.

>>> from openpyxl.styles import colors>>> from openpyxl.styles import Font, Color>>> from openpyxl import Workbook>>> wb = Workbook()>>> ws = wb.active>>>>>> a1 = ws['A1']>>> d4 = ws['D4']>>> ft = Font(color=colors.RED)>>> a1.font = ft>>> d4.font = ft>>>>>> a1.font.italic = True # is not allowed>>>>>> # If you want to change the color of a Font, you need to reassign it::>>>>>> a1.font = Font(color=colors.RED, italic=True) # the change only affects A1

Copying styles

Styles can also be copied

>>> from openpyxl.styles import Font>>> from copy import copy>>>>>> ft1 = Font(name='Arial', size=14)>>> ft2 = copy(ft1)>>> ft2.name = "Tahoma">>> ft1.name'Arial'>>> ft2.name'Tahoma'>>> ft2.size # copied from the14.0

68 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Basic Font Colors

Colors are usually RGB or aRGB hexvalues. The colors module contains some handy constants

>>> from openpyxl.styles import Font>>> from openpyxl.styles.colors import RED>>> font = Font(color=RED)>>> font = Font(color="FFBB00")

There is also support for legacy indexed colors as well as themes and tints

>>> from openpyxl.styles.colors import Color>>> c = Color(indexed=32)>>> c = Color(theme=6, tint=0.5)

Applying Styles

Styles are applied directly to cells

>>> from openpyxl.workbook import Workbook>>> from openpyxl.styles import Font, Fill>>> wb = Workbook()>>> ws = wb.active>>> c = ws['A1']>>> c.font = Font(size=12)

Styles can also applied to columns and rows but note that this applies only to cells created (in Excel) after the file isclosed. If you want to apply styles to entire rows and columns then you must apply the style to each cell yourself. Thisis a restriction of the file format:

>>> col = ws.column_dimensions['A']>>> col.font = Font(bold=True)>>> row = ws.row_dimensions[1]>>> row.font = Font(underline="single")

Styling Merged Cells

Sometimes you want to format a range of cells as if they were a single object. Excel pretends that this is possible bymerging cells (deleting all but the top-left cell) and then recreating them in order to apply pseudo-styles.

from openpyxl.styles import Border, Side, PatternFill, Font, GradientFill, Alignmentfrom openpyxl import Workbook

def style_range(ws, cell_range, border=Border(), fill=None, font=None,→˓alignment=None):

"""Apply styles to a range of cells as if they were a single cell.

:param ws: Excel worksheet instance:param range: An excel range to style (e.g. A1:F20):param border: An openpyxl Border

7.7. Working with styles 69

openpyxl Documentation, Release 2.4.9

:param fill: An openpyxl PatternFill or GradientFill:param font: An openpyxl Font object"""

top = Border(top=border.top)left = Border(left=border.left)right = Border(right=border.right)bottom = Border(bottom=border.bottom)

first_cell = ws[cell_range.split(":")[0]]if alignment:

ws.merge_cells(cell_range)first_cell.alignment = alignment

rows = ws[cell_range]if font:

first_cell.font = font

for cell in rows[0]:cell.border = cell.border + top

for cell in rows[-1]:cell.border = cell.border + bottom

for row in rows:l = row[0]r = row[-1]l.border = l.border + leftr.border = r.border + rightif fill:

for c in row:c.fill = fill

wb = Workbook()ws = wb.activemy_cell = ws['B2']my_cell.value = "My Cell"thin = Side(border_style="thin", color="000000")double = Side(border_style="double", color="ff0000")

border = Border(top=double, left=thin, right=thin, bottom=double)fill = PatternFill("solid", fgColor="DDDDDD")fill = GradientFill(stop=("000000", "FFFFFF"))font = Font(b=True, color="FF0000")al = Alignment(horizontal="center", vertical="center")

style_range(ws, 'B2:F4', border=border, fill=fill, font=font, alignment=al)wb.save("styled.xlsx")

Edit Page Setup

>>> from openpyxl.workbook import Workbook>>>>>> wb = Workbook()>>> ws = wb.active>>>

70 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

>>> ws.page_setup.orientation = ws.ORIENTATION_LANDSCAPE>>> ws.page_setup.paperSize = ws.PAPERSIZE_TABLOID>>> ws.page_setup.fitToHeight = 0>>> ws.page_setup.fitToWidth = 1

Named Styles

In contrast to Cell Styles, Named Styles are mutable. They make sense when you want to apply formatting to lots ofdifferent cells at once. NB. once you have assigned a named style to a cell, additional changes to the style will notaffect the cell.

Once a named style has been registered with a workbook, it can be referred to simply by name.

Creating a Named Style

>>> from openpyxl.styles import NamedStyle, Font, Border, Side>>> highlight = NamedStyle(name="highlight")>>> highlight.font = Font(bold=True, size=20)>>> bd = Side(style='thick', color="000000")>>> highlight.border = Border(left=bd, top=bd, right=bd, bottom=bd)

Once a named style has been created, it can be registered with the workbook:

>>> wb.add_named_style(highlight)

But named styles will also be registered automatically the first time they are assigned to a cell:

>>> ws['A1'].style = highlight

Once registered assign the style using just the name:

>>> ws['D5'].style = 'highlight'

Using builtin styles

The specification includes some builtin styles which can also be used. Unfortunately, the names for these styles arestored in their localised forms. openpyxl will only recognise the English names and only exactly as written here. Theseare as follows:

• ‘Normal’ # same as no style

Number formats

• ‘Comma’

• ‘Comma [0]’

• ‘Currency’

• ‘Currency [0]’

• ‘Percent’

7.7. Working with styles 71

openpyxl Documentation, Release 2.4.9

Informative

• ‘Calculation’

• ‘Total’

• ‘Note’

• ‘Warning Text’

• ‘Explanatory Text’

Text styles

• ‘Title’

• ‘Headline 1’

• ‘Headline 2’

• ‘Headline 3’

• ‘Headline 4’

• ‘Hyperlink’

• ‘Followed Hyperlink’

• ‘Linked Cell’

Comparisons

• ‘Input’

• ‘Output’

• ‘Check Cell’

• ‘Good’

• ‘Bad’

• ‘Neutral’

Highlights

• ‘Accent1’

• ‘20 % - Accent1’

• ‘40 % - Accent1’

• ‘60 % - Accent1’

• ‘Accent2’

• ‘20 % - Accent2’

• ‘40 % - Accent2’

• ‘60 % - Accent2’

• ‘Accent3’

72 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

• ‘20 % - Accent3’

• ‘40 % - Accent3’

• ‘60 % - Accent3’

• ‘Accent4’

• ‘20 % - Accent4’

• ‘40 % - Accent4’

• ‘60 % - Accent4’

• ‘Accent5’

• ‘20 % - Accent5’

• ‘40 % - Accent5’

• ‘60 % - Accent5’

• ‘Accent6’

• ‘20 % - Accent6’

• ‘40 % - Accent6’

• ‘60 % - Accent6’

• ‘Pandas’

For more information about the builtin styles please refer to the openpyxl.styles.builtins

7.7.2 Additional Worksheet Properties

These are advanced properties for particular behaviours, the most used ones are the “fitTopage” page setup propertyand the tabColor that define the background color of the worksheet tab.

Available properties for worksheets

• “enableFormatConditionsCalculation”

• “filterMode”

• “published”

• “syncHorizontal”

• “syncRef”

• “syncVertical”

• “transitionEvaluation”

• “transitionEntry”

• “tabColor”

Available fields for page setup properties

“autoPageBreaks” “fitToPage”

7.7. Working with styles 73

openpyxl Documentation, Release 2.4.9

Available fields for outlines

• “applyStyles”

• “summaryBelow”

• “summaryRight”

• “showOutlineSymbols”

see http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.sheetproperties%28v=office.14%29.aspx_ for details.

Note: By default, outline properties are intitialized so you can directly modify each of their 4 attributes, whilepage setup properties don’t. If you want modify the latter, you should first initialize a openpyxl.worksheet.properties.PageSetupProperties object with the required parameters. Once done, they can be directlymodified by the routine later if needed.

>>> from openpyxl.workbook import Workbook>>> from openpyxl.worksheet.properties import WorksheetProperties, PageSetupProperties>>>>>> wb = Workbook()>>> ws = wb.active>>>>>> wsprops = ws.sheet_properties>>> wsprops.tabColor = "1072BA">>> wsprops.filterMode = False>>> wsprops.pageSetUpPr = PageSetupProperties(fitToPage=True, autoPageBreaks=False)>>> wsprops.outlinePr.summaryBelow = False>>> wsprops.outlinePr.applyStyles = True>>> wsprops.pageSetUpPr.autoPageBreaks = True

7.8 Conditional Formatting

7.8.1 Conditional Formatting

Excel supports three different types of conditional formatting: builtins, standard and custom. Builtins combine specificrules with predefined styles. Standard conditional formats combine specific rules with custom formatting. In additionalit is possible to define custom formulae for applying custom formats using differential styles.

Note: The syntax for the different rules varies so much that it is not possible for openpyxl to know whether a rulemakes sense or not.

The basic syntax for creating a formatting rule is:

>>> from openpyxl.formatting import Rule>>> from openpyxl.styles import Font, PatternFill, Border>>> from openpyxl.styles.differential import DifferentialStyle>>> dxf = DifferentialStyle(font=Font(bold=True), fill=PatternFill(start_color='EE1111→˓', end_color='EE1111'))>>> rule = Rule(type='cellIs', dxf=dxf, formula=["10"])

Because the signatures for some rules can be quite verbose there are also some convenience factories for creating them.

74 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

Builtin formats

The builtins conditional formats are:

• ColorScale

• IconSet

• DataBar

Builtin formats contain a sequence of formatting settings which combine a type with an integer for comparison.Possible types are: ‘num’, ‘percent’, ‘max’, ‘min’, ‘formula’, ‘percentile’.

ColorScale

You can have color scales with 2 or 3 colors. 2 color scales produce a gradient from one color to another; 3 colorscales use an additional color for 2 gradients.

The full syntax for creating a ColorScale rule is:

>>> from openpyxl.formatting.rule import ColorScale, FormatObject>>> from openpyxl.styles import Color>>> first = FormatObject(type='min')>>> last = FormatObject(type='max')>>> # colors match the format objects:>>> colors = [Color('AA0000'), Color('00AA00')]>>> cs2 = ColorScale(cfvo=[first, last], color=colors)>>> # a three color scale would extend the sequences>>> mid = FormatObject(type='num', val=40)>>> colors.insert(1, Color('00AA00'))>>> cs3 = ColorScale(cfvo=[first, mid, last], color=colors)>>> # create a rule with the color scale>>> from openpyxl.formatting.rule import Rule>>> rule = Rule(type='colorScale', colorScale=cs3)

There is a convenience function for creating ColorScale rules

>>> from openpyxl.formatting.rule import ColorScaleRule>>> rule = ColorScaleRule(start_type='percentile', start_value=10, start_color=→˓'FFAA0000',... mid_type='percentile', mid_value=50, mid_color='FF0000AA',... end_type='percentile', end_value=90, end_color='FF00AA00')

IconSet

Choose from the following set of icons: ‘3Arrows’, ‘3ArrowsGray’, ‘3Flags’, ‘3TrafficLights1’, ‘3TrafficLights2’,‘3Signs’, ‘3Symbols’, ‘3Symbols2’, ‘4Arrows’, ‘4ArrowsGray’, ‘4RedToBlack’, ‘4Rating’, ‘4TrafficLights’, ‘5Arrows’,‘5ArrowsGray’, ‘5Rating’, ‘5Quarters’

The full syntax for creating an IconSet rule is:

>>> from openpyxl.formatting.rule import IconSet, FormatObject>>> first = FormatObject(type='percent', val=0)>>> second = FormatObject(type='percent', val=33)>>> third = FormatObject(type='percent', val=67)>>> iconset = IconSet(iconSet='3TrafficLights1', cfvo=[first, second, third],→˓showValue=None, percent=None, reverse=None)

7.8. Conditional Formatting 75

openpyxl Documentation, Release 2.4.9

>>> # assign the icon set to a rule>>> from openpyxl.formatting.rule import Rule>>> rule = Rule(type='iconSet', iconSet=iconset)

There is a convenience function for creating IconSet rules:

>>> from openpyxl.formatting.rule import IconSetRule>>> rule = IconSetRule('5Arrows', 'percent', [10, 20, 30, 40, 50], showValue=None,→˓percent=None, reverse=None)

DataBar

Currently, openpyxl supports the DataBars as defined in the original specification. Borders and directions were addedin a later extension.

The full syntax for creating a DataBar rule is:

>>> from openpyxl.formatting.rule import DataBar, FormatObject>>> first = FormatObject(type='min')>>> second = FormatObject(type='max')>>> data_bar = DataBar(cfvo=[first, second], color="638EC6", showValue=None,→˓minLength=None, maxLength=None)>>> # assign the data bar to a rule>>> from openpyxl.formatting.rule import Rule>>> rule = Rule(type='dataBar', dataBar=data_bar)

There is a convenience function for creating DataBar rules:

>>> from openpyxl.formatting.rule import DataBarRule>>> rule = DataBarRule(start_type='percentile', start_value=10, end_type='percentile',→˓ end_value='90',... color="FF638EC6", showValue="None", minLength=None,→˓maxLength=None)

Standard conditional formats

The standard conditional formats are:

• Average

• Percent

• Unique or duplicate

• Value

• Rank

>>> from openpyxl import Workbook>>> from openpyxl.styles import Color, PatternFill, Font, Border>>> from openpyxl.styles.differential import DifferentialStyle>>> from openpyxl.formatting.rule import ColorScaleRule, CellIsRule, FormulaRule>>>>>> wb = Workbook()>>> ws = wb.active>>>>>> # Create fill

76 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

>>> redFill = PatternFill(start_color='EE1111',... end_color='EE1111',... fill_type='solid')>>>>>> # Add a two-color scale>>> # Takes colors in excel 'RRGGBB' style.>>> ws.conditional_formatting.add('A1:A10',... ColorScaleRule(start_type='min', start_color='AA0000',... end_type='max', end_color='00AA00')... )>>>>>> # Add a three-color scale>>> ws.conditional_formatting.add('B1:B10',... ColorScaleRule(start_type='percentile', start_value=10, start_→˓color='AA0000',... mid_type='percentile', mid_value=50, mid_color='0000AA→˓',... end_type='percentile', end_value=90, end_color='00AA00→˓')... )>>>>>> # Add a conditional formatting based on a cell comparison>>> # addCellIs(range_string, operator, formula, stopIfTrue, wb, font, border, fill)>>> # Format if cell is less than 'formula'>>> ws.conditional_formatting.add('C2:C10',... CellIsRule(operator='lessThan', formula=['C$1'], stopIfTrue=True,→˓fill=redFill))>>>>>> # Format if cell is between 'formula'>>> ws.conditional_formatting.add('D2:D10',... CellIsRule(operator='between', formula=['1','5'], stopIfTrue=True,→˓fill=redFill))>>>>>> # Format using a formula>>> ws.conditional_formatting.add('E1:E10',... FormulaRule(formula=['ISBLANK(E1)'], stopIfTrue=True, fill=redFill))>>>>>> # Aside from the 2-color and 3-color scales, format rules take fonts, borders and→˓fills for styling:>>> myFont = Font()>>> myBorder = Border()>>> ws.conditional_formatting.add('E1:E10',... FormulaRule(formula=['E1=0'], font=myFont, border=myBorder,→˓fill=redFill))>>>>>> # Highlight cells that contain particular text by using a special formula>>> red_text = Font(color="9C0006")>>> red_fill = PatternFill(bgColor="FFC7CE")>>> dxf = DifferentialStyle(font=red_text, fill=red_fill)>>> rule = Rule(type="containsText", operator="containsText", text="highlight",→˓dxf=dxf)>>> rule.formula = ['NOT(ISERROR(SEARCH("highlight",A1)))']>>> ws.conditional_formatting.add('A1:F40', rule)>>> wb.save("test.xlsx")

7.8. Conditional Formatting 77

openpyxl Documentation, Release 2.4.9

7.9 Print Settings

7.9.1 Print Settings

openpyxl provides reasonably full support for print settings.

Edit Print Options

>>> from openpyxl.workbook import Workbook>>>>>> wb = Workbook()>>> ws = wb.active>>>>>> ws.print_options.horizontalCentered = True>>> ws.print_options.verticalCentered = True

Headers and Footers

Headers and footers use their own formatting language. This is fully supported when writing them but, due to thecomplexity and the possibility of nesting, only partially when reading them. There is support for the font, size andcolor for a left, centre/center, or right element. Granular control (highlighting individuals words) will require applyingcontrol codes manually.

>>> from openpyxl.workbook import Workbook>>>>>> wb = Workbook()>>> ws = wb.active>>>>>> ws.oddHeader.left.text = "Page &[Page] of &N">>> ws.oddHeader.left.size = 14>>> ws.oddHeader.left.font = "Tahoma,Bold">>> ws.oddHeader.left.color = "CC3366"

Also supported are evenHeader and evenFooter as well as firstHeader and firstFooter.

Add Print Titles

You can print titles on every page to ensure that the data is properly labelled.

>>> from openpyxl.workbook import Workbook>>>>>> wb = Workbook()>>> ws = wb.active>>>>>> ws.print_title_cols = 'A:B' # the first two cols>>> ws.print_title_rows = '1:1' # the first row

Add a Print Area

You can select a part of a worksheet as the only part that you want to print

78 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

>>> from openpyxl.workbook import Workbook>>>>>> wb = Workbook()>>> ws = wb.active>>>>>> ws.print_area = 'A1:F10'

7.10 Filtering and Sorting

7.10.1 Using filters and sorts

It’s possible to add a filter to a worksheet.

Note: Filters and sorts can only be configured by openpyxl but will need to be applied in applications like Excel. Thisis because they actually rearranges or format cells or rows in the range.

To add a filter you define a range and then add columns and sort conditions:

from openpyxl import Workbook

wb = Workbook()ws = wb.active

data = [["Fruit", "Quantity"],["Kiwi", 3],["Grape", 15],["Apple", 3],["Peach", 3],["Pomegranate", 3],["Pear", 3],["Tangerine", 3],["Blueberry", 3],["Mango", 3],["Watermelon", 3],["Blackberry", 3],["Orange", 3],["Raspberry", 3],["Banana", 3]

]

for r in data:ws.append(r)

ws.auto_filter.ref = "A1:B15"ws.auto_filter.add_filter_column(0, ["Kiwi", "Apple", "Mango"])ws.auto_filter.add_sort_condition("B2:B15")

wb.save("filtered.xlsx")

This will add the relevant instructions to the file but will neither actually filter nor sort.

7.10. Filtering and Sorting 79

openpyxl Documentation, Release 2.4.9

7.11 Worksheet Tables

7.11.1 Worksheet Tables

Worksheet tables are references to groups of cells. This makes certain operations such as styling the cells in a tableeasier.

Creating a table

from openpyxl import Workbookfrom openpyxl.worksheet.table import Table, TableStyleInfo

wb = Workbook()ws = wb.active

data = [['Apples', 10000, 5000, 8000, 6000],['Pears', 2000, 3000, 4000, 5000],['Bananas', 6000, 6000, 6500, 6000],['Oranges', 500, 300, 200, 700],

]

# add column headings. NB. these must be stringsws.append(["Fruit", "2011", "2012", "2013", "2014"])for row in data:

ws.append(row)

tab = Table(displayName="Table1", ref="A1:E5")

80 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

# Add a default style with striped rows and banded columnsstyle = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False,

showLastColumn=False, showRowStripes=True,→˓showColumnStripes=True)tab.tableStyleInfo = stylews.add_table(tab)wb.save("table.xlsx")

By default tables are created with a header from the first row and filters for all the columns.

Styles are managed using the the TableStyleInfo object. This allows you to stripe rows or columns and apply thedifferent colour schemes.

Important notes

Table names must be unique within a workbook and table headers and filter ranges must always contain strings. If thisis not the case then Excel may consider the file invalid and remove the table.

7.12 Data Validation

7.12.1 Validating cells

You can add data validation to a workbook but currently cannot read existing data validation.

Examples

>>> from openpyxl import Workbook>>> from openpyxl.worksheet.datavalidation import DataValidation>>>>>> # Create the workbook and worksheet we'll be working with>>> wb = Workbook()>>> ws = wb.active>>>>>> # Create a data-validation object with list validation>>> dv = DataValidation(type="list", formula1='"Dog,Cat,Bat"', allow_blank=True)>>>>>> # Optionally set a custom error message>>> dv.error ='Your entry is not in the list'>>> dv.errorTitle = 'Invalid Entry'>>>>>> # Optionally set a custom prompt message>>> dv.prompt = 'Please select from the list'>>> dv.promptTitle = 'List Selection'>>>>>> # Add the data-validation object to the worksheet>>> ws.add_data_validation(dv)

>>> # Create some cells, and add them to the data-validation object>>> c1 = ws["A1"]>>> c1.value = "Dog">>> dv.add(c1)>>> c2 = ws["A2"]

7.12. Data Validation 81

openpyxl Documentation, Release 2.4.9

>>> c2.value = "An invalid value">>> dv.add(c2)>>>>>> # Or, apply the validation to a range of cells>>> dv.ranges.append('B1:B1048576')>>>>>> # Write the sheet out. If you now open the sheet in Excel, you'll find that>>> # the cells have data-validation applied.>>> wb.save("test.xlsx")

Other validation examples

Any whole number:

dv = DataValidation(type="whole")

Any whole number above 100:

dv = DataValidation(type="whole",operator="greaterThan",formula1=100)

Any decimal number:

dv = DataValidation(type="decimal")

Any decimal number between 0 and 1:

dv = DataValidation(type="decimal",operator="between",formula1=0,formula2=1)

Any date:

dv = DataValidation(type="date")

or time:

dv = DataValidation(type="time")

Any string at most 15 characters:

dv = DataValidation(type="textLength",operator="lessThanOrEqual"),formula1=15)

Cell range validation:

from openpyxl.utils import quote_sheetnamedv = DataValidation(type="list",

formula1="{0}!$B$1:$B$10".format(quote_sheetname(sheetname)))

Custom rule:

82 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

dv = DataValidation(type="custom",formula1"=SOMEFORMULA")

Note: See http://www.contextures.com/xlDataVal07.html for custom rules

7.13 Defined Names & Ranges

7.13.1 Defined Names

The specification has the following to say about defined names:

“Defined names are descriptive text that is used to represents a cell, range of cells, formula, or constantvalue.”

This means they are very loosely defined. They might contain a constant, a formula, a single cell reference, a rangeof cells or multiple ranges of cells across different worksheets. Or all of the above. They are defined globally for aworkbook and accessed from there defined_names attribue.

Sample use for ranges

Accessing a range called “my_range”:

my_range = wb.defined_names['my_range']# if this contains a range of cells then the destinations attribute is not Nonedests = my_range.destinations # returns a generator of (worksheet title, cell range)→˓tuples

cells = []for title, coord in dests:

ws = wb[title]cells.append(ws[coord])

7.14 Parsing Formulas

7.14.1 Parsing Formulas

openpyxl supports limited parsing of formulas embedded in cells. The openpyxl.formula package contains a Tokenizerclass to break formulas into their consitutuent tokens. Usage is as follows:

>>> from openpyxl.formula import Tokenizer>>> tok = Tokenizer("""=IF($A$1,"then True",MAX(DEFAULT_VAL,'Sheet 2'!B1))""")>>> print("\n".join("%12s%11s%9s" % (t.value, t.type, t.subtype) for t in tok.items))

IF( FUNC OPEN$A$1 OPERAND RANGE

, SEP ARG"then True" OPERAND TEXT

, SEP ARGMAX( FUNC OPEN

DEFAULT_VAL OPERAND RANGE

7.13. Defined Names & Ranges 83

openpyxl Documentation, Release 2.4.9

, SEP ARG'Sheet 2'!B1 OPERAND RANGE

) FUNC CLOSE) FUNC CLOSE

As shown above, tokens have three attributes of interest:

• .value: The substring of the formula that produced this token

• .type: The type of token this represents. Can be one of

– Token.LITERAL: If the cell does not contain a formula, its value is represented by a single LITERALtoken.

– Token.OPERAND: A generic term for any value in the Excel formula. (See .subtype below for moredetails).

– Token.FUNC: Function calls are broken up into tokens for the opener (e.g., SUM(), followed by thearguments, followed by the closer (i.e., )). The function name and opening parenthesis together form oneFUNC token, and the matching parenthesis forms another FUNC token.

– Token.ARRAY: Array literals (enclosed between curly braces) get two ARRAY tokens each, one for theopening { and one for the closing }.

– Token.PAREN: When used for grouping subexpressions (and not to denote function calls), parenthesesare tokenized as PAREN tokens (one per character).

– Token.SEP: These tokens are created from either commas (,) or semicolons (;). Commas create SEPtokens when they are used to separate function arguments (e.g., SUM(a,b)) or when they are used toseparate array elements (e.g., {a,b}). (They have another use as an infix operator for joining ranges).Semicolons are always used to separate rows in an array literal, so always create SEP tokens.

– Token.OP_PRE: Designates a prefix unary operator. Its value is always + or -

– Token.OP_IN: Designates an infix binary operator. Possible values are >=, <=, <>, =, >, <, *, /, +, -,^, or &.

– Token.OP_POST: Designates a postfix unary operator. Its value is always %.

– Token.WSPACE: Created for any whitespace encountered. Its value is always a single space, regardlessof how much whitespace is found.

• .subtype: Some of the token types above use the subtype to provide additional information about the token.Possible subtypes are:

– Token.TEXT, Token.NUMBER, Token.LOGICAL, Token.ERROR, Token.RANGE: these subtypesdescribe the various forms of OPERAND found in formulae. LOGICAL is either TRUE or FALSE, RANGEis either a named range or a direct reference to another range. TEXT, NUMBER, and ERROR all refer toliteral values in the formula

– Token.OPEN and Token.CLOSE: these two subtypes are used by PAREN, FUNC, and ARRAY, to de-scribe whether the token is opening a new subexpression or closing it.

– Token.ARG and Token.ROW: are used by the SEP tokens, to distinguish between the comma and semi-colon. Commas produce tokens of subtype ARG whereas semicolons produce tokens of subtype ROW

84 Chapter 7. Usage examples

openpyxl Documentation, Release 2.4.9

7.15 Protection

7.15.1 Protection

Warning: Password protecting a workbook or worksheet only provides a quite basic level of security. The datais not encrypted, so can be modified by any number of freely available tools. In fact the specification states:“Worksheet or workbook element protection should not be confused with file security. It is not meant to make yourworkbook safe from unintentional modification, and cannot protect it from malicious modification.”

Openpyxl provides support for protecting a workbook and worksheet from modification. The Open XML “LegacyPassword Hash Algorithm” is used to generate hashed password values unless another algorithm is explicitly config-ured.

Workbook Protection

To prevent other users from viewing hidden worksheets, adding, moving, deleting, or hiding worksheets, and renamingworksheets, you can protect the structure of your workbook with a password. The password can be set using theopenpyxl.workbook.protection.WorkbookProtection.workbookPassword() property

>>> wb.security.workbookPassword = '...'

Similarly removing change tracking and change history from a shared workbook can be prevented by setting anotherpassword. This password can be set using the openpyxl.workbook.protection.WorkbookProtection.revisionsPassword() property

>>> wb.security.revisionsPassword = '...'

Other properties on the openpyxl.workbook.protection.WorkbookProtection object control exactlywhat restrictions are in place, but these will only be enforced if the appropriate password is set.

Specific setter functions are provided if you need to set the raw password value without using the default hashingalgorithm - e.g.

hashed_password = ...wb.security.set_workbook_password(hashed_password, already_hashed=True)

Worksheet Protection

Various aspects of a worksheet can also be locked by setting attributes on the openpyxl.worksheet.protection.SheetProtection object. Unlike the worksheet protection, sheet protection may be enabledwith or without using a password. Sheet protection is enabled using the openpxyl.worksheet.protection.SheetProtection.sheet attribute

>>> ws = wb.active>>> wb.protection.sheet = True

If no password is specified, users can disable configured sheet protection without specifying a password. Other-wise they must supply a password to change configured protections. The password is set using the openpxyl.worksheet.protection.SheetProtection.password() property

7.15. Protection 85

openpyxl Documentation, Release 2.4.9

>>> ws = wb.active>>> ws.protection.password = '...'

86 Chapter 7. Usage examples

CHAPTER 8

Information for Developers

8.1 Development

With the ongoing development of openpyxl, there is occasional information useful to assist developers.

8.1.1 What is suppoprted

The primary aim of openpyxl is to support reading and writing Microsoft Excel 2010 files. Where possible support forfiles generated by other libraries or programs is available but this is not guaranteed.

8.1.2 Supporting different Python versions

We have a small library of utility functions to support development for Python 2 and 3. This is openpyxl.compat forPython and openpyxl.xml for XML functions.

8.1.3 Coding style

Use PEP-8 except when implementing attributes for roundtripping but always use Python data conventions (boolean,None, etc.) Note exceptions in docstrings.

8.1.4 Getting the source

The source code is hosted on bitbucket.org. You can get it using a Mercurial client and the following URL.

$ hg clone https://bitbucket.org/openpyxl/openpyxl$ hg up 2.4$ virtualenv openpyxl$ cd openpyxl$ source bin/activate

87

openpyxl Documentation, Release 2.4.9

$ pip install -U -r requirements.txt$ python setup.py develop

8.1.5 Specification

The file specification for OOXML was released jointly as ECMA 376 and ISO 29500.

8.1.6 Testing

Contributions without tests will not be accepted.

We use pytest as the test runner with pytest-cov for coverage information and pytest-flakes for static code analysis.

Coverage

The goal is 100 % coverage for unit tests - data types and utility functions. Coverage information can be obtainedusing

py.test --cov openpyxl

Organisation

Tests should be preferably at package / module level e.g openpyxl/cell. This makes testing and getting statistics forcode under development easier:

py.test --cov openpyxl/cell openpyxl/cell

Checking XML

Use the openpyxl.tests.helper.compare_xml function to compare generated and expected fragments ofXML.

Schema validation

When working on code to generate XML it is possible to validate that the generated XML conforms to the publishedspecification. Note, this won’t necessarily guarantee that everything is fine but is preferable to reverse engineering!

Microsoft Tools

Along with the SDK, Microsoft also has a “Productivity Tool” for working with Office OpenXML.

This allows you to quickly inspect or compare whole Excel files. Unfortunately, validation errors contain many falsepositives. The tool also contain links to the specification and implementers’ notes.

Please see Testing on Windows for additional information on setting up and testing on Windows.

8.1.7 Contributing

Contributions in the form of pull requests are always welcome. Don’t forget to add yourself to the list of authors!

88 Chapter 8. Information for Developers

openpyxl Documentation, Release 2.4.9

8.1.8 Branch naming convention

We use a “major.minor.patch” numbering system, ie. 2.4.9. Development branches are named after “major.minor”releases. In general, API change will only happen major releases but there will be exceptions. Always communicateAPI changes to the mailing list before making them. If you are changing an API try and an implement a fallback (withdeprecation warning) for the old behaviour.

The “default branch” is used for releases and always has changes from a development branch merged in. It shouldnever be the target for a pull request.

8.1.9 Pull Requests

Pull requests should be submitted to the current, unreleased development branch. Eg. if the current release is 2.4.9,pull requests should be made to the 2.4 branch. Exceptions are bug fixes to released versions which should be madeto the relevant release branch and merged upstream into development.

Please use tox to test code for different submissions before making a pull request. This is especially important forpicking up problems across Python versions.

Documentation

Remember to update the documentation when adding or changing features. Check that documentation is syntacticallycorrect.

tox -e doc

8.1.10 Benchmarking

Benchmarking and profiling are ongoing tasks. Contributions to these are very welcome as we know there is a lot todo.

Memory Use

There is a tox profile for long-running memory benchmarks using the memory_utils package.

tox -e memory

Pympler

As openpyxl does not include any internal memory benchmarking tools, the python pympler package was used duringthe testing of styles to profile the memory usage in openpyxl.reader.excel.read_style_table():

# in openpyxl/reader/style.pyfrom pympler import muppy, summary

def read_style_table(xml_source):...if cell_xfs is not None: # ~ line 47

initialState = summary.summarize(muppy.get_objects()) # Capture the initial→˓state

for index, cell_xfs_node in enumerate(cell_xfs_nodes):...table[index] = new_style

8.1. Development 89

openpyxl Documentation, Release 2.4.9

finalState = summary.summarize(muppy.get_objects()) # Capture the final statediff = summary.get_diff(initialState, finalState) # Comparesummary.print_(diff)

pympler.summary.print_() prints to the console a report of object memory usage, allowing the comparisonof different methods and examination of memory usage. A useful future development would be to construct a bench-marking package to measure the performance of different components.

8.2 Testing on Windows

Although openpyxl itself is pure Python and should run on any Python, we do use some libraries that require compilingfor tests and documentation. The setup for testing on Windows is somewhat different.

8.2.1 Getting started

Once you have installed the versions of Python (2.6, 2.7, 3.3, 3.4) you should setup a development environment fortesting so that you do not adversely affect the system install.

8.2.2 Setting up a development environment

First of all you should checkout a copy of the repository. Atlassian provides a nice GUI client SourceTree that allowsyou to do this with a single-click from the browser.

By default the repository will be installed under your user folder. eg. c:UsersYOURUSERopenpyxl

Switch to the branch you want to work on by double-clicking it. The default branch should never be used for develop-ment work.

Creating a virtual environment

You will need to manually install virtualenv. This is best done by first installing pip. open a command line anddownload the script “get_pip.py” to your preferred Python folder:

bitsadmin /transfer pip http://bootstrap.pypa.io/get-pip.py c:\python27\get-pip.py #→˓change the path as necessary

Install pip (it needs to be at least pip 6.0):

python get_pip.py

Now you can install virtualenv:

Scripts\pip install virtualenvScripts\virtualenv c:\Users\YOURUSER\openpyxl

8.2.3 lxml

openpyxl needs lxml in order to run the tests. Unfortunately, automatic installation of lxml on Windows is tricky aspip defaults to try and compile it. This can be avoided by using pre-compiled versions of the library.

90 Chapter 8. Information for Developers

openpyxl Documentation, Release 2.4.9

1. In the command line switch to your repository folder:

cd c:\Users\YOURUSER\openpyxl

2. Activate the virtualenv:

Scripts\activate

3. Install a development version of openpyxl:

pip install -e .

4. Download all the relevant lxml Windows wheels

Releases for legacy versions of Python:

• lxml 3.5.0 for Python 2.6

• lxml 3.5.0 for Python 3.3

5. Move all these files to a folder called “downloads” in your openpyxl checkout

6. Install the project requirements:

pip download -r requirements.txt -d downloadspip install --no-index --find-links downloads -r requirements.txt

To run tests for the virtualenv:

py.test -xrf openpyxl # the flag will stop testing at the first error

8.2.4 tox

We use tox to run the tests on different Python versions and configurations. Using it is as simple as:

set PIP_FIND_LINKS=downloadstox openpyxl

8.2. Testing on Windows 91

openpyxl Documentation, Release 2.4.9

92 Chapter 8. Information for Developers

CHAPTER 9

API Documentation

9.1 openpyxl package

9.1.1 Subpackages

openpyxl.cell package

Subpackages

openpyxl.cell.tests package

Submodules

openpyxl.cell.tests.test_cell module

openpyxl.cell.tests.test_cell.Cell()

openpyxl.cell.tests.test_cell.DummyWorksheet()

class openpyxl.cell.tests.test_cell.TestEncoding

pound = u’\xa3’

test_bad_encoding()

test_good_encoding()

test_string = ‘Compound Value (\xa3)’

openpyxl.cell.tests.test_cell.dummy_cell(DummyWorksheet, Cell)

openpyxl.cell.tests.test_cell.guess_types(request)

openpyxl.cell.tests.test_cell.test_alignment(DummyWorksheet, Cell)

93

openpyxl Documentation, Release 2.4.9

openpyxl.cell.tests.test_cell.test_boolean(dummy_cell, value)

openpyxl.cell.tests.test_cell.test_border(DummyWorksheet, Cell)

openpyxl.cell.tests.test_cell.test_cell_formatted_as_date(dummy_cell, value,is_date)

openpyxl.cell.tests.test_cell.test_cell_offset(dummy_cell)

openpyxl.cell.tests.test_cell.test_comment_assignment(dummy_cell)

openpyxl.cell.tests.test_cell.test_ctor(dummy_cell)

openpyxl.cell.tests.test_cell.test_error_codes(dummy_cell, error_string)

openpyxl.cell.tests.test_cell.test_fill(DummyWorksheet, Cell)

openpyxl.cell.tests.test_cell.test_font(DummyWorksheet, Cell)

openpyxl.cell.tests.test_cell.test_formula(dummy_cell, value)

openpyxl.cell.tests.test_cell.test_illegal_characters(dummy_cell)

openpyxl.cell.tests.test_cell.test_infer_numeric(dummy_cell, guess_types, value, ex-pected)

openpyxl.cell.tests.test_cell.test_insert_date(dummy_cell, value, internal, num-ber_format)

openpyxl.cell.tests.test_cell.test_not_formula(dummy_cell)

openpyxl.cell.tests.test_cell.test_null(dummy_cell, datatype)

openpyxl.cell.tests.test_cell.test_number_format(DummyWorksheet, Cell)

openpyxl.cell.tests.test_cell.test_only_one_cell_per_comment(dummy_cell)

openpyxl.cell.tests.test_cell.test_pivot_button(DummyWorksheet, Cell)

openpyxl.cell.tests.test_cell.test_protection(DummyWorksheet, Cell)

openpyxl.cell.tests.test_cell.test_quote_prefix(DummyWorksheet, Cell)

openpyxl.cell.tests.test_cell.test_remove_comment(dummy_cell)

openpyxl.cell.tests.test_cell.test_remove_hyperlink(dummy_cell)Remove a cell hyperlink

openpyxl.cell.tests.test_cell.test_repr(dummy_cell)

openpyxl.cell.tests.test_cell.test_repr_object(dummy_cell)

openpyxl.cell.tests.test_cell.test_set_bad_type(dummy_cell)

openpyxl.cell.tests.test_cell.test_string(dummy_cell, value)

openpyxl.cell.tests.test_cell.test_time_regex(value, expected)

openpyxl.cell.tests.test_cell.test_timedelta(dummy_cell)

openpyxl.cell.tests.test_read_only module

openpyxl.cell.tests.test_read_only.DummyCell(dummy_sheet)

class openpyxl.cell.tests.test_read_only.TestDateTime

test_conversion(DummyCell)

94 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_interal_value(DummyCell)

test_is_date(DummyCell)

test_number_format(DummyCell)

class openpyxl.cell.tests.test_read_only.TestStyle

test_font(dummy_sheet)

test_style_array(dummy_sheet)

openpyxl.cell.tests.test_read_only.dummy_sheet()

openpyxl.cell.tests.test_read_only.test_base_date(dummy_sheet)

openpyxl.cell.tests.test_read_only.test_bool(dummy_sheet, value, expected)

openpyxl.cell.tests.test_read_only.test_coordinate(dummy_sheet)

openpyxl.cell.tests.test_read_only.test_ctor(dummy_sheet)

openpyxl.cell.tests.test_read_only.test_empty_cell(dummy_sheet)

openpyxl.cell.tests.test_read_only.test_equality()

openpyxl.cell.tests.test_read_only.test_inline_String(dummy_sheet)

openpyxl.cell.tests.test_read_only.test_number_convesion(value, expected)

openpyxl.cell.tests.test_read_only.test_numeric(dummy_sheet, value, expected)

openpyxl.cell.tests.test_read_only.test_read_only(dummy_sheet)

openpyxl.cell.tests.test_read_only.test_string_table(dummy_sheet)

openpyxl.cell.tests.test_text module

openpyxl.cell.tests.test_text.InlineFont()

openpyxl.cell.tests.test_text.PhoneticProperties()

openpyxl.cell.tests.test_text.PhoneticText()

openpyxl.cell.tests.test_text.RichText()

class openpyxl.cell.tests.test_text.TestInlineFont

test_ctor(InlineFont)

test_from_xml(InlineFont)

class openpyxl.cell.tests.test_text.TestPhoneticProperties

test_ctor(PhoneticProperties)

test_from_xml(PhoneticProperties)

class openpyxl.cell.tests.test_text.TestPhoneticText

test_ctor(PhoneticText)

test_from_xml(PhoneticText)

9.1. openpyxl package 95

openpyxl Documentation, Release 2.4.9

class openpyxl.cell.tests.test_text.TestRichText

test_ctor(RichText)

test_from_xml(RichText)

class openpyxl.cell.tests.test_text.TestText

test_ctor(Text)

test_empty_element(Text)

test_from_xml(Text, src, expected)

openpyxl.cell.tests.test_text.Text()

Module contents

Submodules

openpyxl.cell.cell module

class openpyxl.cell.cell.Cell(worksheet, column=None, row=None, value=None, col_idx=None,style_array=None)

Bases: openpyxl.styles.styleable.StyleableObject

Describes cell associated properties.

Properties of interest include style, type, value, and address.

ERROR_CODES = (‘#NULL!’, ‘#DIV/0!’, ‘#VALUE!’, ‘#REF!’, ‘#NAME?’, ‘#NUM!’, ‘#N/A’)

TYPE_BOOL = ‘b’

TYPE_ERROR = ‘e’

TYPE_FORMULA = ‘f’

TYPE_FORMULA_CACHE_STRING = ‘str’

TYPE_INLINE = ‘inlineStr’

TYPE_NULL = ‘n’

TYPE_NUMERIC = ‘n’

TYPE_STRING = ‘s’

VALID_TYPES = (‘s’, ‘f’, ‘n’, ‘b’, ‘n’, ‘inlineStr’, ‘e’, ‘str’)

anchorreturns the expected position of a cell in pixels from the top-left of the sheet. For example, A1 anchorshould be (0,0).

Return type tuple(int, int)

base_date

check_error(value)Tries to convert Error” else N/A

96 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

check_string(value)Check string coding, length, and line break character

col_idx

column

commentReturns the comment associated with this cell

Return type openpyxl.comments.Comment

coordinate

data_type

encoding

guess_types

hyperlinkReturn the hyperlink target or an empty string

internal_valueAlways returns the value for excel.

is_dateWhether the value is formatted as a date

Return type bool

offset(row=0, column=0)Returns a cell location relative to this cell.

Parameters

• row (int) – number of rows to offset

• column (int) – number of columns to offset

Return type openpyxl.cell.Cell

parent

row

set_explicit_value(value=None, data_type=’s’)Coerce values according to their explicit type

valueGet or set the value held in the cell.

Return type depends on the value (string, float, int or datetime.datetime)

openpyxl.cell.cell.WriteOnlyCell(ws=None, value=None)

openpyxl.cell.interface module

class openpyxl.cell.interface.AbstractCell(value=None)Bases: abc.ABC

base_date

comment

coordinate

9.1. openpyxl package 97

openpyxl Documentation, Release 2.4.9

encoding

guess_types

internal_value

is_date

number_format

offset(row=0, column=0)

style

value

openpyxl.cell.read_only module

class openpyxl.cell.read_only.EmptyCellBases: object

alignment = None

border = None

data_type = ‘n’

fill = None

font = None

is_date = False

number_format = None

value = None

class openpyxl.cell.read_only.ReadOnlyCell(sheet, row, column, value, data_type=’n’,style_id=0)

Bases: object

alignment

base_date

border

column

coordinate

data_type

fill

font

internal_value

is_date

number_format

parent

protection

row

98 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

shared_strings

style_array

value

openpyxl.cell.text module

class openpyxl.cell.text.InlineFont(rFont=None, charset=None, family=None, b=None,i=None, strike=None, outline=None, shadow=None,condense=None, extend=None, color=None, sz=None,u=None, vertAlign=None, scheme=None)

Bases: openpyxl.styles.fonts.Font

Font for inline text because, yes what you need are different objects with the same elements but different con-straints.

bValues must be of type <type ‘bool’>

charsetValues must be of type <type ‘long’>

colorValues must be of type <class ‘openpyxl.styles.colors.Color’>

condenseValues must be of type <type ‘bool’>

extendValues must be of type <type ‘bool’>

familyValues must be of type <type ‘float’>

iValues must be of type <type ‘bool’>

outlineValues must be of type <type ‘bool’>

rFontValues must be of type <type ‘basestring’>

schemeValue must be one of set([’major’, ‘minor’])

shadowValues must be of type <type ‘bool’>

strikeValues must be of type <type ‘bool’>

szValues must be of type <type ‘float’>

tagname = ‘RPrElt’

uValue must be one of set([’double’, ‘single’, ‘doubleAccounting’, ‘singleAccounting’])

vertAlignValue must be one of set([’subscript’, ‘baseline’, ‘superscript’])

9.1. openpyxl package 99

openpyxl Documentation, Release 2.4.9

class openpyxl.cell.text.PhoneticProperties(fontId=None, type=None, alignment=None)Bases: openpyxl.descriptors.serialisable.Serialisable

alignmentValue must be one of set([’noControl’, ‘distributed’, ‘center’, ‘left’])

fontIdValues must be of type <type ‘long’>

tagname = ‘phoneticPr’

typeValue must be one of set([’Hiragana’, ‘fullwidthKatakana’, ‘halfwidthKatakana’, ‘noConversion’])

class openpyxl.cell.text.PhoneticText(sb=None, eb=None, t=None)Bases: openpyxl.descriptors.serialisable.Serialisable

ebValues must be of type <type ‘long’>

sbValues must be of type <type ‘long’>

tValues must be of type <type ‘unicode’>

tagname = ‘rPh’

textAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.cell.text.RichText(rPr=None, t=None)Bases: openpyxl.descriptors.serialisable.Serialisable

fontAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rPrValues must be of type <class ‘openpyxl.cell.text.InlineFont’>

tValues must be of type <type ‘unicode’>

tagname = ‘RElt’

textAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.cell.text.Text(t=None, r=(), rPh=(), phoneticPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

PhoneticPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

contentText stripped of all formatting

formattedAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

100 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

phoneticAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

phoneticPrValues must be of type <class ‘openpyxl.cell.text.PhoneticProperties’>

plainAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rA sequence (list or tuple) that may only contain objects of the declared type

rPhA sequence (list or tuple) that may only contain objects of the declared type

tValues must be of type <type ‘unicode’>

tagname = ‘text’

Module contents

openpyxl.chart package

Subpackages

openpyxl.chart.tests package

Submodules

openpyxl.chart.tests.conftest module

openpyxl.chart.tests.conftest.datadir()DATADIR as a LocalPath

openpyxl.chart.tests.test_area_chart module

openpyxl.chart.tests.test_area_chart.AreaChart()

openpyxl.chart.tests.test_area_chart.AreaChart3D()

class openpyxl.chart.tests.test_area_chart.TestAreaChart

test_ctor(AreaChart)

test_from_xml(AreaChart)

test_write(AreaChart)

class openpyxl.chart.tests.test_area_chart.TestAreaChart3D

test_ctor(AreaChart3D)

test_from_xml(AreaChart3D)

9.1. openpyxl package 101

openpyxl Documentation, Release 2.4.9

openpyxl.chart.tests.test_axis module

openpyxl.chart.tests.test_axis.ChartLines()

openpyxl.chart.tests.test_axis.DateAxis()

openpyxl.chart.tests.test_axis.DisplayUnitsLabel()

openpyxl.chart.tests.test_axis.DisplayUnitsLabelList()

openpyxl.chart.tests.test_axis.NumericAxis()

openpyxl.chart.tests.test_axis.Scaling()

openpyxl.chart.tests.test_axis.SeriesAxis()

class openpyxl.chart.tests.test_axis.TestAxis

test_ctor(_BaseAxis, Scaling)

class openpyxl.chart.tests.test_axis.TestChartLines

test_ctor(ChartLines)

test_from_xml(ChartLines)

class openpyxl.chart.tests.test_axis.TestDateAx

test_ctor(DateAxis)

test_from_xml(DateAxis)

class openpyxl.chart.tests.test_axis.TestDispUnitsLabel

test_ctor(DisplayUnitsLabel)

test_from_xml(DisplayUnitsLabel)

class openpyxl.chart.tests.test_axis.TestDisplayUnitList

test_ctor(DisplayUnitsLabelList)

test_from_xml(DisplayUnitsLabelList)

class openpyxl.chart.tests.test_axis.TestSeriesAxis

test_ctor(SeriesAxis)

test_from_xml(SeriesAxis)

class openpyxl.chart.tests.test_axis.TestTextAxis

from_xml(TextAxis)

test_ctor(TextAxis)

class openpyxl.chart.tests.test_axis.TestValAx

test_ctor(NumericAxis)

102 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_from_xml(NumericAxis)

openpyxl.chart.tests.test_axis.TextAxis()

openpyxl.chart.tests.test_axis.test_scaling(Scaling)

openpyxl.chart.tests.test_bar_chart module

openpyxl.chart.tests.test_bar_chart.BarChart()

openpyxl.chart.tests.test_bar_chart.BarChart3D()

class openpyxl.chart.tests.test_bar_chart.TestBarChart

test_ctor(BarChart)

test_from_tree(BarChart)

test_series(BarChart)

test_write(BarChart)

class openpyxl.chart.tests.test_bar_chart.TestBarChart3D

test_ctor(BarChart3D)

test_from_xml(BarChart3D)

openpyxl.chart.tests.test_bubble_chart module

openpyxl.chart.tests.test_bubble_chart.BubbleChart()

class openpyxl.chart.tests.test_bubble_chart.TestBubbleChart

test_ctor(BubbleChart)

test_from_xml(BubbleChart)

openpyxl.chart.tests.test_chart module

openpyxl.chart.tests.test_chart.ChartBase()

class openpyxl.chart.tests.test_chart.TestChartBase

test_add_data_cols(ChartBase)

test_add_data_rows(ChartBase)

test_ctor(ChartBase)

test_hash_function(ChartBase)

test_iadd(ChartBase)

test_invalid_add(ChartBase)

test_path(ChartBase)

9.1. openpyxl package 103

openpyxl Documentation, Release 2.4.9

test_plot_area(ChartBase)

test_save_twice(ChartBase)

test_set_catgories(ChartBase)

openpyxl.chart.tests.test_chartspace module

openpyxl.chart.tests.test_chartspace.ChartContainer()

openpyxl.chart.tests.test_chartspace.DataTable()

openpyxl.chart.tests.test_chartspace.ExternalData()

openpyxl.chart.tests.test_chartspace.PivotFormat()

openpyxl.chart.tests.test_chartspace.PivotFormatList()

openpyxl.chart.tests.test_chartspace.PivotSource()

openpyxl.chart.tests.test_chartspace.PlotArea()

openpyxl.chart.tests.test_chartspace.Protection()

openpyxl.chart.tests.test_chartspace.Surface()

class openpyxl.chart.tests.test_chartspace.TestChartContainer

test_ctor(ChartContainer)

test_from_xml(ChartContainer)

class openpyxl.chart.tests.test_chartspace.TestDataTable

test_ctor(DataTable)

test_from_xml(DataTable)

class openpyxl.chart.tests.test_chartspace.TestExternalData

test_ctor(ExternalData)

test_from_xml(ExternalData)

class openpyxl.chart.tests.test_chartspace.TestPivotFormat

test_ctor(PivotFormat)

test_from_xml(PivotFormat)

class openpyxl.chart.tests.test_chartspace.TestPivotFormatList

test_ctor(PivotFormatList)

test_from_xml(PivotFormatList)

class openpyxl.chart.tests.test_chartspace.TestPivotSource

test_ctor(PivotSource)

test_from_xml(PivotSource)

104 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.chart.tests.test_chartspace.TestPlotArea

test_ctor(PlotArea)

test_from_xml(PlotArea)

class openpyxl.chart.tests.test_chartspace.TestProtection

test_ctor(Protection)

test_from_xml(Protection)

class openpyxl.chart.tests.test_chartspace.TestSurface

test_ctor(Surface)

test_from_xml(Surface)

class openpyxl.chart.tests.test_chartspace.TestView3D

test_ctor(View3D)

test_from_xml(View3D)

openpyxl.chart.tests.test_chartspace.View3D()

openpyxl.chart.tests.test_data_source module

openpyxl.chart.tests.test_data_source.NumRef()

openpyxl.chart.tests.test_data_source.StrData()

openpyxl.chart.tests.test_data_source.StrRef()

openpyxl.chart.tests.test_data_source.StrVal()

class openpyxl.chart.tests.test_data_source.TestNumRef

test_from_xml(NumRef)

test_to_xml(NumRef)

class openpyxl.chart.tests.test_data_source.TestStrData

test_ctor(StrData)

test_from_xml(StrData)

class openpyxl.chart.tests.test_data_source.TestStrRef

test_ctor(StrRef)

test_from_xml(StrRef)

class openpyxl.chart.tests.test_data_source.TestStrVal

test_ctor(StrVal)

9.1. openpyxl package 105

openpyxl Documentation, Release 2.4.9

test_from_xml(StrVal)

openpyxl.chart.tests.test_error_bar module

openpyxl.chart.tests.test_error_bar.ErrorBars()

class openpyxl.chart.tests.test_error_bar.TestErrorBar

test_ctor(ErrorBars)

test_from_xml(ErrorBars)

openpyxl.chart.tests.test_label module

openpyxl.chart.tests.test_label.DataLabel()

openpyxl.chart.tests.test_label.DataLabelList()

class openpyxl.chart.tests.test_label.TestDataLabeList

test_ctor(DataLabelList)

test_from_xml(DataLabelList)

class openpyxl.chart.tests.test_label.TestDataLabel

test_ctor(DataLabel)

test_from_xml(DataLabel)

openpyxl.chart.tests.test_layout module

openpyxl.chart.tests.test_layout.ManualLayout()

class openpyxl.chart.tests.test_layout.TestLayout

test_ctor()

class openpyxl.chart.tests.test_layout.TestManualLayout

test_ctor(ManualLayout)

test_from_xml(ManualLayout)

openpyxl.chart.tests.test_legend module

openpyxl.chart.tests.test_legend.Legend()

openpyxl.chart.tests.test_legend.LegendEntry()

class openpyxl.chart.tests.test_legend.TestLegend

test_ctor(Legend)

106 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_from_xml(Legend)

class openpyxl.chart.tests.test_legend.TestLegendEntry

test_ctor(LegendEntry)

test_from_xml(LegendEntry)

openpyxl.chart.tests.test_line_chart module

openpyxl.chart.tests.test_line_chart.LineChart()

openpyxl.chart.tests.test_line_chart.LineChart3D()

class openpyxl.chart.tests.test_line_chart.TestLineChart

test_ctor(LineChart)

test_from_xml(LineChart)

class openpyxl.chart.tests.test_line_chart.TestLineChart3D

test_ctor(LineChart3D)

test_from_xml(LineChart3D)

openpyxl.chart.tests.test_marker module

openpyxl.chart.tests.test_marker.DataPoint()

openpyxl.chart.tests.test_marker.Marker()

class openpyxl.chart.tests.test_marker.TestDataPoint

test_ctor(DataPoint)

test_from_xml(DataPoint)

class openpyxl.chart.tests.test_marker.TestMarker

test_ctor(Marker)

test_from_xml(Marker)

openpyxl.chart.tests.test_picture module

openpyxl.chart.tests.test_picture.PictureOptions()

class openpyxl.chart.tests.test_picture.TestPictureOptions

test_ctor(PictureOptions)

test_from_xml(PictureOptions)

9.1. openpyxl package 107

openpyxl Documentation, Release 2.4.9

openpyxl.chart.tests.test_pie_chart module

openpyxl.chart.tests.test_pie_chart.CustomSplit()

openpyxl.chart.tests.test_pie_chart.DoughnutChart()

openpyxl.chart.tests.test_pie_chart.PieChart()

openpyxl.chart.tests.test_pie_chart.PieChart3D()

openpyxl.chart.tests.test_pie_chart.ProjectedPieChart()

class openpyxl.chart.tests.test_pie_chart.TestCustomSplit

test_ctor(CustomSplit)

test_from_xml(CustomSplit)

class openpyxl.chart.tests.test_pie_chart.TestDoughnutChart

test_ctor(DoughnutChart)

test_from_xml(DoughnutChart)

class openpyxl.chart.tests.test_pie_chart.TestPieChart

test_ctor(PieChart)

test_from_xml(PieChart)

class openpyxl.chart.tests.test_pie_chart.TestPieChart3D

test_ctor(PieChart3D)

class openpyxl.chart.tests.test_pie_chart.TestProjectedPieChart

test_ctor(ProjectedPieChart)

test_from_xml(ProjectedPieChart)

openpyxl.chart.tests.test_print module

openpyxl.chart.tests.test_print.PageMargins()

openpyxl.chart.tests.test_print.PrintSettings()

class openpyxl.chart.tests.test_print.TestPageMargins

test_ctor(PageMargins)

test_from_xml(PageMargins)

class openpyxl.chart.tests.test_print.TestPrintSettings

test_ctor(PrintSettings)

test_from_xml(PrintSettings)

108 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.chart.tests.test_radar_chart module

openpyxl.chart.tests.test_radar_chart.RadarChart()

class openpyxl.chart.tests.test_radar_chart.TestStockChart

test_ctor(RadarChart)

test_from_xml(RadarChart)

openpyxl.chart.tests.test_reader module

openpyxl.chart.tests.test_reader.test_read(datadir)

openpyxl.chart.tests.test_reference module

openpyxl.chart.tests.test_reference.Reference()

class openpyxl.chart.tests.test_reference.TestReference

test_cells(Reference, range_string, cells)

test_cols(Reference)

test_ctor(Reference, Worksheet)

test_from_string(Reference)

test_length(Reference, range_string, length)

test_pop(Reference, range_string, cell, min_col, min_row)

test_repr(Reference)

test_rows(Reference)

test_single_cell(Reference, Worksheet)

openpyxl.chart.tests.test_reference.Worksheet()

openpyxl.chart.tests.test_scatter_chart module

openpyxl.chart.tests.test_scatter_chart.ScatterChart()

class openpyxl.chart.tests.test_scatter_chart.TestLineChart

test_ctor(ScatterChart)

test_from_xml(ScatterChart)

openpyxl.chart.tests.test_series module

openpyxl.chart.tests.test_series.SeriesLabel()

class openpyxl.chart.tests.test_series.TestAreaSer

9.1. openpyxl package 109

openpyxl Documentation, Release 2.4.9

test_from_tree()

class openpyxl.chart.tests.test_series.TestBarSer

test_from_tree()

class openpyxl.chart.tests.test_series.TestBubbleSer

test_from_tree()

class openpyxl.chart.tests.test_series.TestPieSer

test_from_tree()

class openpyxl.chart.tests.test_series.TestRadarSer

test_from_tree()

class openpyxl.chart.tests.test_series.TestScatterSer

test_from_tree()

class openpyxl.chart.tests.test_series.TestSeriesLabel

test_ctor(SeriesLabel)

test_from_xml(SeriesLabel)

class openpyxl.chart.tests.test_series.TestSurfaceSer

test_from_tree()

openpyxl.chart.tests.test_series_factory module

openpyxl.chart.tests.test_series_factory.Series()

class openpyxl.chart.tests.test_series_factory.TestSeriesFactory

test_ctor(Series)

test_manual_idx(Series)

test_manual_order(Series)

test_title(Series)

test_title_from_data(Series)

test_xy(Series)

test_zvalues(Series)

110 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.chart.tests.test_shapes module

openpyxl.chart.tests.test_shapes.GraphicalProperties()

class openpyxl.chart.tests.test_shapes.TestShapeProperties

test_ctor(GraphicalProperties)

test_from_xml(GraphicalProperties)

openpyxl.chart.tests.test_stock_chart module

openpyxl.chart.tests.test_stock_chart.StockChart()

class openpyxl.chart.tests.test_stock_chart.TestStockChart

test_ctor(StockChart)

test_from_xml(StockChart)

openpyxl.chart.tests.test_surface_chart module

openpyxl.chart.tests.test_surface_chart.BandFormat()

openpyxl.chart.tests.test_surface_chart.BandFormatList()

openpyxl.chart.tests.test_surface_chart.SurfaceChart()

openpyxl.chart.tests.test_surface_chart.SurfaceChart3D()

class openpyxl.chart.tests.test_surface_chart.TestBandFormat

test_ctor(BandFormat)

test_from_xml(BandFormat)

class openpyxl.chart.tests.test_surface_chart.TestBandFormatList

test_ctor(BandFormatList)

test_from_xml(BandFormatList)

class openpyxl.chart.tests.test_surface_chart.TestSurfaceChart

test_ctor(SurfaceChart)

test_from_xml(SurfaceChart)

class openpyxl.chart.tests.test_surface_chart.TestSurfaceChart3D

test_ctor(SurfaceChart3D)

test_from_xml(SurfaceChart3D)

9.1. openpyxl package 111

openpyxl Documentation, Release 2.4.9

openpyxl.chart.tests.test_text module

openpyxl.chart.tests.test_text.RichText()

class openpyxl.chart.tests.test_text.TestRichText

test_ctor(RichText)

test_from_xml(RichText)

openpyxl.chart.tests.test_title module

class openpyxl.chart.tests.test_title.TestTitle

test_ctor(Title)

test_from_xml(Title)

openpyxl.chart.tests.test_title.Title()

openpyxl.chart.tests.test_title.test_title_maker()Create a title element from a string preserving line breaks.

openpyxl.chart.tests.test_trendline module

class openpyxl.chart.tests.test_trendline.TestTrendline

test_ctor(Trendline)

test_from_xml(Trendline)

class openpyxl.chart.tests.test_trendline.TestTrendlineLabel

test_ctor(TrendlineLabel)

test_from_xml(TrendlineLabel)

openpyxl.chart.tests.test_trendline.Trendline()

openpyxl.chart.tests.test_trendline.TrendlineLabel()

openpyxl.chart.tests.test_updown_bars module

class openpyxl.chart.tests.test_updown_bars.TestUpDownBars

test_ctor(UpDownBars)

test_from_xml(UpDownBars)

openpyxl.chart.tests.test_updown_bars.UpDownBars()

112 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Module contents

Submodules

openpyxl.chart.area_chart module

class openpyxl.chart.area_chart.AreaChart(axId=None, extLst=None, **kw)Bases: openpyxl.chart.area_chart._AreaChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dropLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

groupingValue must be one of set([’percentStacked’, ‘stacked’, ‘standard’])

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘areaChart’

varyColorsValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.TextAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

class openpyxl.chart.area_chart.AreaChart3D(gapDepth=None, **kw)Bases: openpyxl.chart.area_chart.AreaChart

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dropLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

gapDepthValues must be of type <type ‘float’>

groupingValue must be one of set([’percentStacked’, ‘stacked’, ‘standard’])

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘area3DChart’

varyColorsValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.TextAxis’>

9.1. openpyxl package 113

openpyxl Documentation, Release 2.4.9

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

z_axisValues must be of type <class ‘openpyxl.chart.axis.SeriesAxis’>

openpyxl.chart.axis module

class openpyxl.chart.axis.ChartLines(spPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘chartLines’

class openpyxl.chart.axis.DateAxis(auto=None, lblOffset=None, baseTimeUnit=None, ma-jorUnit=1, majorTimeUnit=None, minorUnit=None, minor-TimeUnit=None, extLst=None, **kw)

Bases: openpyxl.chart.axis._BaseAxis

autoValues must be of type <type ‘bool’>

axIdValues must be of type <type ‘int’>

axPosValue must be one of set([’r’, ‘b’, ‘l’, ‘t’])

baseTimeUnitValue must be one of set([’months’, ‘days’, ‘years’])

crossAxValues must be of type <type ‘int’>

crossesValue must be one of set([’max’, ‘autoZero’, ‘min’])

crossesAtValues must be of type <type ‘float’>

deleteValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

lblOffsetValues must be of type <type ‘long’>

majorGridlinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

majorTickMarkValue must be one of set([’out’, ‘cross’, ‘in’])

114 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

majorTimeUnitValue must be one of set([’months’, ‘days’, ‘years’])

majorUnitValues must be of type <type ‘float’>

minorGridlinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

minorTickMarkValue must be one of set([’out’, ‘cross’, ‘in’])

minorTimeUnitValue must be one of set([’months’, ‘days’, ‘years’])

minorUnitValues must be of type <type ‘float’>

numFmtValues must be of type <class ‘openpyxl.chart.data_source.NumFmt’>

scalingValues must be of type <class ‘openpyxl.chart.axis.Scaling’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘dateAx’

tickLblPosValue must be one of set([’high’, ‘low’, ‘nextTo’])

titleValues must be of type <class ‘openpyxl.chart.title.Title’>

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.chart.axis.DisplayUnitsLabel(layout=None, tx=None, spPr=None,txPr=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

layoutValues must be of type <class ‘openpyxl.chart.layout.Layout’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘dispUnitsLbl’

textAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

textPropertesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

txValues must be of type <class ‘openpyxl.chart.text.Text’>

9.1. openpyxl package 115

openpyxl Documentation, Release 2.4.9

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.chart.axis.DisplayUnitsLabelList(custUnit=None, builtInUnit=None, dis-pUnitsLbl=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

builtInUnitValue must be one of set([’tenMillions’, ‘tenThousands’, ‘hundreds’, ‘hundredThousands’, ‘trillions’,‘hundredMillions’, ‘billions’, ‘thousands’, ‘millions’])

custUnitValues must be of type <type ‘float’>

dispUnitsLblValues must be of type <class ‘openpyxl.chart.axis.DisplayUnitsLabel’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

tagname = ‘dispUnits’

class openpyxl.chart.axis.NumericAxis(crossBetween=None, majorUnit=None, mi-norUnit=None, dispUnits=None, extLst=None, **kw)

Bases: openpyxl.chart.axis._BaseAxis

axIdValues must be of type <type ‘int’>

axPosValue must be one of set([’r’, ‘b’, ‘l’, ‘t’])

crossAxValues must be of type <type ‘int’>

crossBetweenValue must be one of set([’midCat’, ‘between’])

crossesValue must be one of set([’max’, ‘autoZero’, ‘min’])

crossesAtValues must be of type <type ‘float’>

deleteValues must be of type <type ‘bool’>

dispUnitsValues must be of type <class ‘openpyxl.chart.axis.DisplayUnitsLabelList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

majorGridlinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

majorTickMarkValue must be one of set([’out’, ‘cross’, ‘in’])

majorUnitValues must be of type <type ‘float’>

minorGridlinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

116 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

minorTickMarkValue must be one of set([’out’, ‘cross’, ‘in’])

minorUnitValues must be of type <type ‘float’>

numFmtValues must be of type <class ‘openpyxl.chart.data_source.NumFmt’>

scalingValues must be of type <class ‘openpyxl.chart.axis.Scaling’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘valAx’

tickLblPosValue must be one of set([’high’, ‘low’, ‘nextTo’])

titleValues must be of type <class ‘openpyxl.chart.title.Title’>

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.chart.axis.Scaling(logBase=None, orientation=’minMax’, max=None, min=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

logBaseValues must be of type <type ‘float’>

maxValues must be of type <type ‘float’>

minValues must be of type <type ‘float’>

orientationValue must be one of set([’maxMin’, ‘minMax’])

tagname = ‘scaling’

class openpyxl.chart.axis.SeriesAxis(tickLblSkip=None, tickMarkSkip=None, extLst=None,**kw)

Bases: openpyxl.chart.axis._BaseAxis

axIdValues must be of type <type ‘int’>

axPosValue must be one of set([’r’, ‘b’, ‘l’, ‘t’])

crossAxValues must be of type <type ‘int’>

crossesValue must be one of set([’max’, ‘autoZero’, ‘min’])

crossesAtValues must be of type <type ‘float’>

9.1. openpyxl package 117

openpyxl Documentation, Release 2.4.9

deleteValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

majorGridlinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

majorTickMarkValue must be one of set([’out’, ‘cross’, ‘in’])

minorGridlinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

minorTickMarkValue must be one of set([’out’, ‘cross’, ‘in’])

numFmtValues must be of type <class ‘openpyxl.chart.data_source.NumFmt’>

scalingValues must be of type <class ‘openpyxl.chart.axis.Scaling’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘serAx’

tickLblPosValue must be one of set([’high’, ‘low’, ‘nextTo’])

tickLblSkipValues must be of type <type ‘long’>

tickMarkSkipValues must be of type <type ‘long’>

titleValues must be of type <class ‘openpyxl.chart.title.Title’>

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.chart.axis.TextAxis(auto=None, lblAlgn=None, lblOffset=100, tickLblSkip=None,tickMarkSkip=None, noMultiLvlLbl=None, extLst=None,**kw)

Bases: openpyxl.chart.axis._BaseAxis

autoValues must be of type <type ‘bool’>

axIdValues must be of type <type ‘int’>

axPosValue must be one of set([’r’, ‘b’, ‘l’, ‘t’])

crossAxValues must be of type <type ‘int’>

crossesValue must be one of set([’max’, ‘autoZero’, ‘min’])

118 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

crossesAtValues must be of type <type ‘float’>

deleteValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

lblAlgnValue must be one of set([’r’, ‘l’, ‘ctr’])

lblOffsetValues must be of type <type ‘float’>

majorGridlinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

majorTickMarkValue must be one of set([’out’, ‘cross’, ‘in’])

minorGridlinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

minorTickMarkValue must be one of set([’out’, ‘cross’, ‘in’])

noMultiLvlLblValues must be of type <type ‘bool’>

numFmtValues must be of type <class ‘openpyxl.chart.data_source.NumFmt’>

scalingValues must be of type <class ‘openpyxl.chart.axis.Scaling’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘catAx’

tickLblPosValue must be one of set([’high’, ‘low’, ‘nextTo’])

tickLblSkipValues must be of type <type ‘long’>

tickMarkSkipValues must be of type <type ‘long’>

titleValues must be of type <class ‘openpyxl.chart.title.Title’>

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

openpyxl.chart.bar_chart module

class openpyxl.chart.bar_chart.BarChart(gapWidth=150, overlap=None, serLines=None,axId=None, extLst=None, **kw)

Bases: openpyxl.chart.bar_chart._BarChartBase

9.1. openpyxl package 119

openpyxl Documentation, Release 2.4.9

barDirValue must be one of set([’bar’, ‘col’])

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

gapWidthValues must be of type <type ‘float’>

groupingValue must be one of set([’percentStacked’, ‘clustered’, ‘stacked’, ‘standard’])

overlapValues must be of type <type ‘float’>

serA sequence (list or tuple) that may only contain objects of the declared type

serLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

tagname = ‘barChart’

varyColorsValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.TextAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

class openpyxl.chart.bar_chart.BarChart3D(gapWidth=150, gapDepth=150, shape=None, ser-Lines=None, axId=None, extLst=None, **kw)

Bases: openpyxl.chart.bar_chart._BarChartBase, openpyxl.chart._3d._3DBase

backWallValues must be of type <class ‘openpyxl.chart._3d.Surface’>

barDirValue must be one of set([’bar’, ‘col’])

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

floorValues must be of type <class ‘openpyxl.chart._3d.Surface’>

gapDepthValues must be of type <type ‘float’>

gapWidthValues must be of type <type ‘float’>

groupingValue must be one of set([’percentStacked’, ‘clustered’, ‘stacked’, ‘standard’])

serA sequence (list or tuple) that may only contain objects of the declared type

120 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

serLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

shapeValue must be one of set([’box’, ‘cylinder’, ‘pyramid’, ‘coneToMax’, ‘pyramidToMax’, ‘cone’])

sideWallValues must be of type <class ‘openpyxl.chart._3d.Surface’>

tagname = ‘bar3DChart’

varyColorsValues must be of type <type ‘bool’>

view3DValues must be of type <class ‘openpyxl.chart._3d.View3D’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.TextAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

z_axisValues must be of type <class ‘openpyxl.chart.axis.SeriesAxis’>

openpyxl.chart.bubble_chart module

class openpyxl.chart.bubble_chart.BubbleChart(varyColors=None, ser=(), dLbls=None, bub-ble3D=None, bubbleScale=None, showNeg-Bubbles=None, sizeRepresents=None,axId=None, extLst=None)

Bases: openpyxl.chart._chart.ChartBase

bubble3DValues must be of type <type ‘bool’>

bubbleScaleValues must be of type <type ‘float’>

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dataLabelsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

serA sequence (list or tuple) that may only contain objects of the declared type

showNegBubblesValues must be of type <type ‘bool’>

sizeRepresentsValue must be one of set([’w’, ‘area’])

tagname = ‘bubbleChart’

9.1. openpyxl package 121

openpyxl Documentation, Release 2.4.9

varyColorsValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

openpyxl.chart.chartspace module

class openpyxl.chart.chartspace.ChartContainer(title=None, autoTitleDeleted=None,pivotFmts=None, view3D=None,floor=None, sideWall=None, back-Wall=None, plotArea=None, legend=None,plotVisOnly=None, dispBlanksAs=’gap’,showDLblsOverMax=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

autoTitleDeletedValues must be of type <type ‘bool’>

backWallValues must be of type <class ‘openpyxl.chart._3d.Surface’>

dispBlanksAsValue must be one of set([’zero’, ‘span’, ‘gap’])

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

floorValues must be of type <class ‘openpyxl.chart._3d.Surface’>

legendValues must be of type <class ‘openpyxl.chart.legend.Legend’>

pivotFmtsValues must be of type <class ‘openpyxl.chart.chartspace.PivotFormatList’>

plotAreaValues must be of type <class ‘openpyxl.chart.chartspace.PlotArea’>

plotVisOnlyValues must be of type <type ‘bool’>

showDLblsOverMaxValues must be of type <type ‘bool’>

sideWallValues must be of type <class ‘openpyxl.chart._3d.Surface’>

tagname = ‘chart’

titleValues must be of type <class ‘openpyxl.chart.title.Title’>

view3DValues must be of type <class ‘openpyxl.chart._3d.View3D’>

122 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.chart.chartspace.ChartSpace(date1904=None, lang=None, rounded-Corners=None, style=None, clrMapOvr=None,pivotSource=None, protection=None,chart=None, spPr=None, txPr=None, exter-nalData=None, printSettings=None, user-Shapes=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

chartValues must be of type <class ‘openpyxl.chart.chartspace.ChartContainer’>

clrMapOvrValues must be of type <class ‘openpyxl.drawing.colors.ColorMapping’>

date1904Values must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

externalDataValues must be of type <class ‘openpyxl.chart.chartspace.ExternalData’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

langValues must be of type <type ‘basestring’>

pivotSourceValues must be of type <class ‘openpyxl.chart.chartspace.PivotSource’>

printSettingsValues must be of type <class ‘openpyxl.chart.print_settings.PrintSettings’>

protectionValues must be of type <class ‘openpyxl.chart.chartspace.Protection’>

roundedCornersValues must be of type <type ‘bool’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

styleValues must be of type <type ‘float’>

tagname = ‘chartSpace’

textPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

userShapesValues must be of type <type ‘basestring’>

9.1. openpyxl package 123

openpyxl Documentation, Release 2.4.9

class openpyxl.chart.chartspace.DataTable(showHorzBorder=None, showVertBorder=None,showOutline=None, showKeys=None, spPr=None,txPr=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

showHorzBorderValues must be of type <type ‘bool’>

showKeysValues must be of type <type ‘bool’>

showOutlineValues must be of type <type ‘bool’>

showVertBorderValues must be of type <type ‘bool’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘dTable’

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.chart.chartspace.ExternalData(autoUpdate=None, id=None)Bases: openpyxl.descriptors.serialisable.Serialisable

autoUpdateValues must be of type <type ‘bool’>

idValues must be of type <type ‘basestring’>

tagname = ‘externalData’

class openpyxl.chart.chartspace.PivotFormat(idx=0, spPr=None, txPr=None, marker=None,dLbl=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

DataLabelAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

TextBodyAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

dLblValues must be of type <class ‘openpyxl.chart.label.DataLabel’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

124 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

idxValues must be of type <type ‘long’>

markerValues must be of type <class ‘openpyxl.chart.marker.Marker’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘pivotFmt’

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.chart.chartspace.PivotFormatList(pivotFmt=())Bases: openpyxl.descriptors.serialisable.Serialisable

pivotFmtA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘pivotFmts’

class openpyxl.chart.chartspace.PivotSource(name=None, fmtId=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

fmtIdValues must be of type <type ‘int’>

nameValues must be of type <type ‘unicode’>

tagname = ‘pivotSource’

class openpyxl.chart.chartspace.PlotArea(layout=None, dTable=None, spPr=None,areaChart=None, area3DChart=None,lineChart=None, line3DChart=None,stockChart=None, radarChart=None, scatter-Chart=None, pieChart=None, pie3DChart=None,doughnutChart=None, barChart=None,bar3DChart=None, ofPieChart=None, sur-faceChart=None, surface3DChart=None, bub-bleChart=None, valAx=(), catAx=(), serAx=(),dateAx=(), extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

area3DChartValues must be of type <class ‘openpyxl.chart.area_chart.AreaChart3D’>

areaChartValues must be of type <class ‘openpyxl.chart.area_chart.AreaChart’>

bar3DChartValues must be of type <class ‘openpyxl.chart.bar_chart.BarChart3D’>

barChartValues must be of type <class ‘openpyxl.chart.bar_chart.BarChart’>

bubbleChartValues must be of type <class ‘openpyxl.chart.bubble_chart.BubbleChart’>

9.1. openpyxl package 125

openpyxl Documentation, Release 2.4.9

catAxA sequence (list or tuple) that may only contain objects of the declared type

dTableValues must be of type <class ‘openpyxl.chart.chartspace.DataTable’>

dateAxA sequence (list or tuple) that may only contain objects of the declared type

doughnutChartValues must be of type <class ‘openpyxl.chart.pie_chart.DoughnutChart’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

layoutValues must be of type <class ‘openpyxl.chart.layout.Layout’>

line3DChartValues must be of type <class ‘openpyxl.chart.line_chart.LineChart3D’>

lineChartValues must be of type <class ‘openpyxl.chart.line_chart.LineChart’>

ofPieChartValues must be of type <class ‘openpyxl.chart.pie_chart.ProjectedPieChart’>

pie3DChartValues must be of type <class ‘openpyxl.chart.pie_chart.PieChart3D’>

pieChartValues must be of type <class ‘openpyxl.chart.pie_chart.PieChart’>

radarChartValues must be of type <class ‘openpyxl.chart.radar_chart.RadarChart’>

scatterChartValues must be of type <class ‘openpyxl.chart.scatter_chart.ScatterChart’>

serAxA sequence (list or tuple) that may only contain objects of the declared type

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

stockChartValues must be of type <class ‘openpyxl.chart.stock_chart.StockChart’>

surface3DChartValues must be of type <class ‘openpyxl.chart.surface_chart.SurfaceChart3D’>

surfaceChartValues must be of type <class ‘openpyxl.chart.surface_chart.SurfaceChart’>

tagname = ‘plotArea’

to_tree(tagname=None, idx=None)

valAxA sequence (list or tuple) that may only contain objects of the declared type

126 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.chart.chartspace.Protection(chartObject=None, data=None, format-ting=None, selection=None, userInter-face=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

chartObjectValues must be of type <type ‘bool’>

dataValues must be of type <type ‘bool’>

formattingValues must be of type <type ‘bool’>

selectionValues must be of type <type ‘bool’>

tagname = ‘protection’

userInterfaceValues must be of type <type ‘bool’>

openpyxl.chart.data_source module

Collection of utility primitives for charts.

class openpyxl.chart.data_source.AxDataSource(numRef=None, numLit=None, strRef=None,strLit=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

numLitValues must be of type <class ‘openpyxl.chart.data_source.NumData’>

numRefValues must be of type <class ‘openpyxl.chart.data_source.NumRef’>

strLitValues must be of type <class ‘openpyxl.chart.data_source.StrData’>

strRefValues must be of type <class ‘openpyxl.chart.data_source.StrRef’>

class openpyxl.chart.data_source.NumData(formatCode=None, ptCount=None, pt=(),extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

formatCodeValues must be of type <type ‘str’>

ptA sequence (list or tuple) that may only contain objects of the declared type

ptCountValues must be of type <type ‘long’>

class openpyxl.chart.data_source.NumDataSource(numRef=None, numLit=None)Bases: openpyxl.descriptors.serialisable.Serialisable

numLitValues must be of type <class ‘openpyxl.chart.data_source.NumData’>

9.1. openpyxl package 127

openpyxl Documentation, Release 2.4.9

numRefValues must be of type <class ‘openpyxl.chart.data_source.NumRef’>

class openpyxl.chart.data_source.NumFmt(formatCode=None, sourceLinked=False)Bases: openpyxl.descriptors.serialisable.Serialisable

formatCodeValues must be of type <type ‘basestring’>

sourceLinkedValues must be of type <type ‘bool’>

class openpyxl.chart.data_source.NumRef(f=None, numCache=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

fValues must be of type <type ‘unicode’>

numCacheValues must be of type <class ‘openpyxl.chart.data_source.NumData’>

refAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.chart.data_source.NumVal(idx=None, formatCode=None, v=None)Bases: openpyxl.descriptors.serialisable.Serialisable

formatCodeValues must be of type <type ‘unicode’>

idxValues must be of type <type ‘long’>

vValues must be of type <type ‘float’>

class openpyxl.chart.data_source.StrData(ptCount=None, pt=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

ptValues must be of type <class ‘openpyxl.chart.data_source.StrVal’>

ptCountValues must be of type <type ‘long’>

tagname = ‘strData’

class openpyxl.chart.data_source.StrRef(f=None, strCache=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

fValues must be of type <type ‘unicode’>

128 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

strCacheValues must be of type <class ‘openpyxl.chart.data_source.StrData’>

tagname = ‘strRef’

class openpyxl.chart.data_source.StrVal(idx=0, v=None)Bases: openpyxl.descriptors.serialisable.Serialisable

idxValues must be of type <type ‘long’>

tagname = ‘strVal’

vValues must be of type <type ‘unicode’>

openpyxl.chart.descriptors module

class openpyxl.chart.descriptors.NestedGapAmount(**kw)Bases: openpyxl.descriptors.nested.NestedMinMax

allow_none = True

max = 500

min = 0

class openpyxl.chart.descriptors.NestedOverlap(**kw)Bases: openpyxl.descriptors.nested.NestedMinMax

allow_none = True

max = 100

min = -100

class openpyxl.chart.descriptors.NumberFormatDescriptor(*args, **kw)Bases: openpyxl.descriptors.base.Typed

Allow direct assignment of format code

allow_none = True

expected_typealias of NumFmt

openpyxl.chart.error_bar module

class openpyxl.chart.error_bar.ErrorBars(errDir=None, errBarType=’both’, errVal-Type=’fixedVal’, noEndCap=None, plus=None,minus=None, val=None, spPr=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

directionAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

errBarTypeValue must be one of set([’both’, ‘plus’, ‘minus’])

errDirValue must be one of set([’y’, ‘x’])

9.1. openpyxl package 129

openpyxl Documentation, Release 2.4.9

errValTypeValue must be one of set([’percentage’, ‘fixedVal’, ‘cust’, ‘stdDev’, ‘stdErr’])

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

minusValues must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>

noEndCapValues must be of type <type ‘bool’>

plusValues must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>

sizeAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

styleAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘errBars’

valValues must be of type <type ‘float’>

openpyxl.chart.label module

class openpyxl.chart.label.DataLabel(idx=0, **kw)Bases: openpyxl.chart.label._DataLabelBase

dLblPosValue must be one of set([’bestFit’, ‘inEnd’, ‘b’, ‘ctr’, ‘l’, ‘inBase’, ‘r’, ‘outEnd’, ‘t’])

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

idxValues must be of type <type ‘long’>

numFmtValues must be of type <type ‘basestring’>

separatorValues must be of type <type ‘basestring’>

showBubbleSizeValues must be of type <type ‘bool’>

showCatNameValues must be of type <type ‘bool’>

130 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

showLeaderLinesValues must be of type <type ‘bool’>

showLegendKeyValues must be of type <type ‘bool’>

showPercentValues must be of type <type ‘bool’>

showSerNameValues must be of type <type ‘bool’>

showValValues must be of type <type ‘bool’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘dLbl’

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.chart.label.DataLabelList(dLbl=(), delete=None, **kw)Bases: openpyxl.chart.label._DataLabelBase

dLblA sequence (list or tuple) that may only contain objects of the declared type

dLblPosValue must be one of set([’bestFit’, ‘inEnd’, ‘b’, ‘ctr’, ‘l’, ‘inBase’, ‘r’, ‘outEnd’, ‘t’])

deleteValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

numFmtValues must be of type <type ‘basestring’>

separatorValues must be of type <type ‘basestring’>

showBubbleSizeValues must be of type <type ‘bool’>

showCatNameValues must be of type <type ‘bool’>

showLeaderLinesValues must be of type <type ‘bool’>

showLegendKeyValues must be of type <type ‘bool’>

showPercentValues must be of type <type ‘bool’>

showSerNameValues must be of type <type ‘bool’>

showValValues must be of type <type ‘bool’>

9.1. openpyxl package 131

openpyxl Documentation, Release 2.4.9

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘dLbls’

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

openpyxl.chart.layout module

class openpyxl.chart.layout.Layout(manualLayout=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

manualLayoutValues must be of type <class ‘openpyxl.chart.layout.ManualLayout’>

tagname = ‘layout’

class openpyxl.chart.layout.ManualLayout(layoutTarget=None, xMode=None, yMode=None,wMode=None, hMode=None, x=None, y=None,w=None, h=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

hValues must be of type <type ‘float’>

hModeValue must be one of set([’edge’, ‘factor’])

heightAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

layoutTargetValue must be one of set([’outer’, ‘inner’])

tagname = ‘manualLayout’

wValues must be of type <type ‘float’>

wModeValue must be one of set([’edge’, ‘factor’])

widthAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

xValues must be of type <type ‘float’>

xModeValue must be one of set([’edge’, ‘factor’])

yValues must be of type <type ‘float’>

132 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

yModeValue must be one of set([’edge’, ‘factor’])

openpyxl.chart.legend module

class openpyxl.chart.legend.Legend(legendPos=’r’, legendEntry=(), layout=None, overlay=None,spPr=None, txPr=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

layoutValues must be of type <class ‘openpyxl.chart.layout.Layout’>

legendEntryA sequence (list or tuple) that may only contain objects of the declared type

legendPosValue must be one of set([’r’, ‘b’, ‘tr’, ‘l’, ‘t’])

overlayValues must be of type <type ‘bool’>

positionAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘legend’

textPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.chart.legend.LegendEntry(idx=0, delete=False, txPr=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

deleteValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

idxValues must be of type <type ‘long’>

tagname = ‘legendEntry’

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

9.1. openpyxl package 133

openpyxl Documentation, Release 2.4.9

openpyxl.chart.line_chart module

class openpyxl.chart.line_chart.LineChart(hiLowLines=None, upDownBars=None,marker=None, smooth=None, axId=None,extLst=None, **kw)

Bases: openpyxl.chart.line_chart._LineChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dropLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

groupingValue must be one of set([’percentStacked’, ‘stacked’, ‘standard’])

hiLowLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

markerValues must be of type <type ‘bool’>

serA sequence (list or tuple) that may only contain objects of the declared type

smoothValues must be of type <type ‘bool’>

tagname = ‘lineChart’

upDownBarsValues must be of type <class ‘openpyxl.chart.updown_bars.UpDownBars’>

varyColorsValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis._BaseAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

class openpyxl.chart.line_chart.LineChart3D(gapDepth=None, hiLowLines=None, upDown-Bars=None, marker=None, smooth=None,axId=None, **kw)

Bases: openpyxl.chart.line_chart._LineChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dropLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

gapDepthValues must be of type <type ‘float’>

groupingValue must be one of set([’percentStacked’, ‘stacked’, ‘standard’])

134 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

hiLowLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

markerValues must be of type <type ‘bool’>

serA sequence (list or tuple) that may only contain objects of the declared type

smoothValues must be of type <type ‘bool’>

tagname = ‘line3DChart’

upDownBarsValues must be of type <class ‘openpyxl.chart.updown_bars.UpDownBars’>

varyColorsValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.TextAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

z_axisValues must be of type <class ‘openpyxl.chart.axis.SeriesAxis’>

openpyxl.chart.marker module

class openpyxl.chart.marker.DataPoint(idx=None, invertIfNegative=None, marker=None, bub-ble3D=None, explosion=None, spPr=None, pictureOp-tions=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

bubble3DValues must be of type <type ‘bool’>

explosionValues must be of type <type ‘long’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

idxValues must be of type <type ‘long’>

invertIfNegativeValues must be of type <type ‘bool’>

markerValues must be of type <class ‘openpyxl.chart.marker.Marker’>

pictureOptionsValues must be of type <class ‘openpyxl.chart.picture.PictureOptions’>

9.1. openpyxl package 135

openpyxl Documentation, Release 2.4.9

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘dPt’

class openpyxl.chart.marker.Marker(symbol=None, size=None, spPr=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

sizeValues must be of type <type ‘float’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

symbolValue must be one of set([’picture’, ‘diamond’, ‘star’, ‘auto’, ‘dash’, ‘square’, ‘plus’, ‘x’, ‘triangle’, ‘cir-cle’, ‘dot’])

tagname = ‘marker’

openpyxl.chart.picture module

class openpyxl.chart.picture.PictureOptions(applyToFront=None, applyToSides=None,applyToEnd=None, pictureFormat=None,pictureStackUnit=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

applyToEndValues must be of type <type ‘bool’>

applyToFrontValues must be of type <type ‘bool’>

applyToSidesValues must be of type <type ‘bool’>

pictureFormatValue must be one of set([’stretch’, ‘stackScale’, ‘stack’])

pictureStackUnitValues must be of type <type ‘float’>

tagname = ‘pictureOptions’

openpyxl.chart.pie_chart module

class openpyxl.chart.pie_chart.CustomSplit(secondPiePt=())Bases: openpyxl.descriptors.serialisable.Serialisable

secondPiePtA sequence of primitive types that are stored as a single attribute. “val” is the default attribute

tagname = ‘custSplit’

136 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.chart.pie_chart.DoughnutChart(firstSliceAng=0, holeSize=10, extLst=None,**kw)

Bases: openpyxl.chart.pie_chart._PieChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

firstSliceAngValues must be of type <type ‘float’>

holeSizeValues must be of type <type ‘float’>

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘doughnutChart’

varyColorsValues must be of type <type ‘bool’>

class openpyxl.chart.pie_chart.PieChart(firstSliceAng=0, extLst=None, **kw)Bases: openpyxl.chart.pie_chart._PieChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

firstSliceAngValues must be of type <type ‘float’>

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘pieChart’

varyColorsValues must be of type <type ‘bool’>

class openpyxl.chart.pie_chart.PieChart3D(varyColors=True, ser=(), dLbls=None)Bases: openpyxl.chart.pie_chart._PieChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘pie3DChart’

varyColorsValues must be of type <type ‘bool’>

9.1. openpyxl package 137

openpyxl Documentation, Release 2.4.9

class openpyxl.chart.pie_chart.ProjectedPieChart(ofPieType=’pie’, gapWidth=None,splitType=’auto’, splitPos=None,custSplit=None, secondPieSize=75,serLines=None, extLst=None, **kw)

Bases: openpyxl.chart.pie_chart._PieChartBase

From the spec 21.2.2.126

This element contains the pie of pie or bar of pie series on this chart. Only the first series shall be displayed.The splitType element shall determine whether the splitPos and custSplit elements apply.

custSplitValues must be of type <class ‘openpyxl.chart.pie_chart.CustomSplit’>

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

gapWidthValues must be of type <type ‘float’>

join_linesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

ofPieTypeValue must be one of set([’bar’, ‘pie’])

secondPieSizeValues must be of type <type ‘float’>

serA sequence (list or tuple) that may only contain objects of the declared type

serLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

splitPosValues must be of type <type ‘float’>

splitTypeValue must be one of set([’auto’, ‘percent’, ‘cust’, ‘val’, ‘pos’])

tagname = ‘ofPieChart’

typeAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

varyColorsValues must be of type <type ‘bool’>

openpyxl.chart.print_settings module

class openpyxl.chart.print_settings.PageMargins(l=0.75, r=0.75, t=1, b=1, header=0.5,footer=0.5)

Bases: openpyxl.descriptors.serialisable.Serialisable

Identical to openpyxl.worksheet.page.Pagemargins but element names are different :-/

138 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

bValues must be of type <type ‘float’>

bottomAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

footerValues must be of type <type ‘float’>

headerValues must be of type <type ‘float’>

lValues must be of type <type ‘float’>

leftAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rValues must be of type <type ‘float’>

rightAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tValues must be of type <type ‘float’>

tagname = ‘pageMargins’

topAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.chart.print_settings.PrintSettings(headerFooter=None, pageMar-gins=None, pageSetup=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

headerFooterValues must be of type <class ‘openpyxl.worksheet.header_footer.HeaderFooter’>

pageMarginsValues must be of type <class ‘openpyxl.chart.print_settings.PageMargins’>

pageSetupValues must be of type <class ‘openpyxl.worksheet.page.PrintPageSetup’>

tagname = ‘printSettings’

openpyxl.chart.radar_chart module

class openpyxl.chart.radar_chart.RadarChart(radarStyle=’standard’, varyColors=None,ser=(), dLbls=None, axId=None, extLst=None)

Bases: openpyxl.chart._chart.ChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

9.1. openpyxl package 139

openpyxl Documentation, Release 2.4.9

dataLabelsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

radarStyleValue must be one of set([’marker’, ‘filled’, ‘standard’])

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘radarChart’

typeAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

varyColorsValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.TextAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

openpyxl.chart.reader module

openpyxl.chart.reader.reader(src)

openpyxl.chart.reference module

class openpyxl.chart.reference.DummyWorksheet(title)

class openpyxl.chart.reference.Reference(worksheet=None, min_col=None,min_row=None, max_col=None, max_row=None,range_string=None)

Bases: openpyxl.descriptors.Strict

Normalise cell range references

cellsReturn a flattened list of all cells (by column)

colsReturn all cells in range by row

max_colValues must be of type <type ‘int’>

max_rowValues must be of type <type ‘int’>

min_colValues must be of type <type ‘int’>

min_rowValues must be of type <type ‘int’>

140 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

pop()Return and remove the first cell

range_stringValues must be of type <type ‘basestring’>

rowsReturn all cells in range by column

sheetname

openpyxl.chart.scatter_chart module

class openpyxl.chart.scatter_chart.ScatterChart(scatterStyle=None, varyColors=None,ser=(), dLbls=None, axId=None,extLst=None)

Bases: openpyxl.chart._chart.ChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dataLabelsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

scatterStyleValue must be one of set([’marker’, ‘smoothMarker’, ‘line’, ‘smooth’, ‘lineMarker’])

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘scatterChart’

varyColorsValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

openpyxl.chart.series module

class openpyxl.chart.series.Series(idx=0, order=0, tx=None, spPr=None, pictureOptions=None,dPt=(), dLbls=None, trendline=None, errBars=None,cat=None, val=None, invertIfNegative=None, shape=None,xVal=None, yVal=None, bubbleSize=None, bubble3D=None,marker=None, smooth=None, explosion=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Generic series object. Should not be instantiated directly. User the chart.Series factory instead.

bubble3DValues must be of type <type ‘bool’>

9.1. openpyxl package 141

openpyxl Documentation, Release 2.4.9

bubbleSizeValues must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>

catValues must be of type <class ‘openpyxl.chart.data_source.AxDataSource’>

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dPtA sequence (list or tuple) that may only contain objects of the declared type

data_pointsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

errBarsValues must be of type <class ‘openpyxl.chart.error_bar.ErrorBars’>

explosionValues must be of type <type ‘long’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

identifiersAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

idxValues must be of type <type ‘long’>

invertIfNegativeValues must be of type <type ‘bool’>

labelsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

markerValues must be of type <class ‘openpyxl.chart.marker.Marker’>

orderValues must be of type <type ‘long’>

pictureOptionsValues must be of type <class ‘openpyxl.chart.picture.PictureOptions’>

shapeValue must be one of set([’box’, ‘cylinder’, ‘pyramid’, ‘coneToMax’, ‘pyramidToMax’, ‘cone’])

smoothValues must be of type <type ‘bool’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘ser’

142 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

titleAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

to_tree(tagname=None, idx=None)

trendlineValues must be of type <class ‘openpyxl.chart.trendline.Trendline’>

txValues must be of type <class ‘openpyxl.chart.series.SeriesLabel’>

valValues must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>

xValValues must be of type <class ‘openpyxl.chart.data_source.AxDataSource’>

yValValues must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>

zValAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.chart.series.SeriesLabel(strRef=None, v=None)Bases: openpyxl.descriptors.serialisable.Serialisable

strRefValues must be of type <class ‘openpyxl.chart.data_source.StrRef’>

tagname = ‘tx’

vValues must be of type <type ‘unicode’>

valueAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.chart.series.XYSeries(idx=0, order=0, tx=None, spPr=None, pictureOp-tions=None, dPt=(), dLbls=None, trendline=None,errBars=None, cat=None, val=None, invertIfNeg-ative=None, shape=None, xVal=None, yVal=None,bubbleSize=None, bubble3D=None, marker=None,smooth=None, explosion=None)

Bases: openpyxl.chart.series.Series

Dedicated series for charts that have x and y series

bubble3DValues must be of type <type ‘bool’>

bubbleSizeValues must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dPtA sequence (list or tuple) that may only contain objects of the declared type

errBarsValues must be of type <class ‘openpyxl.chart.error_bar.ErrorBars’>

9.1. openpyxl package 143

openpyxl Documentation, Release 2.4.9

idxValues must be of type <type ‘long’>

invertIfNegativeValues must be of type <type ‘bool’>

markerValues must be of type <class ‘openpyxl.chart.marker.Marker’>

orderValues must be of type <type ‘long’>

smoothValues must be of type <type ‘bool’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

trendlineValues must be of type <class ‘openpyxl.chart.trendline.Trendline’>

txValues must be of type <class ‘openpyxl.chart.series.SeriesLabel’>

xValValues must be of type <class ‘openpyxl.chart.data_source.AxDataSource’>

yValValues must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>

openpyxl.chart.series_factory module

openpyxl.chart.series_factory.SeriesFactory(values, xvalues=None, zvalues=None, ti-tle=None, title_from_data=False)

Convenience Factory for creating chart data series.

openpyxl.chart.shapes module

class openpyxl.chart.shapes.GraphicalProperties(bwMode=None, xfrm=None,noFill=None, solidFill=None, grad-Fill=None, pattFill=None, ln=None,scene3d=None, custGeom=None, prst-Geom=None, sp3d=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Somewhat vaguely 21.2.2.197 says this:

This element specifies the formatting for the parent chart element. The custGeom, prstGeom, scene3d, and xfrmelements are not supported. The bwMode attribute is not supported.

This doesn’t leave much. And the element is used in different places.

bwModeValue must be one of set([’grayWhite’, ‘invGray’, ‘auto’, ‘blackGray’, ‘ltGray’, ‘black’, ‘blackWhite’,‘gray’, ‘white’, ‘hidden’, ‘clr’])

custGeomValues must be of type <class ‘openpyxl.drawing.shapes.CustomGeometry2D’>

144 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

gradFillValues must be of type <class ‘openpyxl.drawing.fill.GradientFillProperties’>

lineAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

lnValues must be of type <class ‘openpyxl.drawing.line.LineProperties’>

noFillValues must be of type <type ‘bool’>

pattFillValues must be of type <class ‘openpyxl.drawing.fill.PatternFillProperties’>

prstGeomValues must be of type <class ‘openpyxl.drawing.shapes.PresetGeometry2D’>

scene3dValues must be of type <class ‘openpyxl.drawing.shapes.Scene3D’>

shape3DAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

solidFillValues must be of type <class ‘openpyxl.drawing.colors.ColorChoice’>

sp3dValues must be of type <class ‘openpyxl.drawing.shapes.Shape3D’>

tagname = ‘spPr’

transformAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

xfrmValues must be of type <class ‘openpyxl.drawing.shapes.Transform2D’>

openpyxl.chart.stock_chart module

class openpyxl.chart.stock_chart.StockChart(ser=(), dLbls=None, dropLines=None, hiLow-Lines=None, upDownBars=None, axId=None,extLst=None)

Bases: openpyxl.chart._chart.ChartBase

dLblsValues must be of type <class ‘openpyxl.chart.label.DataLabelList’>

dataLabelsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

dropLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

9.1. openpyxl package 145

openpyxl Documentation, Release 2.4.9

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

hiLowLinesValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘stockChart’

upDownBarsValues must be of type <class ‘openpyxl.chart.updown_bars.UpDownBars’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.TextAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

openpyxl.chart.surface_chart module

class openpyxl.chart.surface_chart.BandFormat(idx=0, spPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

idxValues must be of type <type ‘long’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘bandFmt’

class openpyxl.chart.surface_chart.BandFormatList(bandFmt=())Bases: openpyxl.descriptors.serialisable.Serialisable

bandFmtA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘bandFmts’

class openpyxl.chart.surface_chart.SurfaceChart(**kw)Bases: openpyxl.chart.surface_chart.SurfaceChart3D

bandFmtsValues must be of type <class ‘openpyxl.chart.surface_chart.BandFormatList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘surfaceChart’

wireframeValues must be of type <type ‘bool’>

146 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.chart.surface_chart.SurfaceChart3D(axId=None, **kw)Bases: openpyxl.chart.surface_chart._SurfaceChartBase, openpyxl.chart._3d._3DBase

bandFmtsValues must be of type <class ‘openpyxl.chart.surface_chart.BandFormatList’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

serA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘surface3DChart’

wireframeValues must be of type <type ‘bool’>

x_axisValues must be of type <class ‘openpyxl.chart.axis.TextAxis’>

y_axisValues must be of type <class ‘openpyxl.chart.axis.NumericAxis’>

z_axisValues must be of type <class ‘openpyxl.chart.axis.SeriesAxis’>

openpyxl.chart.text module

class openpyxl.chart.text.RichText(bodyPr=None, lstStyle=None, p=None)Bases: openpyxl.descriptors.serialisable.Serialisable

From the specification: 21.2.2.216

This element specifies text formatting. The lstStyle element is not supported.

bodyPrValues must be of type <class ‘openpyxl.drawing.text.RichTextProperties’>

lstStyleValues must be of type <class ‘openpyxl.drawing.text.ListStyle’>

pA sequence (list or tuple) that may only contain objects of the declared type

paragraphsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

propertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘rich’

class openpyxl.chart.text.Text(strRef=None, rich=None)Bases: openpyxl.descriptors.serialisable.Serialisable

richValues must be of type <class ‘openpyxl.chart.text.RichText’>

9.1. openpyxl package 147

openpyxl Documentation, Release 2.4.9

strRefValues must be of type <class ‘openpyxl.chart.data_source.StrRef’>

openpyxl.chart.title module

class openpyxl.chart.title.Title(tx=None, layout=None, overlay=None, spPr=None, txPr=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

bodyAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

layoutValues must be of type <class ‘openpyxl.chart.layout.Layout’>

overlayValues must be of type <type ‘bool’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘title’

textAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

txValues must be of type <class ‘openpyxl.chart.text.Text’>

txPrValues must be of type <class ‘openpyxl.drawing.text.RichTextProperties’>

class openpyxl.chart.title.TitleDescriptor(*args, **kw)Bases: openpyxl.descriptors.base.Typed

allow_none = True

expected_typealias of Title

openpyxl.chart.title.title_maker(text)

openpyxl.chart.trendline module

class openpyxl.chart.trendline.Trendline(name=None, spPr=None, trendlineType=’linear’,order=None, period=None, forward=None, back-ward=None, intercept=None, dispRSqr=None, dis-pEq=None, trendlineLbl=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

148 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

backwardValues must be of type <type ‘float’>

dispEqValues must be of type <type ‘bool’>

dispRSqrValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

forwardValues must be of type <type ‘float’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

interceptValues must be of type <type ‘float’>

nameValues must be of type <type ‘basestring’>

orderValues must be of type <type ‘long’>

periodValues must be of type <type ‘long’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘trendline’

trendlineLblValues must be of type <class ‘openpyxl.chart.trendline.TrendlineLabel’>

trendlineTypeValue must be one of set([’linear’, ‘power’, ‘poly’, ‘exp’, ‘movingAvg’, ‘log’])

class openpyxl.chart.trendline.TrendlineLabel(layout=None, tx=None, numFmt=None,spPr=None, txPr=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

layoutValues must be of type <class ‘openpyxl.chart.layout.Layout’>

numFmtValues must be of type <class ‘openpyxl.chart.data_source.NumFmt’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

tagname = ‘trendlineLbl’

9.1. openpyxl package 149

openpyxl Documentation, Release 2.4.9

textPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

txValues must be of type <class ‘openpyxl.chart.text.Text’>

txPrValues must be of type <class ‘openpyxl.chart.text.RichText’>

openpyxl.chart.updown_bars module

class openpyxl.chart.updown_bars.UpDownBars(gapWidth=150, upBars=None, down-Bars=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

downBarsValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

gapWidthValues must be of type <type ‘float’>

tagname = ‘upbars’

upBarsValues must be of type <class ‘openpyxl.chart.axis.ChartLines’>

Module contents

openpyxl.chartsheet package

Subpackages

openpyxl.chartsheet.tests package

Submodules

openpyxl.chartsheet.tests.test_chartsheet module

openpyxl.chartsheet.tests.test_chartsheet.Chartsheet()

class openpyxl.chartsheet.tests.test_chartsheet.DummyWorkbook

class openpyxl.chartsheet.tests.test_chartsheet.TestChartsheet

test_ctor(Chartsheet)

test_read(Chartsheet)

test_write(Chartsheet)

test_write_charts(Chartsheet)

150 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.chartsheet.tests.test_custom module

openpyxl.chartsheet.tests.test_custom.CustomChartsheetView()

openpyxl.chartsheet.tests.test_custom.CustomChartsheetViews()

class openpyxl.chartsheet.tests.test_custom.TestCustomChartsheetView

test_read(CustomChartsheetView)

test_write(CustomChartsheetView)

class openpyxl.chartsheet.tests.test_custom.TestCustomChartsheetViews

test_read(CustomChartsheetViews)

test_write(CustomChartsheetViews)

openpyxl.chartsheet.tests.test_properties module

openpyxl.chartsheet.tests.test_properties.ChartsheetProperties()

class openpyxl.chartsheet.tests.test_properties.TestChartsheetPr

test_read(ChartsheetProperties)

test_write(ChartsheetProperties)

openpyxl.chartsheet.tests.test_protection module

openpyxl.chartsheet.tests.test_protection.ChartsheetProtection()

class openpyxl.chartsheet.tests.test_protection.TestChartsheetProtection

test_password(ChartsheetProtection)

test_read(ChartsheetProtection)

test_write(ChartsheetProtection)

openpyxl.chartsheet.tests.test_publish module

class openpyxl.chartsheet.tests.test_publish.TestWebPublishItems

test_read(WebPublishItems)

test_write(WebPublishItems)

class openpyxl.chartsheet.tests.test_publish.TestWebPulishItem

test_read(WebPublishItem)

test_write(WebPublishItem)

openpyxl.chartsheet.tests.test_publish.WebPublishItem()

9.1. openpyxl package 151

openpyxl Documentation, Release 2.4.9

openpyxl.chartsheet.tests.test_publish.WebPublishItems()

openpyxl.chartsheet.tests.test_relation module

openpyxl.chartsheet.tests.test_relation.DrawingHF()

openpyxl.chartsheet.tests.test_relation.SheetBackgroundPicture()

class openpyxl.chartsheet.tests.test_relation.TestDrawingHF

test_read(DrawingHF)

test_write(DrawingHF)

class openpyxl.chartsheet.tests.test_relation.TestSheetBackgroundPicture

test_read(SheetBackgroundPicture)

test_write(SheetBackgroundPicture)

openpyxl.chartsheet.tests.test_views module

openpyxl.chartsheet.tests.test_views.ChartsheetView()

openpyxl.chartsheet.tests.test_views.ChartsheetViewList()

class openpyxl.chartsheet.tests.test_views.TestChartsheetView

test_read(ChartsheetView)

test_write(ChartsheetView)

class openpyxl.chartsheet.tests.test_views.TestChartsheetViewList

test_read(ChartsheetViewList)

test_write(ChartsheetViewList)

Module contents

Submodules

openpyxl.chartsheet.chartsheet module

class openpyxl.chartsheet.chartsheet.Chartsheet(sheetPr=None, sheetViews=None,sheetProtection=None, cus-tomSheetViews=None, pageMar-gins=None, pageSetup=None, head-erFooter=None, drawing=None, draw-ingHF=None, picture=None, webPub-lishItems=None, extLst=None, par-ent=None, title=’‘, sheet_state=’visible’)

Bases: openpyxl.workbook.child._WorkbookChild, openpyxl.descriptors.serialisable.Serialisable

152 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

add_chart(chart)

customSheetViewsValues must be of type <class ‘openpyxl.chartsheet.custom.CustomChartsheetViews’>

drawingValues must be of type <class ‘openpyxl.worksheet.drawing.Drawing’>

drawingHFValues must be of type <class ‘openpyxl.chartsheet.relation.DrawingHF’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

mime_type = ‘application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml’

pageMarginsValues must be of type <class ‘openpyxl.worksheet.page.PageMargins’>

pageSetupValues must be of type <class ‘openpyxl.worksheet.page.PrintPageSetup’>

pictureValues must be of type <class ‘openpyxl.chartsheet.relation.SheetBackgroundPicture’>

sheetPrValues must be of type <class ‘openpyxl.chartsheet.properties.ChartsheetProperties’>

sheetProtectionValues must be of type <class ‘openpyxl.chartsheet.protection.ChartsheetProtection’>

sheetViewsValues must be of type <class ‘openpyxl.chartsheet.views.ChartsheetViewList’>

sheet_stateValue must be one of set([’visible’, ‘hidden’, ‘veryHidden’])

tagname = ‘chartsheet’

to_tree()

webPublishItemsValues must be of type <class ‘openpyxl.chartsheet.publish.WebPublishItems’>

openpyxl.chartsheet.custom module

class openpyxl.chartsheet.custom.CustomChartsheetView(guid=None, scale=None,state=’visible’,zoomToFit=None, pageMar-gins=None, pageSetup=None,headerFooter=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

guid

headerFooterValues must be of type <class ‘openpyxl.worksheet.header_footer.HeaderFooter’>

pageMarginsValues must be of type <class ‘openpyxl.worksheet.page.PageMargins’>

pageSetupValues must be of type <class ‘openpyxl.worksheet.page.PrintPageSetup’>

9.1. openpyxl package 153

openpyxl Documentation, Release 2.4.9

scaleValues must be of type <type ‘long’>

stateValue must be one of set([’visible’, ‘hidden’, ‘veryHidden’])

tagname = ‘customSheetView’

zoomToFitValues must be of type <type ‘bool’>

class openpyxl.chartsheet.custom.CustomChartsheetViews(customSheetView=None)Bases: openpyxl.descriptors.serialisable.Serialisable

customSheetViewA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘customSheetViews’

openpyxl.chartsheet.properties module

class openpyxl.chartsheet.properties.ChartsheetProperties(published=None, co-deName=None, tab-Color=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

codeNameValues must be of type <type ‘basestring’>

publishedValues must be of type <type ‘bool’>

tabColorValues must be of type <class ‘openpyxl.styles.colors.Color’>

tagname = ‘sheetPr’

openpyxl.chartsheet.protection module

class openpyxl.chartsheet.protection.ChartsheetProtection(content=None, ob-jects=None, hash-Value=None, spin-Count=None, salt-Value=None, algo-rithmName=None, pass-word=None)

Bases: openpyxl.descriptors.serialisable.Serialisable, openpyxl.worksheet.protection._Protected

algorithmNameValues must be of type <type ‘basestring’>

contentValues must be of type <type ‘bool’>

hashValue

objectsValues must be of type <type ‘bool’>

154 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

saltValue

spinCountValues must be of type <type ‘long’>

tagname = ‘sheetProtection’

openpyxl.chartsheet.publish module

class openpyxl.chartsheet.publish.WebPublishItem(id=None, divId=None, source-Type=None, sourceRef=None,sourceObject=None, destination-File=None, title=None, autoRepub-lish=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

autoRepublishValues must be of type <type ‘bool’>

destinationFileValues must be of type <type ‘basestring’>

divIdValues must be of type <type ‘basestring’>

idValues must be of type <type ‘long’>

sourceObjectValues must be of type <type ‘basestring’>

sourceRefValues must be of type <type ‘basestring’>

sourceTypeValue must be one of set([’pivotTable’, ‘sheet’, ‘chart’, ‘label’, ‘autoFilter’, ‘range’, ‘printArea’, ‘query’])

tagname = ‘webPublishItem’

titleValues must be of type <type ‘basestring’>

class openpyxl.chartsheet.publish.WebPublishItems(count=None, webPublishItem=None)Bases: openpyxl.descriptors.serialisable.Serialisable

countValues must be of type <type ‘long’>

tagname = ‘WebPublishItems’

webPublishItemA sequence (list or tuple) that may only contain objects of the declared type

9.1. openpyxl package 155

openpyxl Documentation, Release 2.4.9

openpyxl.chartsheet.relation module

class openpyxl.chartsheet.relation.DrawingHF(id=None, lho=None, lhe=None, lhf=None,cho=None, che=None, chf=None, rho=None,rhe=None, rhf=None, lfo=None, lfe=None,lff=None, cfo=None, cfe=None, cff=None,rfo=None, rfe=None, rff=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

centerFooterEvenPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

centerFooterFirstPageAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

centerFooterOddPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

centerHeaderEvenPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

centerHeaderFirstPageAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

centerHeaderOddPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

cfeValues must be of type <type ‘long’>

cffValues must be of type <type ‘long’>

cfoValues must be of type <type ‘long’>

cheValues must be of type <type ‘long’>

chfValues must be of type <type ‘long’>

choValues must be of type <type ‘long’>

idValues must be of type <type ‘basestring’>

leftFooterEvenPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

leftFooterFirstPageAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

156 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

leftFooterOddPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

leftHeaderEvenPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

leftHeaderFirstPageAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

leftHeaderOddPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

lfeValues must be of type <type ‘long’>

lffValues must be of type <type ‘long’>

lfoValues must be of type <type ‘long’>

lheValues must be of type <type ‘long’>

lhfValues must be of type <type ‘long’>

lhoValues must be of type <type ‘long’>

rfeValues must be of type <type ‘long’>

rffValues must be of type <type ‘long’>

rfoValues must be of type <type ‘long’>

rheValues must be of type <type ‘long’>

rhfValues must be of type <type ‘long’>

rhoValues must be of type <type ‘long’>

rightFooterEvenPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rightFooterFirstPageAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rightFooterOddPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

9.1. openpyxl package 157

openpyxl Documentation, Release 2.4.9

rightHeaderEvenPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rightHeaderFirstPageAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rightHeaderOddPagesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.chartsheet.relation.SheetBackgroundPicture(id)Bases: openpyxl.descriptors.serialisable.Serialisable

idValues must be of type <type ‘basestring’>

tagname = ‘picture’

openpyxl.chartsheet.views module

class openpyxl.chartsheet.views.ChartsheetView(tabSelected=None, zoomScale=None,workbookViewId=0, zoomToFit=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

tabSelectedValues must be of type <type ‘bool’>

tagname = ‘sheetView’

workbookViewIdValues must be of type <type ‘long’>

zoomScaleValues must be of type <type ‘long’>

zoomToFitValues must be of type <type ‘bool’>

class openpyxl.chartsheet.views.ChartsheetViewList(sheetView=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

sheetViewA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘sheetViews’

158 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Module contents

openpyxl.comments package

Subpackages

openpyxl.comments.tests package

Submodules

openpyxl.comments.tests.conftest module

openpyxl.comments.tests.conftest.datadir()DATADIR as a LocalPath

openpyxl.comments.tests.test_author module

openpyxl.comments.tests.test_author.AuthorList()

class openpyxl.comments.tests.test_author.TestAuthor

test_ctor(AuthorList)

test_from_xml(AuthorList)

openpyxl.comments.tests.test_comment module

openpyxl.comments.tests.test_comment.Comment()

class openpyxl.comments.tests.test_comment.TestComment

test_bind(Comment)

test_copy(Comment)

test_ctor(Comment)

test_unbind(Comment)

openpyxl.comments.tests.test_comment_reader module

openpyxl.comments.tests.test_comment_reader.test_comments_cell_association(datadir)

openpyxl.comments.tests.test_comment_reader.test_comments_with_iterators(datadir)

openpyxl.comments.tests.test_comment_reader.test_read_comments(datadir)

openpyxl.comments.tests.test_comment_sheet module

class openpyxl.comments.tests.test_comment_sheet.TestComment

9.1. openpyxl package 159

openpyxl Documentation, Release 2.4.9

test_ctor()

test_from_xml()

class openpyxl.comments.tests.test_comment_sheet.TestCommentSheet

test_from_comments(datadir)

test_path()

test_read_comments(datadir)

openpyxl.comments.tests.test_comment_sheet.test_read_google_docs(datadir)

openpyxl.comments.tests.test_shape_writer module

openpyxl.comments.tests.test_shape_writer.create_comments()

openpyxl.comments.tests.test_shape_writer.test_merge_comments_vml(datadir)

openpyxl.comments.tests.test_shape_writer.test_shape()

openpyxl.comments.tests.test_shape_writer.test_write_comments_vml(datadir)

Module contents

Submodules

openpyxl.comments.author module

class openpyxl.comments.author.AuthorList(author=())Bases: openpyxl.descriptors.serialisable.Serialisable

authorA sequence (list or tuple) that may only contain objects of the declared type

authorsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘authors’

openpyxl.comments.comment_sheet module

class openpyxl.comments.comment_sheet.CommentRecord(ref=’‘, authorId=0, guid=None,shapeId=0, text=None, com-mentPr=None, author=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

authorValues must be of type <type ‘basestring’>

authorIdValues must be of type <type ‘long’>

commentPrValues must be of type <class ‘openpyxl.comments.comment_sheet.Properties’>

160 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

contentRemove all inline formatting and stuff

classmethod from_cell(cell)Class method to convert cell comment

guid

refValues must be of type <type ‘basestring’>

shapeIdValues must be of type <type ‘long’>

tagname = ‘comment’

textValues must be of type <class ‘openpyxl.cell.text.Text’>

class openpyxl.comments.comment_sheet.CommentSheet(authors=None, commentList=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

authorsValues must be of type <class ‘openpyxl.comments.author.AuthorList’>

commentListWrap a sequence in an containing object

commentsReturn a dictionary of comments keyed by coord

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

classmethod from_comments(comments)Create a comment sheet from a list of comments for a particular worksheet

mime_type = ‘application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml’

pathReturn path within the archive

tagname = ‘comments’

to_tree()

write_shapes(vml=None)Create the VML for comments

class openpyxl.comments.comment_sheet.ObjectAnchor(moveWithCells=None, sizeWith-Cells=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

moveWithCellsValues must be of type <type ‘bool’>

sizeWithCellsValues must be of type <type ‘bool’>

9.1. openpyxl package 161

openpyxl Documentation, Release 2.4.9

class openpyxl.comments.comment_sheet.Properties(locked=None, defaultSize=None,_print=None, disabled=None, uiOb-ject=None, autoFill=None, auto-Line=None, altText=None, tex-tHAlign=None, textVAlign=None,lockText=None, justLastX=None, au-toScale=None, rowHidden=None,colHidden=None, anchor=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

altTextValues must be of type <type ‘basestring’>

anchorValues must be of type <class ‘openpyxl.comments.comment_sheet.ObjectAnchor’>

autoFillValues must be of type <type ‘bool’>

autoLineValues must be of type <type ‘bool’>

autoScaleValues must be of type <type ‘bool’>

colHiddenValues must be of type <type ‘bool’>

defaultSizeValues must be of type <type ‘bool’>

disabledValues must be of type <type ‘bool’>

justLastXValues must be of type <type ‘bool’>

lockTextValues must be of type <type ‘bool’>

lockedValues must be of type <type ‘bool’>

rowHiddenValues must be of type <type ‘bool’>

textHAlignValue must be one of set([’distributed’, ‘right’, ‘justify’, ‘center’, ‘left’])

textVAlignValue must be one of set([’top’, ‘justify’, ‘distributed’, ‘center’, ‘bottom’])

uiObjectValues must be of type <type ‘bool’>

openpyxl.comments.comments module

class openpyxl.comments.comments.Comment(text, author)Bases: object

162 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

bind(cell)Bind comment to a particular cell

parent

textAny comment text stripped of all formatting.

unbind()Unbind a comment from a cell

openpyxl.comments.shape_writer module

class openpyxl.comments.shape_writer.ShapeWriter(comments)Bases: object

Create VML for comments

add_comment_shape(root, idx, coord)

add_comment_shapetype(root)

vml = None

vml_path = None

write(root)

Module contents

openpyxl.compat package

Subpackages

openpyxl.compat.tests package

Submodules

openpyxl.compat.tests.test_compat module

openpyxl.compat.tests.test_compat.test_deprecated_class(recwarn)

openpyxl.compat.tests.test_compat.test_deprecated_function(recwarn)

openpyxl.compat.tests.test_compat.test_deprecated_method(recwarn)

openpyxl.compat.tests.test_compat.test_no_deprecation_reason()

openpyxl.compat.tests.test_compat.test_numeric_types()

openpyxl.compat.tests.test_compat.test_numpy_tostring()

openpyxl.compat.tests.test_compat.test_safe_repr()

openpyxl.compat.tests.test_compat.test_safe_string(value, result)

9.1. openpyxl package 163

openpyxl Documentation, Release 2.4.9

Module contents

Submodules

openpyxl.compat.abc module

openpyxl.compat.numbers module

openpyxl.compat.odict module

class openpyxl.compat.odict.OrderedDict(*args, **kwds)Bases: dict

Dictionary that remembers insertion order

clear()→ None. Remove all items from od.

copy()→ a shallow copy of od

classmethod fromkeys(S[, v])→ New ordered dictionary with keys from Sand values equal to v (which defaults to None).

items()→ list of (key, value) pairs in od

iteritems()od.iteritems -> an iterator over the (key, value) items in od

iterkeys()→ an iterator over the keys in od

itervalues()od.itervalues -> an iterator over the values in od

keys()→ list of keys in od

pop(k[, d ])→ v, remove specified key and return the corresponding value.If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()→ (k, v), return and remove a (key, value) pair.Pairs are returned in LIFO order if last is true or FIFO order if false.

setdefault(k[, d ])→ od.get(k,d), also set od[k]=d if k not in od

update(E, **F)→ None. Update od from dict/iterable E and F.If E is a dict instance, does: for k in E: od[k] = E[k] If E has a .keys() method, does: for k in E.keys():od[k] = E[k] Or if E is an iterable of items, does: for k, v in E: od[k] = v In either case, this is followed by:for k, v in F.items(): od[k] = v

values()→ list of values in od

viewitems()→ a set-like object providing a view on od’s items

viewkeys()→ a set-like object providing a view on od’s keys

viewvalues()→ an object providing a view on od’s values

openpyxl.compat.singleton module

class openpyxl.compat.singleton.Cached(*args, **kw)Bases: type

164 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Caching metaclass Child classes will only create new instances of themselves if one doesn’t already exist. Doesnot work with __slots__

class openpyxl.compat.singleton.Singleton(*args, **kw)Bases: type

Singleton metaclass Based on Python Cookbook 3rd Edition Recipe 9.13 Only one instance of a class can exist.Does not work with __slots__

openpyxl.compat.strings module

openpyxl.compat.strings.safe_repr(value)Safely convert unicode to ASCII for Python 2

openpyxl.compat.strings.safe_string(value)Safely and consistently format numeric values

Module contents

class openpyxl.compat.DummyCode

class openpyxl.compat.deprecated(reason)Bases: object

openpyxl.descriptors package

Subpackages

openpyxl.descriptors.tests package

Submodules

openpyxl.descriptors.tests.test_base module

openpyxl.descriptors.tests.test_base.Length()

class openpyxl.descriptors.tests.test_base.TestASCII

test_invalid(ascii, value)

test_valid(ascii)

value = u’\xfc’

class openpyxl.descriptors.tests.test_base.TestAllowNone

test_valid(allow_none)

class openpyxl.descriptors.tests.test_base.TestBool

test_cast(boolean, value, expected)

test_valid(boolean)

9.1. openpyxl package 165

openpyxl Documentation, Release 2.4.9

class openpyxl.descriptors.tests.test_base.TestDescriptor

class Descriptor(name=None, **kw)Bases: object

class Dummy

test_ctor()

test_setter()

class openpyxl.descriptors.tests.test_base.TestFloat

test_cast(float, value, expected)

test_invalid(float, value)

test_valid(float)

class openpyxl.descriptors.tests.test_base.TestInt

test_cast(integer, value, expected)

test_invalid(integer, value)

test_valid(integer)

class openpyxl.descriptors.tests.test_base.TestLength

test_invalid(Length)

test_valid(Length)

class openpyxl.descriptors.tests.test_base.TestMax

test_ctor()

test_invalid(maximum)

test_valid(maximum)

class openpyxl.descriptors.tests.test_base.TestMin

test_ctor()

test_invalid(minimum)

test_valid(minimum)

class openpyxl.descriptors.tests.test_base.TestMinMax

test_ctor()

test_invalid(min_max)

test_valid(min_max)

class openpyxl.descriptors.tests.test_base.TestString

test_invalid(string)

166 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_valid(string)

class openpyxl.descriptors.tests.test_base.TestTuple

test_invalid(Tuple)

test_valid(Tuple)

class openpyxl.descriptors.tests.test_base.TestValues

test_ctor()

test_invalid(set)

test_valid(set)

openpyxl.descriptors.tests.test_base.Tuple()

openpyxl.descriptors.tests.test_base.allow_none()

openpyxl.descriptors.tests.test_base.ascii()

openpyxl.descriptors.tests.test_base.boolean()

openpyxl.descriptors.tests.test_base.float()

openpyxl.descriptors.tests.test_base.integer()

openpyxl.descriptors.tests.test_base.maximum()

openpyxl.descriptors.tests.test_base.min_max()

openpyxl.descriptors.tests.test_base.minimum()

openpyxl.descriptors.tests.test_base.set()

openpyxl.descriptors.tests.test_base.string()

openpyxl.descriptors.tests.test_base.test_nested()

openpyxl.descriptors.tests.test_base.test_noneset()

openpyxl.descriptors.tests.test_excel module

openpyxl.descriptors.tests.test_excel.Base64Binary()

openpyxl.descriptors.tests.test_excel.CellRange()

openpyxl.descriptors.tests.test_excel.Guid()

openpyxl.descriptors.tests.test_excel.HexBinary()

openpyxl.descriptors.tests.test_excel.Percentage()

class openpyxl.descriptors.tests.test_excel.TestBase64Binary

test_valid(Base64Binary, value)

class openpyxl.descriptors.tests.test_excel.TestCellRange

test_invalid(CellRange, value)

test_valid(CellRange, value)

9.1. openpyxl package 167

openpyxl Documentation, Release 2.4.9

class openpyxl.descriptors.tests.test_excel.TestGuid

test_valid(Guid, value)

class openpyxl.descriptors.tests.test_excel.TestHexBinary

test_invalid(HexBinary, value)

test_valid(HexBinary, value)

class openpyxl.descriptors.tests.test_excel.TestPercentage

test_valid(Percentage, value)

class openpyxl.descriptors.tests.test_excel.TestTextPoint

test_invalid_type(TextPoint)

test_invalid_value(TextPoint)

test_valid(TextPoint, value)

class openpyxl.descriptors.tests.test_excel.TestUniversalMeasure

test_invalid(UniversalMeasure, value)

test_valid(UniversalMeasure, value)

openpyxl.descriptors.tests.test_excel.TextPoint()

openpyxl.descriptors.tests.test_excel.UniversalMeasure()

openpyxl.descriptors.tests.test_namespace module

openpyxl.descriptors.tests.test_namespace.test_no_namespace()

openpyxl.descriptors.tests.test_namespace.test_object_namespace()

openpyxl.descriptors.tests.test_namespace.test_overwrite_namespace()

openpyxl.descriptors.tests.test_nested module

openpyxl.descriptors.tests.test_nested.CustomAttribute()

openpyxl.descriptors.tests.test_nested.Empty()

openpyxl.descriptors.tests.test_nested.NestedText()

openpyxl.descriptors.tests.test_nested.NestedValue()

class openpyxl.descriptors.tests.test_nested.TestCustomAttribute

test_from_tree(CustomAttribute)

test_to_tree(CustomAttribute)

class openpyxl.descriptors.tests.test_nested.TestEmptyTag

168 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_ctor(Empty, value, result)

test_from_xml(Empty, value, src)

test_to_tree(Empty, value, result)

class openpyxl.descriptors.tests.test_nested.TestText

test_from_tree(NestedText)

test_nested_from_tree(NestedText)

test_nested_to_tree(NestedText)

test_to_tree(NestedText)

class openpyxl.descriptors.tests.test_nested.TestValue

test_from_tree(NestedValue)

test_nested_from_tree(NestedValue)

test_nested_to_tree(NestedValue)

test_tag_mismatch(NestedValue)

test_to_tree(NestedValue)

openpyxl.descriptors.tests.test_nested.test_bool_value()

openpyxl.descriptors.tests.test_nested.test_min_max_value()

openpyxl.descriptors.tests.test_nested.test_nested_float()

openpyxl.descriptors.tests.test_nested.test_nested_integer()

openpyxl.descriptors.tests.test_nested.test_nested_string()

openpyxl.descriptors.tests.test_nested.test_noneset_value()

openpyxl.descriptors.tests.test_sequence module

openpyxl.descriptors.tests.test_sequence.ComplexObject(NestedSequence)

openpyxl.descriptors.tests.test_sequence.Dummy(Sequence)

openpyxl.descriptors.tests.test_sequence.NestedSequence()

openpyxl.descriptors.tests.test_sequence.Sequence()

class openpyxl.descriptors.tests.test_sequence.SomeType(value)Bases: openpyxl.descriptors.serialisable.Serialisable

valueValues must be of type <type ‘long’>

class openpyxl.descriptors.tests.test_sequence.TestComplex

test_from_xml(Sequence)

test_to_tree(Sequence)

class openpyxl.descriptors.tests.test_sequence.TestNestedSequence

9.1. openpyxl package 169

openpyxl Documentation, Release 2.4.9

test_ctor(ComplexObject)

test_from_tree(ComplexObject)

class openpyxl.descriptors.tests.test_sequence.TestPrimitive

test_from_xml(Dummy)

test_to_tree(Dummy)

class openpyxl.descriptors.tests.test_sequence.TestSequence

test_invalid_container(Dummy, value)

test_valid_ctor(Dummy, value)

class openpyxl.descriptors.tests.test_sequence.TestValueSequence

test_from_tree(ValueSequence)

test_to_tree(ValueSequence)

openpyxl.descriptors.tests.test_sequence.ValueSequence()

openpyxl.descriptors.tests.test_serialisable module

openpyxl.descriptors.tests.test_serialisable.Immutable(Serialisable)

openpyxl.descriptors.tests.test_serialisable.KeywordAttribute(Serialisable)

openpyxl.descriptors.tests.test_serialisable.KeywordNode(Serialisable, Node)

openpyxl.descriptors.tests.test_serialisable.Node(Serialisable)

openpyxl.descriptors.tests.test_serialisable.Relation(Serialisable)

openpyxl.descriptors.tests.test_serialisable.Serialisable()

class openpyxl.descriptors.tests.test_serialisable.TestKeywordAttribute

test_from_tree(KeywordAttribute)

test_to_tree(KeywordAttribute)

class openpyxl.descriptors.tests.test_serialisable.TestKeywordNode

test_from_tree(KeywordNode)

test_to_tree(KeywordNode, Node)

class openpyxl.descriptors.tests.test_serialisable.TestRelation

test_binding(Relation)

test_from_tree(Relation)

test_to_tree(Relation)

class openpyxl.descriptors.tests.test_serialisable.TestSerialisable

170 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_add_attrs(Immutable)

test_eq(Immutable)

test_hash(Immutable)

test_ne(Immutable)

test_str(Immutable)

Module contents

Submodules

openpyxl.descriptors.base module

class openpyxl.descriptors.base.ASCII(*args, **kw)Bases: openpyxl.descriptors.base.Typed

expected_typealias of str

class openpyxl.descriptors.base.Alias(alias)Bases: openpyxl.descriptors.base.Descriptor

Aliases can be used when either the desired attribute name is not allowed or confusing in Python (eg. “type”) ora more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.descriptors.base.Bool(*args, **kw)Bases: openpyxl.descriptors.base.Convertible

expected_typealias of bool

class openpyxl.descriptors.base.Convertible(*args, **kw)Bases: openpyxl.descriptors.base.Typed

Values must be convertible to a particular type

class openpyxl.descriptors.base.DateTime(*args, **kw)Bases: openpyxl.descriptors.base.Typed

expected_typealias of datetime

class openpyxl.descriptors.base.Default(name=None, **kw)Bases: openpyxl.descriptors.base.Typed

When called returns an instance of the expected type. Additional default values can be passed in to the descriptor

class openpyxl.descriptors.base.Descriptor(name=None, **kw)Bases: object

class openpyxl.descriptors.base.Float(*args, **kw)Bases: openpyxl.descriptors.base.Convertible

expected_typealias of float

class openpyxl.descriptors.base.Integer(*args, **kw)Bases: openpyxl.descriptors.base.Convertible

9.1. openpyxl package 171

openpyxl Documentation, Release 2.4.9

expected_typealias of long

class openpyxl.descriptors.base.Length(name=None, **kw)Bases: openpyxl.descriptors.base.Descriptor

class openpyxl.descriptors.base.MatchPattern(name=None, **kw)Bases: openpyxl.descriptors.base.Descriptor

Values must match a regex pattern

allow_none = False

class openpyxl.descriptors.base.Max(**kw)Bases: openpyxl.descriptors.base.Convertible

Values must be less than a max value

allow_none = False

expected_typealias of float

class openpyxl.descriptors.base.Min(**kw)Bases: openpyxl.descriptors.base.Convertible

Values must be greater than a min value

allow_none = False

expected_typealias of float

class openpyxl.descriptors.base.MinMax(**kw)Bases: openpyxl.descriptors.base.Min, openpyxl.descriptors.base.Max

Values must be greater than min value and less than a max one

class openpyxl.descriptors.base.NoneSet(name=None, **kw)Bases: openpyxl.descriptors.base.Set

‘none’ will be treated as None

class openpyxl.descriptors.base.Set(name=None, **kw)Bases: openpyxl.descriptors.base.Descriptor

Value can only be from a set of know values

class openpyxl.descriptors.base.String(*args, **kw)Bases: openpyxl.descriptors.base.Typed

expected_typealias of basestring

class openpyxl.descriptors.base.Text(*args, **kw)Bases: openpyxl.descriptors.base.String, openpyxl.descriptors.base.Convertible

class openpyxl.descriptors.base.Tuple(*args, **kw)Bases: openpyxl.descriptors.base.Typed

expected_typealias of tuple

172 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.descriptors.base.Typed(*args, **kw)Bases: openpyxl.descriptors.base.Descriptor

Values must of a particular type

allow_none = False

expected_typealias of NoneType

nested = False

openpyxl.descriptors.excel module

class openpyxl.descriptors.excel.Base64Binary(name=None, **kw)Bases: openpyxl.descriptors.base.MatchPattern

pattern = ‘^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$’

class openpyxl.descriptors.excel.CellRange(name=None, **kw)Bases: openpyxl.descriptors.base.MatchPattern

allow_none = True

pattern = ‘^[$]?([A-Za-z]{1,3})[$]?(\\d+)(:[$]?([A-Za-z]{1,3})[$]?(\\d+)?)?$|^[A-Za-z]{1,3}:[A-Za-z]{1,3}$’

class openpyxl.descriptors.excel.Extension(uri=None)Bases: openpyxl.descriptors.serialisable.Serialisable

uriValues must be of type <type ‘basestring’>

class openpyxl.descriptors.excel.ExtensionList(ext=())Bases: openpyxl.descriptors.serialisable.Serialisable

extA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.descriptors.excel.Guid(name=None, **kw)Bases: openpyxl.descriptors.base.MatchPattern

pattern = ‘{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\\}’

class openpyxl.descriptors.excel.HexBinary(name=None, **kw)Bases: openpyxl.descriptors.base.MatchPattern

pattern = ‘[0-9a-fA-F]+$’

class openpyxl.descriptors.excel.Percentage(name=None, **kw)Bases: openpyxl.descriptors.base.MatchPattern

pattern = ‘((100)|([0-9][0-9]?))(\\.[0-9][0-9]?)?%’

class openpyxl.descriptors.excel.Relation(*args, **kw)Bases: openpyxl.descriptors.base.String

allow_none = True

namespace = ‘http://schemas.openxmlformats.org/officeDocument/2006/relationships’

class openpyxl.descriptors.excel.TextPoint(**kw)Bases: openpyxl.descriptors.base.MinMax

Size in hundredths of points. In theory other units of measurement can be used but these are unbounded

9.1. openpyxl package 173

openpyxl Documentation, Release 2.4.9

expected_typealias of int

max = 400000

min = -400000

class openpyxl.descriptors.excel.UniversalMeasure(name=None, **kw)Bases: openpyxl.descriptors.base.MatchPattern

pattern = ‘[0-9]+(\\.[0-9]+)?(mm|cm|in|pt|pc|pi)’

openpyxl.descriptors.namespace module

openpyxl.descriptors.namespace.namespaced(obj, tagname, namespace=None)Utility to create a namespaced tag for an object

openpyxl.descriptors.nested module

class openpyxl.descriptors.nested.EmptyTag(*args, **kw)Bases: openpyxl.descriptors.nested.Nested, openpyxl.descriptors.base.Bool

Boolean if a tag exists or not.

from_tree(node)

to_tree(tagname=None, value=None, namespace=None)

class openpyxl.descriptors.nested.Nested(name=None, **kw)Bases: openpyxl.descriptors.base.Descriptor

attribute = ‘val’

from_tree(node)

nested = True

to_tree(tagname=None, value=None, namespace=None)

class openpyxl.descriptors.nested.NestedBool(*args, **kw)Bases: openpyxl.descriptors.nested.NestedValue, openpyxl.descriptors.base.Bool

from_tree(node)

class openpyxl.descriptors.nested.NestedFloat(*args, **kw)Bases: openpyxl.descriptors.nested.NestedValue, openpyxl.descriptors.base.Float

class openpyxl.descriptors.nested.NestedInteger(*args, **kw)Bases: openpyxl.descriptors.nested.NestedValue, openpyxl.descriptors.base.Integer

class openpyxl.descriptors.nested.NestedMinMax(**kw)Bases: openpyxl.descriptors.nested.Nested, openpyxl.descriptors.base.MinMax

class openpyxl.descriptors.nested.NestedNoneSet(name=None, **kw)Bases: openpyxl.descriptors.nested.Nested, openpyxl.descriptors.base.NoneSet

class openpyxl.descriptors.nested.NestedSet(name=None, **kw)Bases: openpyxl.descriptors.nested.Nested, openpyxl.descriptors.base.Set

174 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.descriptors.nested.NestedString(*args, **kw)Bases: openpyxl.descriptors.nested.NestedValue, openpyxl.descriptors.base.String

class openpyxl.descriptors.nested.NestedText(*args, **kw)Bases: openpyxl.descriptors.nested.NestedValue

Represents any nested tag with the value as the contents of the tag

from_tree(node)

to_tree(tagname=None, value=None, namespace=None)

class openpyxl.descriptors.nested.NestedValue(*args, **kw)Bases: openpyxl.descriptors.nested.Nested, openpyxl.descriptors.base.Convertible

Nested tag storing the value on the ‘val’ attribute

openpyxl.descriptors.sequence module

class openpyxl.descriptors.sequence.NestedSequence(name=None, **kw)Bases: openpyxl.descriptors.sequence.Sequence

Wrap a sequence in an containing object

count = False

from_tree(node)

to_tree(tagname, obj, namespace=None)

class openpyxl.descriptors.sequence.Sequence(name=None, **kw)Bases: openpyxl.descriptors.base.Descriptor

A sequence (list or tuple) that may only contain objects of the declared type

expected_typealias of NoneType

idx_base = 0

seq_types = (<type ‘list’>, <type ‘tuple’>)

to_tree(tagname, obj, namespace=None)Convert the sequence represented by the descriptor to an XML element

unique = False

class openpyxl.descriptors.sequence.ValueSequence(name=None, **kw)Bases: openpyxl.descriptors.sequence.Sequence

A sequence of primitive types that are stored as a single attribute. “val” is the default attribute

attribute = ‘val’

from_tree(node)

to_tree(tagname, obj, namespace=None)

9.1. openpyxl package 175

openpyxl Documentation, Release 2.4.9

openpyxl.descriptors.serialisable module

class openpyxl.descriptors.serialisable.SerialisableBases: openpyxl.descriptors._Serialisable

Objects can serialise to XML their attributes and child objects. The following class attributes are created bythe metaclass at runtime: __attrs__ = attributes __nested__ = single-valued child treated as an attribute __ele-ments__ = child elements

classmethod from_tree(node)Create object from XML

idx_base = 0

namespace = None

tagname

to_tree(tagname=None, idx=None, namespace=None)

openpyxl.descriptors.slots module

class openpyxl.descriptors.slots.AutoSlotPropertiesBases: type

Module contents

class openpyxl.descriptors.MetaSerialisableBases: type

class openpyxl.descriptors.MetaStrictBases: type

class openpyxl.descriptors.StrictBases: object

openpyxl.develop package

Subpackages

openpyxl.develop.tests package

Submodules

openpyxl.develop.tests.test_classify module

openpyxl.develop.tests.test_classify.datadir()

openpyxl.develop.tests.test_classify.schema()

openpyxl.develop.tests.test_classify.test_attribute_group(schema)

openpyxl.develop.tests.test_classify.test_class_no_deps(schema)

openpyxl.develop.tests.test_classify.test_derived(datadir)

176 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.develop.tests.test_classify.test_element_group(schema)

openpyxl.develop.tests.test_classify.test_extends(datadir)

openpyxl.develop.tests.test_classify.test_simpleType(schema)

openpyxl.develop.tests.test_classify.test_simple_content(schema)

Module contents

Submodules

openpyxl.develop.classify module

class openpyxl.develop.classify.ClassMaker(tagname, src=’/home/docs/checkouts/readthedocs.org/user_builds/ssopenpyxl/checkouts/2.5.4/openpyxl/tests/schemas/sml.xsd’,classes=set([]))

Generate

create(tagname)

openpyxl.develop.classify.classify(tagname, src=’/home/docs/checkouts/readthedocs.org/user_builds/ssopenpyxl/checkouts/2.5.4/openpyxl/tests/schemas/sml.xsd’,schema=None)

Generate a Python-class based on the schema definition

openpyxl.develop.classify.derived(node)

openpyxl.develop.classify.extends(node)

openpyxl.develop.classify.get_attribute_group(schema, tagname)

openpyxl.develop.classify.get_element_group(schema, tagname)

openpyxl.develop.classify.make(element, schema=’/home/docs/checkouts/readthedocs.org/user_builds/ssopenpyxl/checkouts/2.5.4/openpyxl/tests/schemas/sml.xsd’)

openpyxl.develop.classify.simple(tagname, schema, use=’‘)

openpyxl.develop.stub module

Generate test stubs for Serialisable classes

openpyxl.develop.stub.generate(clsname, module)

Module contents

openpyxl.drawing package

Subpackages

openpyxl.drawing.tests package

Submodules

openpyxl.drawing.tests.conftest module

openpyxl.drawing.tests.conftest.datadir()DATADIR as a LocalPath

9.1. openpyxl package 177

openpyxl Documentation, Release 2.4.9

openpyxl.drawing.tests.test_color module

openpyxl.drawing.tests.test_color.ColorChoice()

openpyxl.drawing.tests.test_color.ColorMapping()

openpyxl.drawing.tests.test_color.HSLColor()

openpyxl.drawing.tests.test_color.RGBPercent()

openpyxl.drawing.tests.test_color.SystemColor()

class openpyxl.drawing.tests.test_color.TestColorChoice

test_ctor(ColorChoice)

test_from_xml(ColorChoice)

class openpyxl.drawing.tests.test_color.TestColorMapping

test_ctor(ColorMapping)

test_from_xml(ColorMapping)

class openpyxl.drawing.tests.test_color.TestHSLColor

test_ctor(HSLColor)

test_from_xml(HSLColor)

class openpyxl.drawing.tests.test_color.TestRGBPercent

test_ctor(RGBPercent)

test_from_xml(RGBPercent)

class openpyxl.drawing.tests.test_color.TestSystemColor

test_ctor(SystemColor)

test_from_xml(SystemColor)

openpyxl.drawing.tests.test_descriptors module

openpyxl.drawing.tests.test_descriptors.test_color_descriptor()

openpyxl.drawing.tests.test_drawing module

class openpyxl.drawing.tests.test_drawing.TestDrawingBases: object

setup()

test_absolute_anchor()

test_ctor()

test_get_emu()

178 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_height()

test_onecell_anchor()

test_proportional_height()

test_proportional_width()

test_set_dimension()

test_width()

openpyxl.drawing.tests.test_fill module

openpyxl.drawing.tests.test_fill.Blip()

openpyxl.drawing.tests.test_fill.BlipFillProperties()

openpyxl.drawing.tests.test_fill.GradientFillProperties()

openpyxl.drawing.tests.test_fill.GradientStop()

openpyxl.drawing.tests.test_fill.GradientStopList()

openpyxl.drawing.tests.test_fill.PatternFillProperties()

openpyxl.drawing.tests.test_fill.RelativeRect()

openpyxl.drawing.tests.test_fill.StretchInfoProperties()

class openpyxl.drawing.tests.test_fill.TestBlip

test_ctor(Blip)

test_from_xml(Blip)

class openpyxl.drawing.tests.test_fill.TestBlipFillProperties

test_ctor(BlipFillProperties)

test_from_xml(BlipFillProperties)

class openpyxl.drawing.tests.test_fill.TestGradientFillProperties

test_ctor(GradientFillProperties)

test_from_xml(GradientFillProperties)

class openpyxl.drawing.tests.test_fill.TestGradientStop

test_ctor(GradientStop)

test_from_xml(GradientStop)

class openpyxl.drawing.tests.test_fill.TestGradientStopList

test_ctor(GradientStopList)

test_from_xml(GradientStopList)

class openpyxl.drawing.tests.test_fill.TestPatternFillProperties

9.1. openpyxl package 179

openpyxl Documentation, Release 2.4.9

test_ctor(PatternFillProperties)

test_from_xml(PatternFillProperties)

class openpyxl.drawing.tests.test_fill.TestRelativeRect

test_ctor(RelativeRect)

test_from_xml(RelativeRect)

class openpyxl.drawing.tests.test_fill.TestStretchInfoProperties

test_ctor(StretchInfoProperties)

test_from_xml(StretchInfoProperties)

openpyxl.drawing.tests.test_graphic module

openpyxl.drawing.tests.test_graphic.ChartRelation()

openpyxl.drawing.tests.test_graphic.GraphicData()

openpyxl.drawing.tests.test_graphic.GraphicFrame()

openpyxl.drawing.tests.test_graphic.GraphicObject()

openpyxl.drawing.tests.test_graphic.NonVisualDrawingProps()

openpyxl.drawing.tests.test_graphic.NonVisualGraphicFrame()

openpyxl.drawing.tests.test_graphic.NonVisualGraphicFrameProperties()

openpyxl.drawing.tests.test_graphic.NonVisualPictureProperties()

openpyxl.drawing.tests.test_graphic.PictureFrame()

openpyxl.drawing.tests.test_graphic.PictureLocking()

openpyxl.drawing.tests.test_graphic.PictureNonVisual()

class openpyxl.drawing.tests.test_graphic.TestChartRelation

test_ctor(ChartRelation)

test_from_xml(ChartRelation)

class openpyxl.drawing.tests.test_graphic.TestGraphicData

test_ctor(GraphicData)

test_from_xml(GraphicData)

class openpyxl.drawing.tests.test_graphic.TestGraphicFrame

test_ctor(GraphicFrame)

test_from_xml(GraphicFrame)

class openpyxl.drawing.tests.test_graphic.TestGraphicObject

test_ctor(GraphicObject)

180 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_from_xml(GraphicObject)

class openpyxl.drawing.tests.test_graphic.TestNonVisualDrawingProps

test_ctor(NonVisualDrawingProps)

test_from_xml(NonVisualDrawingProps)

class openpyxl.drawing.tests.test_graphic.TestNonVisualGraphicFrame

test_ctor(NonVisualGraphicFrame)

test_from_xml(NonVisualGraphicFrame)

class openpyxl.drawing.tests.test_graphic.TestNonVisualGraphicFrameProperties

test_ctor(NonVisualGraphicFrameProperties)

test_from_xml(NonVisualGraphicFrameProperties)

class openpyxl.drawing.tests.test_graphic.TestNonVisualPictureProperties

test_ctor(NonVisualPictureProperties)

test_from_xml(NonVisualPictureProperties)

class openpyxl.drawing.tests.test_graphic.TestPicture

test_ctor(PictureFrame)

test_from_xml(PictureFrame)

class openpyxl.drawing.tests.test_graphic.TestPictureLocking

test_ctor(PictureLocking)

test_from_xml(PictureLocking)

class openpyxl.drawing.tests.test_graphic.TestPictureNonVisual

test_ctor(PictureNonVisual)

test_from_xml(PictureNonVisual)

openpyxl.drawing.tests.test_image module

class openpyxl.drawing.tests.test_image.DummyCellRequired for images

anchor = (0, 0)

col_idx = 1

column = ‘A’

row = 1

class openpyxl.drawing.tests.test_image.DummySheetRequired for images

9.1. openpyxl package 181

openpyxl Documentation, Release 2.4.9

point_pos(vertical, horizontal)

openpyxl.drawing.tests.test_image.Image()

class openpyxl.drawing.tests.test_image.TestImage

test_anchor(Image, datadir)

test_anchor_onecell(Image, datadir)

test_ctor(Image, datadir)

test_import(Image, datadir)

test_write_image(Image, datadir)

openpyxl.drawing.tests.test_image.test_bounding_box()

openpyxl.drawing.tests.test_line module

openpyxl.drawing.tests.test_line.DashStop()

openpyxl.drawing.tests.test_line.LineEndProperties()

openpyxl.drawing.tests.test_line.LineJoinMiterProperties()

openpyxl.drawing.tests.test_line.LineProperties()

class openpyxl.drawing.tests.test_line.TestDashStop

test_ctor(DashStop)

test_from_xml(DashStop)

class openpyxl.drawing.tests.test_line.TestLineEndProperties

test_ctor(LineEndProperties)

test_from_xml(LineEndProperties)

class openpyxl.drawing.tests.test_line.TestLineJoinMiterProperties

test_ctor(LineJoinMiterProperties)

test_from_xml(LineJoinMiterProperties)

class openpyxl.drawing.tests.test_line.TestLineProperties

test_color(LineProperties)

test_ctor(LineProperties)

test_from_xml(LineProperties)

openpyxl.drawing.tests.test_shape module

class openpyxl.drawing.tests.test_shape.DummyChartBases: object

182 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Shapes need a chart to calculate their coordinates

get_x_units()

get_y_units()

height = 100

width = 100

class openpyxl.drawing.tests.test_shape.DummyDrawingBases: object

Shapes need charts which need drawings

height = 20

width = 10

class openpyxl.drawing.tests.test_shape.TestShapeBases: object

setup()

test_border_color()

test_border_width()

test_color()

test_coordinates()

test_ctor()

test_pct()

test_text_color()

class openpyxl.drawing.tests.test_shape.TestShapeWriterBases: object

setup()

test_write()

test_write_style()

test_write_text()

openpyxl.drawing.tests.test_shapes module

openpyxl.drawing.tests.test_shapes.GradientFillProperties()

class openpyxl.drawing.tests.test_shapes.TestGradientFillProperties

test_ctor(GradientFillProperties)

test_from_xml(GradientFillProperties)

class openpyxl.drawing.tests.test_shapes.TestTransform2D

test_ctor(Transform2D)

test_from_xml(Transform2D)

9.1. openpyxl package 183

openpyxl Documentation, Release 2.4.9

openpyxl.drawing.tests.test_shapes.Transform2D()

openpyxl.drawing.tests.test_spreadsheet_drawing module

openpyxl.drawing.tests.test_spreadsheet_drawing.AbsoluteAnchor()

openpyxl.drawing.tests.test_spreadsheet_drawing.OneCellAnchor()

openpyxl.drawing.tests.test_spreadsheet_drawing.SpreadsheetDrawing()

class openpyxl.drawing.tests.test_spreadsheet_drawing.TestAbsoluteAnchor

test_ctor(AbsoluteAnchor)

test_from_xml(AbsoluteAnchor)

class openpyxl.drawing.tests.test_spreadsheet_drawing.TestOneCellAnchor

test_ctor(OneCellAnchor)

test_from_xml(OneCellAnchor)

class openpyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawing

test_bool(SpreadsheetDrawing, attr)

test_ctor(SpreadsheetDrawing)

test_empty(SpreadsheetDrawing)

test_hash_function(SpreadsheetDrawing)

test_path(SpreadsheetDrawing)

test_read_chart(SpreadsheetDrawing, datadir)

test_write_chart(SpreadsheetDrawing)

test_write_picture(SpreadsheetDrawing)

test_write_rels(SpreadsheetDrawing)

class openpyxl.drawing.tests.test_spreadsheet_drawing.TestTwoCellAnchor

test_ctor(TwoCellAnchor)

test_from_xml(TwoCellAnchor)

openpyxl.drawing.tests.test_spreadsheet_drawing.TwoCellAnchor()

openpyxl.drawing.tests.test_text module

openpyxl.drawing.tests.test_text.CharacterProperties()

openpyxl.drawing.tests.test_text.Paragraph()

openpyxl.drawing.tests.test_text.ParagraphProperties()

class openpyxl.drawing.tests.test_text.TestCharacterProperties

184 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_ctor(CharacterProperties)

test_from_xml(CharacterProperties)

class openpyxl.drawing.tests.test_text.TestParagraph

test_ctor(Paragraph)

test_from_xml(Paragraph)

class openpyxl.drawing.tests.test_text.TestParagraphProperties

test_ctor(ParagraphProperties)

test_from_xml(ParagraphProperties)

class openpyxl.drawing.tests.test_text.TestTextBox

test_from_xml(datadir)

Module contents

Submodules

openpyxl.drawing.colors module

class openpyxl.drawing.colors.ColorChoice(scrgbClr=None, srgbClr=None, hslClr=None,sysClr=None, schemeClr=None, prstClr=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

RGBAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

RGBPercentAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

hslClrValues must be of type <class ‘openpyxl.drawing.colors.HSLColor’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

prstClrValue must be one of set([’paleGreen’, ‘lightBlue’, ‘indigo’, ‘gold’, ‘darkViolet’, ‘dkGoldenrod’, ‘fire-brick’, ‘yellow’, ‘medPurple’, ‘midnightBlue’, ‘dkOliveGreen’, ‘ltGreen’, ‘medSlateBlue’, ‘dodgerBlue’,‘medVioletRed’, ‘chartreuse’, ‘forestGreen’, ‘black’, ‘oldLace’, ‘crimson’, ‘dkSlateBlue’, ‘antiqueWhite’,‘brown’, ‘turquoise’, ‘cornflowerBlue’, ‘cadetBlue’, ‘darkCyan’, ‘dimGray’, ‘limeGreen’, ‘lightSea-Green’, ‘lightGrey’, ‘dkViolet’, ‘lightSlateGrey’, ‘cyan’, ‘silver’, ‘gray’, ‘goldenrod’, ‘greenYellow’, ‘or-ange’, ‘moccasin’, ‘lemonChiffon’, ‘sandyBrown’, ‘aliceBlue’, ‘medOrchid’, ‘dkSeaGreen’, ‘dkGray’,‘darkSlateGray’, ‘ltGrey’, ‘darkTurquoise’, ‘darkGreen’, ‘burlyWood’, ‘saddleBrown’, ‘lavender’, ‘pa-payaWhip’, ‘mediumTurquoise’, ‘darkSalmon’, ‘thistle’, ‘blueViolet’, ‘dkSlateGrey’, ‘medAquamarine’,‘darkMagenta’, ‘lightSalmon’, ‘orchid’, ‘blue’, ‘honeydew’, ‘purple’, ‘mistyRose’, ‘ltSalmon’, ‘corn-silk’, ‘red’, ‘bisque’, ‘whiteSmoke’, ‘ghostWhite’, ‘khaki’, ‘wheat’, ‘teal’, ‘floralWhite’, ‘ltSlateGrey’,‘salmon’, ‘lightGoldenrodYellow’, ‘darkKhaki’, ‘dkSalmon’, ‘white’, ‘deepPink’, ‘ltCoral’, ‘ltSeaGreen’,‘gainsboro’, ‘medTurquoise’, ‘navy’, ‘coral’, ‘indianRed’, ‘aqua’, ‘darkSlateBlue’, ‘beige’, ‘azure’,

9.1. openpyxl package 185

openpyxl Documentation, Release 2.4.9

‘lightCoral’, ‘navajoWhite’, ‘darkGray’, ‘deepSkyBlue’, ‘sienna’, ‘ltBlue’, ‘mediumBlue’, ‘dkGrey’,‘mediumPurple’, ‘lime’, ‘dkMagenta’, ‘ltGoldenrodYellow’, ‘dkTurquoise’, ‘dkOrchid’, ‘fuchsia’, ‘ltS-lateGray’, ‘slateBlue’, ‘lightGreen’, ‘dkRed’, ‘dkGreen’, ‘peru’, ‘medSeaGreen’, ‘aquamarine’, ‘oran-geRed’, ‘mintCream’, ‘dimGrey’, ‘lightGray’, ‘ivory’, ‘dkKhaki’, ‘hotPink’, ‘darkOrange’, ‘medium-SlateBlue’, ‘ltCyan’, ‘chocolate’, ‘dkOrange’, ‘mediumAquamarine’, ‘lightSlateGray’, ‘springGreen’,‘olive’, ‘slateGray’, ‘ltSkyBlue’, ‘ltYellow’, ‘paleVioletRed’, ‘darkOrchid’, ‘ltSteelBlue’, ‘oliveDrab’,‘grey’, ‘lawnGreen’, ‘steelBlue’, ‘yellowGreen’, ‘ltGray’, ‘lightSteelBlue’, ‘plum’, ‘rosyBrown’, ‘light-Cyan’, ‘dkBlue’, ‘violet’, ‘mediumOrchid’, ‘maroon’, ‘darkOliveGreen’, ‘dkCyan’, ‘darkSeaGreen’,‘darkRed’, ‘magenta’, ‘peachPuff’, ‘seaShell’, ‘paleTurquoise’, ‘paleGoldenrod’, ‘pink’, ‘darkSlateGrey’,‘lightYellow’, ‘darkGoldenrod’, ‘dkSlateGray’, ‘snow’, ‘lightSkyBlue’, ‘darkBlue’, ‘slateGrey’, ‘pow-derBlue’, ‘medSpringGreen’, ‘darkGrey’, ‘skyBlue’, ‘mediumVioletRed’, ‘lavenderBlush’, ‘seaGreen’,‘royalBlue’, ‘blanchedAlmond’, ‘lightPink’, ‘ltPink’, ‘medBlue’, ‘tan’, ‘tomato’, ‘mediumSeaGreen’,‘mediumSpringGreen’, ‘linen’, ‘green’])

schemeClrValue must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘phClr’, ‘bg1’, ‘bg2’, ‘folHlink’, ‘hlink’, ‘tx2’, ‘tx1’])

scrgbClrValues must be of type <class ‘openpyxl.drawing.colors.RGBPercent’>

srgbClrValues must be of type <type ‘unicode’>

sysClrValues must be of type <class ‘openpyxl.drawing.colors.SystemColor’>

tagname = ‘colorChoice’

class openpyxl.drawing.colors.ColorChoiceDescriptor(*args, **kw)Bases: openpyxl.descriptors.base.Typed

Objects can choose from 7 different kinds of color system. Assume RGBHex if a string is passed in.

allow_none = True

expected_typealias of ColorChoice

class openpyxl.drawing.colors.ColorMapping(bg1=’lt1’, tx1=’dk1’, bg2=’lt2’, tx2=’dk2’,accent1=’accent1’, accent2=’accent2’,accent3=’accent3’, accent4=’accent4’,accent5=’accent5’, accent6=’accent6’,hlink=’hlink’, folHlink=’folHlink’, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

accent1Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

accent2Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

accent3Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

accent4Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

186 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

accent5Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

accent6Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

bg1Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

bg2Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

folHlinkValue must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

hlinkValue must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

tagname = ‘clrMapOvr’

tx1Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

tx2Value must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘hlink’, ‘folHlink’])

class openpyxl.drawing.colors.HSLColor(hue=None, sat=None, lum=None)Bases: openpyxl.descriptors.serialisable.Serialisable

hueValues must be of type <type ‘long’>

lumValues must be of type <type ‘float’>

satValues must be of type <type ‘float’>

tagname = ‘hslClr’

class openpyxl.drawing.colors.RGBPercent(r=None, g=None, b=None)Bases: openpyxl.descriptors.serialisable.Serialisable

bValues must be of type <type ‘float’>

gValues must be of type <type ‘float’>

rValues must be of type <type ‘float’>

9.1. openpyxl package 187

openpyxl Documentation, Release 2.4.9

tagname = ‘rgbClr’

class openpyxl.drawing.colors.SystemColor(val=’bg1’, lastClr=None, tint=None, shade=None,comp=None, inv=None, gray=None, alpha=None,alphaOff=None, alphaMod=None, hue=None,hueOff=None, hueMod=None, sat=None,satOff=None, satMod=None, lum=None,lumOff=None, lumMod=None, red=None,redOff=None, redMod=None, green=None,greenOff=None, greenMod=None, blue=None,blueOff=None, blueMod=None, gamma=None,invGamma=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

alphaValues must be of type <type ‘long’>

alphaModValues must be of type <type ‘long’>

alphaOffValues must be of type <type ‘long’>

blueValues must be of type <type ‘long’>

blueModValues must be of type <type ‘long’>

blueOffValues must be of type <type ‘long’>

compValues must be of type <class ‘openpyxl.drawing.colors.Transform’>

gammaValues must be of type <class ‘openpyxl.drawing.colors.Transform’>

grayValues must be of type <class ‘openpyxl.drawing.colors.Transform’>

greenValues must be of type <type ‘long’>

greenModValues must be of type <type ‘long’>

greenOffValues must be of type <type ‘long’>

hueValues must be of type <type ‘long’>

hueModValues must be of type <type ‘long’>

hueOffValues must be of type <type ‘long’>

invValues must be of type <class ‘openpyxl.drawing.colors.Transform’>

188 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

invGammaValues must be of type <class ‘openpyxl.drawing.colors.Transform’>

lastClrValues must be of type <class ‘openpyxl.styles.colors.RGB’>

lumValues must be of type <type ‘long’>

lumModValues must be of type <type ‘long’>

lumOffValues must be of type <type ‘long’>

redValues must be of type <type ‘long’>

redModValues must be of type <type ‘long’>

redOffValues must be of type <type ‘long’>

satValues must be of type <type ‘long’>

satModValues must be of type <type ‘long’>

satOffValues must be of type <type ‘long’>

shadeValues must be of type <type ‘long’>

tagname = ‘sysClr’

tintValues must be of type <type ‘long’>

valValue must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘phClr’, ‘bg1’, ‘bg2’, ‘folHlink’, ‘hlink’, ‘tx2’, ‘tx1’])

class openpyxl.drawing.colors.TransformBases: openpyxl.descriptors.serialisable.Serialisable

openpyxl.drawing.drawing module

class openpyxl.drawing.drawing.DrawingBases: object

a drawing object - eg container for shapes or charts we assume user specifies dimensions in pixels; units areconverted to EMU in the drawing part

anchor

count = 0

get_emu_dimensions(*args, **kwargs)return (x, y, w, h) in EMU

9.1. openpyxl package 189

openpyxl Documentation, Release 2.4.9

height

set_dimension(w=0, h=0)

width

openpyxl.drawing.effect module

class openpyxl.drawing.effect.AlphaBiLevelEffect(thresh=None)Bases: openpyxl.descriptors.serialisable.Serialisable

threshValues must be of type <type ‘long’>

class openpyxl.drawing.effect.AlphaCeilingEffectBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.drawing.effect.AlphaFloorEffectBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.drawing.effect.AlphaInverseEffectBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.drawing.effect.AlphaModulateEffect(cont=None)Bases: openpyxl.descriptors.serialisable.Serialisable

contValues must be of type <class ‘openpyxl.drawing.effect.EffectContainer’>

class openpyxl.drawing.effect.AlphaModulateFixedEffect(amt=None)Bases: openpyxl.descriptors.serialisable.Serialisable

amtValues must be of type <type ‘long’>

class openpyxl.drawing.effect.AlphaReplaceEffect(a=None)Bases: openpyxl.descriptors.serialisable.Serialisable

aValues must be of type <type ‘long’>

class openpyxl.drawing.effect.BiLevelEffect(thresh=None)Bases: openpyxl.descriptors.serialisable.Serialisable

threshValues must be of type <type ‘long’>

class openpyxl.drawing.effect.BlurEffect(rad=None, grow=None)Bases: openpyxl.descriptors.serialisable.Serialisable

growValues must be of type <type ‘bool’>

radValues must be of type <type ‘float’>

class openpyxl.drawing.effect.ColorBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.drawing.effect.ColorChangeEffect(useA=None, clrFrom=None,clrTo=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

190 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

clrFromValues must be of type <class ‘openpyxl.drawing.effect.Color’>

clrToValues must be of type <class ‘openpyxl.drawing.effect.Color’>

useAValues must be of type <type ‘bool’>

class openpyxl.drawing.effect.ColorReplaceEffectBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.drawing.effect.DuotoneEffectBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.drawing.effect.EffectContainer(type=None, name=None)Bases: openpyxl.descriptors.serialisable.Serialisable

nameValues must be of type <type ‘basestring’>

typeValue must be one of set([’sib’, ‘tree’])

class openpyxl.drawing.effect.EffectList(blur=None, fillOverlay=None, glow=None, inner-Shdw=None, outerShdw=None, prstShdw=None, re-flection=None, softEdge=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

blurValues must be of type <class ‘openpyxl.drawing.effect.BlurEffect’>

fillOverlayValues must be of type <class ‘openpyxl.drawing.effect.FillOverlayEffect’>

glowValues must be of type <class ‘openpyxl.drawing.effect.GlowEffect’>

innerShdwValues must be of type <class ‘openpyxl.drawing.effect.InnerShadowEffect’>

outerShdwValues must be of type <class ‘openpyxl.drawing.effect.OuterShadowEffect’>

prstShdwValues must be of type <class ‘openpyxl.drawing.effect.PresetShadowEffect’>

reflectionValues must be of type <class ‘openpyxl.drawing.effect.ReflectionEffect’>

softEdgeValues must be of type <class ‘openpyxl.drawing.effect.SoftEdgesEffect’>

class openpyxl.drawing.effect.FillOverlayEffect(blend=None)Bases: openpyxl.descriptors.serialisable.Serialisable

blendValue must be one of set([’over’, ‘darken’, ‘lighten’, ‘screen’, ‘mult’])

class openpyxl.drawing.effect.GlowEffect(rad=None, **kw)Bases: openpyxl.drawing.colors.ColorChoice

hslClrValues must be of type <class ‘openpyxl.drawing.colors.HSLColor’>

9.1. openpyxl package 191

openpyxl Documentation, Release 2.4.9

prstClrValue must be one of set([’paleGreen’, ‘lightBlue’, ‘indigo’, ‘gold’, ‘darkViolet’, ‘dkGoldenrod’, ‘fire-brick’, ‘yellow’, ‘medPurple’, ‘midnightBlue’, ‘dkOliveGreen’, ‘ltGreen’, ‘medSlateBlue’, ‘dodgerBlue’,‘medVioletRed’, ‘chartreuse’, ‘forestGreen’, ‘black’, ‘oldLace’, ‘crimson’, ‘dkSlateBlue’, ‘antiqueWhite’,‘brown’, ‘turquoise’, ‘cornflowerBlue’, ‘cadetBlue’, ‘darkCyan’, ‘dimGray’, ‘limeGreen’, ‘lightSea-Green’, ‘lightGrey’, ‘dkViolet’, ‘lightSlateGrey’, ‘cyan’, ‘silver’, ‘gray’, ‘goldenrod’, ‘greenYellow’, ‘or-ange’, ‘moccasin’, ‘lemonChiffon’, ‘sandyBrown’, ‘aliceBlue’, ‘medOrchid’, ‘dkSeaGreen’, ‘dkGray’,‘darkSlateGray’, ‘ltGrey’, ‘darkTurquoise’, ‘darkGreen’, ‘burlyWood’, ‘saddleBrown’, ‘lavender’, ‘pa-payaWhip’, ‘mediumTurquoise’, ‘darkSalmon’, ‘thistle’, ‘blueViolet’, ‘dkSlateGrey’, ‘medAquamarine’,‘darkMagenta’, ‘lightSalmon’, ‘orchid’, ‘blue’, ‘honeydew’, ‘purple’, ‘mistyRose’, ‘ltSalmon’, ‘corn-silk’, ‘red’, ‘bisque’, ‘whiteSmoke’, ‘ghostWhite’, ‘khaki’, ‘wheat’, ‘teal’, ‘floralWhite’, ‘ltSlateGrey’,‘salmon’, ‘lightGoldenrodYellow’, ‘darkKhaki’, ‘dkSalmon’, ‘white’, ‘deepPink’, ‘ltCoral’, ‘ltSeaGreen’,‘gainsboro’, ‘medTurquoise’, ‘navy’, ‘coral’, ‘indianRed’, ‘aqua’, ‘darkSlateBlue’, ‘beige’, ‘azure’,‘lightCoral’, ‘navajoWhite’, ‘darkGray’, ‘deepSkyBlue’, ‘sienna’, ‘ltBlue’, ‘mediumBlue’, ‘dkGrey’,‘mediumPurple’, ‘lime’, ‘dkMagenta’, ‘ltGoldenrodYellow’, ‘dkTurquoise’, ‘dkOrchid’, ‘fuchsia’, ‘ltS-lateGray’, ‘slateBlue’, ‘lightGreen’, ‘dkRed’, ‘dkGreen’, ‘peru’, ‘medSeaGreen’, ‘aquamarine’, ‘oran-geRed’, ‘mintCream’, ‘dimGrey’, ‘lightGray’, ‘ivory’, ‘dkKhaki’, ‘hotPink’, ‘darkOrange’, ‘medium-SlateBlue’, ‘ltCyan’, ‘chocolate’, ‘dkOrange’, ‘mediumAquamarine’, ‘lightSlateGray’, ‘springGreen’,‘olive’, ‘slateGray’, ‘ltSkyBlue’, ‘ltYellow’, ‘paleVioletRed’, ‘darkOrchid’, ‘ltSteelBlue’, ‘oliveDrab’,‘grey’, ‘lawnGreen’, ‘steelBlue’, ‘yellowGreen’, ‘ltGray’, ‘lightSteelBlue’, ‘plum’, ‘rosyBrown’, ‘light-Cyan’, ‘dkBlue’, ‘violet’, ‘mediumOrchid’, ‘maroon’, ‘darkOliveGreen’, ‘dkCyan’, ‘darkSeaGreen’,‘darkRed’, ‘magenta’, ‘peachPuff’, ‘seaShell’, ‘paleTurquoise’, ‘paleGoldenrod’, ‘pink’, ‘darkSlateGrey’,‘lightYellow’, ‘darkGoldenrod’, ‘dkSlateGray’, ‘snow’, ‘lightSkyBlue’, ‘darkBlue’, ‘slateGrey’, ‘pow-derBlue’, ‘medSpringGreen’, ‘darkGrey’, ‘skyBlue’, ‘mediumVioletRed’, ‘lavenderBlush’, ‘seaGreen’,‘royalBlue’, ‘blanchedAlmond’, ‘lightPink’, ‘ltPink’, ‘medBlue’, ‘tan’, ‘tomato’, ‘mediumSeaGreen’,‘mediumSpringGreen’, ‘linen’, ‘green’])

radValues must be of type <type ‘float’>

schemeClrValue must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘phClr’, ‘bg1’, ‘bg2’, ‘folHlink’, ‘hlink’, ‘tx2’, ‘tx1’])

scrgbClrValues must be of type <class ‘openpyxl.drawing.colors.RGBPercent’>

srgbClrValues must be of type <type ‘unicode’>

sysClrValues must be of type <class ‘openpyxl.drawing.colors.SystemColor’>

class openpyxl.drawing.effect.GrayscaleEffectBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.drawing.effect.HSLEffect(hue=None, sat=None, lum=None)Bases: openpyxl.descriptors.serialisable.Serialisable

hueValues must be of type <type ‘long’>

lumValues must be of type <type ‘long’>

satValues must be of type <type ‘long’>

192 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.drawing.effect.InnerShadowEffect(blurRad=None, dist=None, dir=None,**kw)

Bases: openpyxl.drawing.colors.ColorChoice

blurRadValues must be of type <type ‘float’>

dirValues must be of type <type ‘long’>

distValues must be of type <type ‘float’>

hslClrValues must be of type <class ‘openpyxl.drawing.colors.HSLColor’>

prstClrValue must be one of set([’paleGreen’, ‘lightBlue’, ‘indigo’, ‘gold’, ‘darkViolet’, ‘dkGoldenrod’, ‘fire-brick’, ‘yellow’, ‘medPurple’, ‘midnightBlue’, ‘dkOliveGreen’, ‘ltGreen’, ‘medSlateBlue’, ‘dodgerBlue’,‘medVioletRed’, ‘chartreuse’, ‘forestGreen’, ‘black’, ‘oldLace’, ‘crimson’, ‘dkSlateBlue’, ‘antiqueWhite’,‘brown’, ‘turquoise’, ‘cornflowerBlue’, ‘cadetBlue’, ‘darkCyan’, ‘dimGray’, ‘limeGreen’, ‘lightSea-Green’, ‘lightGrey’, ‘dkViolet’, ‘lightSlateGrey’, ‘cyan’, ‘silver’, ‘gray’, ‘goldenrod’, ‘greenYellow’, ‘or-ange’, ‘moccasin’, ‘lemonChiffon’, ‘sandyBrown’, ‘aliceBlue’, ‘medOrchid’, ‘dkSeaGreen’, ‘dkGray’,‘darkSlateGray’, ‘ltGrey’, ‘darkTurquoise’, ‘darkGreen’, ‘burlyWood’, ‘saddleBrown’, ‘lavender’, ‘pa-payaWhip’, ‘mediumTurquoise’, ‘darkSalmon’, ‘thistle’, ‘blueViolet’, ‘dkSlateGrey’, ‘medAquamarine’,‘darkMagenta’, ‘lightSalmon’, ‘orchid’, ‘blue’, ‘honeydew’, ‘purple’, ‘mistyRose’, ‘ltSalmon’, ‘corn-silk’, ‘red’, ‘bisque’, ‘whiteSmoke’, ‘ghostWhite’, ‘khaki’, ‘wheat’, ‘teal’, ‘floralWhite’, ‘ltSlateGrey’,‘salmon’, ‘lightGoldenrodYellow’, ‘darkKhaki’, ‘dkSalmon’, ‘white’, ‘deepPink’, ‘ltCoral’, ‘ltSeaGreen’,‘gainsboro’, ‘medTurquoise’, ‘navy’, ‘coral’, ‘indianRed’, ‘aqua’, ‘darkSlateBlue’, ‘beige’, ‘azure’,‘lightCoral’, ‘navajoWhite’, ‘darkGray’, ‘deepSkyBlue’, ‘sienna’, ‘ltBlue’, ‘mediumBlue’, ‘dkGrey’,‘mediumPurple’, ‘lime’, ‘dkMagenta’, ‘ltGoldenrodYellow’, ‘dkTurquoise’, ‘dkOrchid’, ‘fuchsia’, ‘ltS-lateGray’, ‘slateBlue’, ‘lightGreen’, ‘dkRed’, ‘dkGreen’, ‘peru’, ‘medSeaGreen’, ‘aquamarine’, ‘oran-geRed’, ‘mintCream’, ‘dimGrey’, ‘lightGray’, ‘ivory’, ‘dkKhaki’, ‘hotPink’, ‘darkOrange’, ‘medium-SlateBlue’, ‘ltCyan’, ‘chocolate’, ‘dkOrange’, ‘mediumAquamarine’, ‘lightSlateGray’, ‘springGreen’,‘olive’, ‘slateGray’, ‘ltSkyBlue’, ‘ltYellow’, ‘paleVioletRed’, ‘darkOrchid’, ‘ltSteelBlue’, ‘oliveDrab’,‘grey’, ‘lawnGreen’, ‘steelBlue’, ‘yellowGreen’, ‘ltGray’, ‘lightSteelBlue’, ‘plum’, ‘rosyBrown’, ‘light-Cyan’, ‘dkBlue’, ‘violet’, ‘mediumOrchid’, ‘maroon’, ‘darkOliveGreen’, ‘dkCyan’, ‘darkSeaGreen’,‘darkRed’, ‘magenta’, ‘peachPuff’, ‘seaShell’, ‘paleTurquoise’, ‘paleGoldenrod’, ‘pink’, ‘darkSlateGrey’,‘lightYellow’, ‘darkGoldenrod’, ‘dkSlateGray’, ‘snow’, ‘lightSkyBlue’, ‘darkBlue’, ‘slateGrey’, ‘pow-derBlue’, ‘medSpringGreen’, ‘darkGrey’, ‘skyBlue’, ‘mediumVioletRed’, ‘lavenderBlush’, ‘seaGreen’,‘royalBlue’, ‘blanchedAlmond’, ‘lightPink’, ‘ltPink’, ‘medBlue’, ‘tan’, ‘tomato’, ‘mediumSeaGreen’,‘mediumSpringGreen’, ‘linen’, ‘green’])

schemeClrValue must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘phClr’, ‘bg1’, ‘bg2’, ‘folHlink’, ‘hlink’, ‘tx2’, ‘tx1’])

scrgbClrValues must be of type <class ‘openpyxl.drawing.colors.RGBPercent’>

srgbClrValues must be of type <type ‘unicode’>

sysClrValues must be of type <class ‘openpyxl.drawing.colors.SystemColor’>

class openpyxl.drawing.effect.LuminanceEffect(bright=None, contrast=None)Bases: openpyxl.descriptors.serialisable.Serialisable

9.1. openpyxl package 193

openpyxl Documentation, Release 2.4.9

brightValues must be of type <type ‘long’>

contrastValues must be of type <type ‘long’>

class openpyxl.drawing.effect.OuterShadowEffect(blurRad=None, dist=None, dir=None,sx=None, sy=None, kx=None, ky=None,algn=None, rotWithShape=None, **kw)

Bases: openpyxl.drawing.colors.ColorChoice

algnValue must be one of set([’b’, ‘ctr’, ‘bl’, ‘tr’, ‘l’, ‘tl’, ‘r’, ‘t’, ‘br’])

blurRadValues must be of type <type ‘float’>

dirValues must be of type <type ‘long’>

distValues must be of type <type ‘float’>

hslClrValues must be of type <class ‘openpyxl.drawing.colors.HSLColor’>

kxValues must be of type <type ‘long’>

kyValues must be of type <type ‘long’>

prstClrValue must be one of set([’paleGreen’, ‘lightBlue’, ‘indigo’, ‘gold’, ‘darkViolet’, ‘dkGoldenrod’, ‘fire-brick’, ‘yellow’, ‘medPurple’, ‘midnightBlue’, ‘dkOliveGreen’, ‘ltGreen’, ‘medSlateBlue’, ‘dodgerBlue’,‘medVioletRed’, ‘chartreuse’, ‘forestGreen’, ‘black’, ‘oldLace’, ‘crimson’, ‘dkSlateBlue’, ‘antiqueWhite’,‘brown’, ‘turquoise’, ‘cornflowerBlue’, ‘cadetBlue’, ‘darkCyan’, ‘dimGray’, ‘limeGreen’, ‘lightSea-Green’, ‘lightGrey’, ‘dkViolet’, ‘lightSlateGrey’, ‘cyan’, ‘silver’, ‘gray’, ‘goldenrod’, ‘greenYellow’, ‘or-ange’, ‘moccasin’, ‘lemonChiffon’, ‘sandyBrown’, ‘aliceBlue’, ‘medOrchid’, ‘dkSeaGreen’, ‘dkGray’,‘darkSlateGray’, ‘ltGrey’, ‘darkTurquoise’, ‘darkGreen’, ‘burlyWood’, ‘saddleBrown’, ‘lavender’, ‘pa-payaWhip’, ‘mediumTurquoise’, ‘darkSalmon’, ‘thistle’, ‘blueViolet’, ‘dkSlateGrey’, ‘medAquamarine’,‘darkMagenta’, ‘lightSalmon’, ‘orchid’, ‘blue’, ‘honeydew’, ‘purple’, ‘mistyRose’, ‘ltSalmon’, ‘corn-silk’, ‘red’, ‘bisque’, ‘whiteSmoke’, ‘ghostWhite’, ‘khaki’, ‘wheat’, ‘teal’, ‘floralWhite’, ‘ltSlateGrey’,‘salmon’, ‘lightGoldenrodYellow’, ‘darkKhaki’, ‘dkSalmon’, ‘white’, ‘deepPink’, ‘ltCoral’, ‘ltSeaGreen’,‘gainsboro’, ‘medTurquoise’, ‘navy’, ‘coral’, ‘indianRed’, ‘aqua’, ‘darkSlateBlue’, ‘beige’, ‘azure’,‘lightCoral’, ‘navajoWhite’, ‘darkGray’, ‘deepSkyBlue’, ‘sienna’, ‘ltBlue’, ‘mediumBlue’, ‘dkGrey’,‘mediumPurple’, ‘lime’, ‘dkMagenta’, ‘ltGoldenrodYellow’, ‘dkTurquoise’, ‘dkOrchid’, ‘fuchsia’, ‘ltS-lateGray’, ‘slateBlue’, ‘lightGreen’, ‘dkRed’, ‘dkGreen’, ‘peru’, ‘medSeaGreen’, ‘aquamarine’, ‘oran-geRed’, ‘mintCream’, ‘dimGrey’, ‘lightGray’, ‘ivory’, ‘dkKhaki’, ‘hotPink’, ‘darkOrange’, ‘medium-SlateBlue’, ‘ltCyan’, ‘chocolate’, ‘dkOrange’, ‘mediumAquamarine’, ‘lightSlateGray’, ‘springGreen’,‘olive’, ‘slateGray’, ‘ltSkyBlue’, ‘ltYellow’, ‘paleVioletRed’, ‘darkOrchid’, ‘ltSteelBlue’, ‘oliveDrab’,‘grey’, ‘lawnGreen’, ‘steelBlue’, ‘yellowGreen’, ‘ltGray’, ‘lightSteelBlue’, ‘plum’, ‘rosyBrown’, ‘light-Cyan’, ‘dkBlue’, ‘violet’, ‘mediumOrchid’, ‘maroon’, ‘darkOliveGreen’, ‘dkCyan’, ‘darkSeaGreen’,‘darkRed’, ‘magenta’, ‘peachPuff’, ‘seaShell’, ‘paleTurquoise’, ‘paleGoldenrod’, ‘pink’, ‘darkSlateGrey’,‘lightYellow’, ‘darkGoldenrod’, ‘dkSlateGray’, ‘snow’, ‘lightSkyBlue’, ‘darkBlue’, ‘slateGrey’, ‘pow-derBlue’, ‘medSpringGreen’, ‘darkGrey’, ‘skyBlue’, ‘mediumVioletRed’, ‘lavenderBlush’, ‘seaGreen’,‘royalBlue’, ‘blanchedAlmond’, ‘lightPink’, ‘ltPink’, ‘medBlue’, ‘tan’, ‘tomato’, ‘mediumSeaGreen’,‘mediumSpringGreen’, ‘linen’, ‘green’])

194 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

rotWithShapeValues must be of type <type ‘bool’>

schemeClrValue must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘phClr’, ‘bg1’, ‘bg2’, ‘folHlink’, ‘hlink’, ‘tx2’, ‘tx1’])

scrgbClrValues must be of type <class ‘openpyxl.drawing.colors.RGBPercent’>

srgbClrValues must be of type <type ‘unicode’>

sxValues must be of type <type ‘long’>

syValues must be of type <type ‘long’>

sysClrValues must be of type <class ‘openpyxl.drawing.colors.SystemColor’>

class openpyxl.drawing.effect.PresetShadowEffect(prst=None, dist=None, dir=None,**kw)

Bases: openpyxl.drawing.colors.ColorChoice

dirValues must be of type <type ‘long’>

distValues must be of type <type ‘float’>

hslClrValues must be of type <class ‘openpyxl.drawing.colors.HSLColor’>

prstValue must be one of set([’shdw3’, ‘shdw2’, ‘shdw1’, ‘shdw10’, ‘shdw7’, ‘shdw6’, ‘shdw5’, ‘shdw4’,‘shdw12’, ‘shdw9’, ‘shdw8’, ‘shdw11’, ‘shdw13’, ‘shdw18’, ‘shdw19’, ‘shdw17’, ‘shdw20’, ‘shdw16’,‘shdw14’, ‘shdw15’])

prstClrValue must be one of set([’paleGreen’, ‘lightBlue’, ‘indigo’, ‘gold’, ‘darkViolet’, ‘dkGoldenrod’, ‘fire-brick’, ‘yellow’, ‘medPurple’, ‘midnightBlue’, ‘dkOliveGreen’, ‘ltGreen’, ‘medSlateBlue’, ‘dodgerBlue’,‘medVioletRed’, ‘chartreuse’, ‘forestGreen’, ‘black’, ‘oldLace’, ‘crimson’, ‘dkSlateBlue’, ‘antiqueWhite’,‘brown’, ‘turquoise’, ‘cornflowerBlue’, ‘cadetBlue’, ‘darkCyan’, ‘dimGray’, ‘limeGreen’, ‘lightSea-Green’, ‘lightGrey’, ‘dkViolet’, ‘lightSlateGrey’, ‘cyan’, ‘silver’, ‘gray’, ‘goldenrod’, ‘greenYellow’, ‘or-ange’, ‘moccasin’, ‘lemonChiffon’, ‘sandyBrown’, ‘aliceBlue’, ‘medOrchid’, ‘dkSeaGreen’, ‘dkGray’,‘darkSlateGray’, ‘ltGrey’, ‘darkTurquoise’, ‘darkGreen’, ‘burlyWood’, ‘saddleBrown’, ‘lavender’, ‘pa-payaWhip’, ‘mediumTurquoise’, ‘darkSalmon’, ‘thistle’, ‘blueViolet’, ‘dkSlateGrey’, ‘medAquamarine’,‘darkMagenta’, ‘lightSalmon’, ‘orchid’, ‘blue’, ‘honeydew’, ‘purple’, ‘mistyRose’, ‘ltSalmon’, ‘corn-silk’, ‘red’, ‘bisque’, ‘whiteSmoke’, ‘ghostWhite’, ‘khaki’, ‘wheat’, ‘teal’, ‘floralWhite’, ‘ltSlateGrey’,‘salmon’, ‘lightGoldenrodYellow’, ‘darkKhaki’, ‘dkSalmon’, ‘white’, ‘deepPink’, ‘ltCoral’, ‘ltSeaGreen’,‘gainsboro’, ‘medTurquoise’, ‘navy’, ‘coral’, ‘indianRed’, ‘aqua’, ‘darkSlateBlue’, ‘beige’, ‘azure’,‘lightCoral’, ‘navajoWhite’, ‘darkGray’, ‘deepSkyBlue’, ‘sienna’, ‘ltBlue’, ‘mediumBlue’, ‘dkGrey’,‘mediumPurple’, ‘lime’, ‘dkMagenta’, ‘ltGoldenrodYellow’, ‘dkTurquoise’, ‘dkOrchid’, ‘fuchsia’, ‘ltS-lateGray’, ‘slateBlue’, ‘lightGreen’, ‘dkRed’, ‘dkGreen’, ‘peru’, ‘medSeaGreen’, ‘aquamarine’, ‘oran-geRed’, ‘mintCream’, ‘dimGrey’, ‘lightGray’, ‘ivory’, ‘dkKhaki’, ‘hotPink’, ‘darkOrange’, ‘medium-SlateBlue’, ‘ltCyan’, ‘chocolate’, ‘dkOrange’, ‘mediumAquamarine’, ‘lightSlateGray’, ‘springGreen’,‘olive’, ‘slateGray’, ‘ltSkyBlue’, ‘ltYellow’, ‘paleVioletRed’, ‘darkOrchid’, ‘ltSteelBlue’, ‘oliveDrab’,

9.1. openpyxl package 195

openpyxl Documentation, Release 2.4.9

‘grey’, ‘lawnGreen’, ‘steelBlue’, ‘yellowGreen’, ‘ltGray’, ‘lightSteelBlue’, ‘plum’, ‘rosyBrown’, ‘light-Cyan’, ‘dkBlue’, ‘violet’, ‘mediumOrchid’, ‘maroon’, ‘darkOliveGreen’, ‘dkCyan’, ‘darkSeaGreen’,‘darkRed’, ‘magenta’, ‘peachPuff’, ‘seaShell’, ‘paleTurquoise’, ‘paleGoldenrod’, ‘pink’, ‘darkSlateGrey’,‘lightYellow’, ‘darkGoldenrod’, ‘dkSlateGray’, ‘snow’, ‘lightSkyBlue’, ‘darkBlue’, ‘slateGrey’, ‘pow-derBlue’, ‘medSpringGreen’, ‘darkGrey’, ‘skyBlue’, ‘mediumVioletRed’, ‘lavenderBlush’, ‘seaGreen’,‘royalBlue’, ‘blanchedAlmond’, ‘lightPink’, ‘ltPink’, ‘medBlue’, ‘tan’, ‘tomato’, ‘mediumSeaGreen’,‘mediumSpringGreen’, ‘linen’, ‘green’])

schemeClrValue must be one of set([’lt2’, ‘lt1’, ‘dk2’, ‘dk1’, ‘accent1’, ‘accent3’, ‘accent2’, ‘accent5’, ‘accent4’,‘accent6’, ‘phClr’, ‘bg1’, ‘bg2’, ‘folHlink’, ‘hlink’, ‘tx2’, ‘tx1’])

scrgbClrValues must be of type <class ‘openpyxl.drawing.colors.RGBPercent’>

srgbClrValues must be of type <type ‘unicode’>

sysClrValues must be of type <class ‘openpyxl.drawing.colors.SystemColor’>

class openpyxl.drawing.effect.ReflectionEffect(blurRad=None, stA=None, stPos=None,endA=None, endPos=None, dist=None,dir=None, fadeDir=None, sx=None,sy=None, kx=None, ky=None, algn=None,rotWithShape=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

algnValue must be one of set([’b’, ‘ctr’, ‘bl’, ‘tr’, ‘l’, ‘tl’, ‘r’, ‘t’, ‘br’])

blurRadValues must be of type <type ‘float’>

dirValues must be of type <type ‘long’>

distValues must be of type <type ‘float’>

endAValues must be of type <type ‘long’>

endPosValues must be of type <type ‘long’>

fadeDirValues must be of type <type ‘long’>

kxValues must be of type <type ‘long’>

kyValues must be of type <type ‘long’>

rotWithShapeValues must be of type <type ‘bool’>

stAValues must be of type <type ‘long’>

stPosValues must be of type <type ‘long’>

196 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

sxValues must be of type <type ‘long’>

syValues must be of type <type ‘long’>

class openpyxl.drawing.effect.SoftEdgesEffect(rad=None)Bases: openpyxl.descriptors.serialisable.Serialisable

radValues must be of type <type ‘float’>

class openpyxl.drawing.effect.TintEffect(hue=None, amt=None)Bases: openpyxl.descriptors.serialisable.Serialisable

amtValues must be of type <type ‘long’>

hueValues must be of type <type ‘long’>

openpyxl.drawing.fill module

class openpyxl.drawing.fill.Blip(cstate=None, embed=None, link=None, noGrp=None,noSelect=None, noRot=None, noChangeAspect=None,noMove=None, noResize=None, noEditPoints=None, noAd-justHandles=None, noChangeArrowheads=None, noChange-ShapeType=None, extLst=None, alphaBiLevel=None, al-phaCeiling=None, alphaFloor=None, alphaInv=None,alphaMod=None, alphaModFix=None, alphaRepl=None,biLevel=None, blur=None, clrChange=None, clrRepl=None,duotone=None, fillOverlay=None, grayscl=None, hsl=None,lum=None, tint=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

alphaBiLevelValues must be of type <class ‘openpyxl.drawing.effect.AlphaBiLevelEffect’>

alphaCeilingValues must be of type <class ‘openpyxl.drawing.effect.AlphaCeilingEffect’>

alphaFloorValues must be of type <class ‘openpyxl.drawing.effect.AlphaFloorEffect’>

alphaInvValues must be of type <class ‘openpyxl.drawing.effect.AlphaInverseEffect’>

alphaModValues must be of type <class ‘openpyxl.drawing.effect.AlphaModulateEffect’>

alphaModFixValues must be of type <class ‘openpyxl.drawing.effect.AlphaModulateFixedEffect’>

alphaReplValues must be of type <class ‘openpyxl.drawing.effect.AlphaReplaceEffect’>

biLevelValues must be of type <class ‘openpyxl.drawing.effect.BiLevelEffect’>

blurValues must be of type <class ‘openpyxl.drawing.effect.BlurEffect’>

9.1. openpyxl package 197

openpyxl Documentation, Release 2.4.9

clrChangeValues must be of type <class ‘openpyxl.drawing.effect.ColorChangeEffect’>

clrReplValues must be of type <class ‘openpyxl.drawing.effect.ColorReplaceEffect’>

cstateValue must be one of set([’print’, ‘hqprint’, ‘screen’, ‘email’])

duotoneValues must be of type <class ‘openpyxl.drawing.effect.DuotoneEffect’>

embedValues must be of type <type ‘basestring’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

fillOverlayValues must be of type <class ‘openpyxl.drawing.effect.FillOverlayEffect’>

graysclValues must be of type <class ‘openpyxl.drawing.effect.GrayscaleEffect’>

hslValues must be of type <class ‘openpyxl.drawing.effect.HSLEffect’>

linkValues must be of type <type ‘basestring’>

lumValues must be of type <class ‘openpyxl.drawing.effect.LuminanceEffect’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

noAdjustHandlesValues must be of type <type ‘bool’>

noChangeArrowheadsValues must be of type <type ‘bool’>

noChangeAspectValues must be of type <type ‘bool’>

noChangeShapeTypeValues must be of type <type ‘bool’>

noEditPointsValues must be of type <type ‘bool’>

noGrpValues must be of type <type ‘bool’>

noMoveValues must be of type <type ‘bool’>

noResizeValues must be of type <type ‘bool’>

noRotValues must be of type <type ‘bool’>

noSelectValues must be of type <type ‘bool’>

198 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

tagname = ‘blip’

tintValues must be of type <class ‘openpyxl.drawing.effect.TintEffect’>

class openpyxl.drawing.fill.BlipFillProperties(dpi=None, rotWithShape=None,blip=None, tile=None,stretch=<openpyxl.drawing.fill.StretchInfoPropertiesobject> Parameters: fill-Rect=<openpyxl.drawing.fill.RelativeRectobject> Parameters: l=None, r=None,t=None, b=None, srcRect=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

blipValues must be of type <class ‘openpyxl.drawing.fill.Blip’>

dpiValues must be of type <type ‘long’>

rotWithShapeValues must be of type <type ‘bool’>

srcRectValues must be of type <class ‘openpyxl.drawing.fill.RelativeRect’>

stretchValues must be of type <class ‘openpyxl.drawing.fill.StretchInfoProperties’>

tagname = ‘blipFill’

tileValues must be of type <class ‘openpyxl.drawing.fill.TileInfoProperties’>

class openpyxl.drawing.fill.GradientFillProperties(flip=None, rotWithShape=None,gsLst=None, lin=None, path=None,tileRect=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

flipValue must be one of set([’y’, ‘x’, ‘xy’])

gsLstValues must be of type <class ‘openpyxl.drawing.fill.GradientStopList’>

linValues must be of type <class ‘openpyxl.drawing.fill.LinearShadeProperties’>

linearAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

pathValues must be of type <class ‘openpyxl.drawing.fill.PathShadeProperties’>

rotWithShapeValues must be of type <type ‘bool’>

stop_listAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘gradFill’

9.1. openpyxl package 199

openpyxl Documentation, Release 2.4.9

tileRectValues must be of type <class ‘openpyxl.drawing.fill.RelativeRect’>

class openpyxl.drawing.fill.GradientStop(pos=None)Bases: openpyxl.descriptors.serialisable.Serialisable

posValues must be of type <type ‘float’>

tagname = ‘gradStop’

class openpyxl.drawing.fill.GradientStopList(gs=None)Bases: openpyxl.descriptors.serialisable.Serialisable

gsA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘gradStopLst’

class openpyxl.drawing.fill.LinearShadeProperties(ang=None, scaled=None)Bases: openpyxl.descriptors.serialisable.Serialisable

angValues must be of type <type ‘long’>

scaledValues must be of type <type ‘bool’>

class openpyxl.drawing.fill.PathShadeProperties(path=None, fillToRect=None)Bases: openpyxl.descriptors.serialisable.Serialisable

fillToRectValues must be of type <class ‘openpyxl.drawing.fill.RelativeRect’>

pathValue must be one of set([’shape’, ‘circle’, ‘rect’])

class openpyxl.drawing.fill.PatternFillProperties(prst=None, fgClr=None, bg-Clr=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

backgroundAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

bgClrValues must be of type <class ‘openpyxl.drawing.colors.ColorChoice’>

fgClrValues must be of type <class ‘openpyxl.drawing.colors.ColorChoice’>

foregroundAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

presetAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

prstValue must be one of set([’lgConfetti’, ‘upDiag’, ‘pct80’, ‘diagBrick’, ‘wave’, ‘smCheck’, ‘dotGrid’,‘narHorz’, ‘sphere’, ‘zigZag’, ‘horz’, ‘dnDiag’, ‘pct60’, ‘ltHorz’, ‘pct20’, ‘solidDmnd’, ‘pct40’, ‘cross’,

200 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

‘lgCheck’, ‘pct25’, ‘horzBrick’, ‘dashHorz’, ‘dashUpDiag’, ‘dkUpDiag’, ‘shingle’, ‘ltDnDiag’, ‘divot’,‘vert’, ‘dashDnDiag’, ‘narVert’, ‘pct90’, ‘dkVert’, ‘plaid’, ‘dashVert’, ‘smConfetti’, ‘pct10’, ‘ltUp-Diag’, ‘wdUpDiag’, ‘dkDnDiag’, ‘wdDnDiag’, ‘diagCross’, ‘weave’, ‘pct75’, ‘lgGrid’, ‘smGrid’, ‘pct50’,‘pct70’, ‘pct30’, ‘dkHorz’, ‘openDmnd’, ‘dotDmnd’, ‘pct5’, ‘ltVert’, ‘trellis’])

tagname = ‘pattFill’

class openpyxl.drawing.fill.RelativeRect(l=None, t=None, r=None, b=None)Bases: openpyxl.descriptors.serialisable.Serialisable

bValues must be of type <type ‘float’>

bottomAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

lValues must be of type <type ‘float’>

leftAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

rValues must be of type <type ‘float’>

rightAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tValues must be of type <type ‘float’>

tagname = ‘rect’

topAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.drawing.fill.StretchInfoProperties(fillRect=<openpyxl.drawing.fill.RelativeRectobject> Parameters: l=None, r=None,t=None, b=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

fillRectValues must be of type <class ‘openpyxl.drawing.fill.RelativeRect’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

tagname = ‘stretch’

class openpyxl.drawing.fill.TileInfoProperties(tx=None, ty=None, sx=None, sy=None,flip=None, algn=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

algnValue must be one of set([’b’, ‘ctr’, ‘bl’, ‘tr’, ‘l’, ‘tl’, ‘r’, ‘t’, ‘br’])

flipValue must be one of set([’y’, ‘x’, ‘xy’])

9.1. openpyxl package 201

openpyxl Documentation, Release 2.4.9

sxValues must be of type <type ‘long’>

syValues must be of type <type ‘long’>

txValues must be of type <type ‘long’>

tyValues must be of type <type ‘long’>

openpyxl.drawing.graphic module

class openpyxl.drawing.graphic.ChartRelation(id)Bases: openpyxl.descriptors.serialisable.Serialisable

idValues must be of type <type ‘basestring’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/chart’

tagname = ‘chart’

class openpyxl.drawing.graphic.Connection(id=None, idx=None)Bases: openpyxl.descriptors.serialisable.Serialisable

idValues must be of type <type ‘long’>

idxValues must be of type <type ‘long’>

class openpyxl.drawing.graphic.ConnectorLocking(extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

class openpyxl.drawing.graphic.ConnectorNonVisual(cNvPr=None, cNvCxnSpPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

cNvCxnSpPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualConnectorProperties’>

cNvPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualDrawingProps’>

class openpyxl.drawing.graphic.GraphicData(uri=’http://schemas.openxmlformats.org/drawingml/2006/chart’,chart=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

chartValues must be of type <class ‘openpyxl.drawing.graphic.ChartRelation’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

tagname = ‘graphicData’

uriValues must be of type <type ‘basestring’>

202 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.drawing.graphic.GraphicFrame(nvGraphicFramePr=None, xfrm=None,graphic=None, macro=None, fPub-lished=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

fPublishedValues must be of type <type ‘bool’>

graphicValues must be of type <class ‘openpyxl.drawing.graphic.GraphicObject’>

macroValues must be of type <type ‘basestring’>

nvGraphicFramePrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualGraphicFrame’>

tagname = ‘graphicFrame’

xfrmValues must be of type <class ‘openpyxl.drawing.shapes.Transform2D’>

class openpyxl.drawing.graphic.GraphicFrameLocking(noGrp=None, noDrilldown=None,noSelect=None, noChangeA-spect=None, noMove=None, noRe-size=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

noChangeAspectValues must be of type <type ‘bool’>

noDrilldownValues must be of type <type ‘bool’>

noGrpValues must be of type <type ‘bool’>

noMoveValues must be of type <type ‘bool’>

noResizeValues must be of type <type ‘bool’>

noSelectValues must be of type <type ‘bool’>

class openpyxl.drawing.graphic.GraphicObject(graphicData=None)Bases: openpyxl.descriptors.serialisable.Serialisable

graphicDataValues must be of type <class ‘openpyxl.drawing.graphic.GraphicData’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

tagname = ‘graphic’

class openpyxl.drawing.graphic.GroupLocking(noGrp=None, noUngrp=None, noSelect=None,noRot=None, noChangeAspect=None,noChangeArrowheads=None, noMove=None,noResize=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

9.1. openpyxl package 203

openpyxl Documentation, Release 2.4.9

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

noChangeArrowheadsValues must be of type <type ‘bool’>

noChangeAspectValues must be of type <type ‘bool’>

noGrpValues must be of type <type ‘bool’>

noMoveValues must be of type <type ‘bool’>

noResizeValues must be of type <type ‘bool’>

noRotValues must be of type <type ‘bool’>

noSelectValues must be of type <type ‘bool’>

noUngrpValues must be of type <type ‘bool’>

class openpyxl.drawing.graphic.GroupShape(nvGrpSpPr=None, grpSpPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

grpSpPrValues must be of type <class ‘openpyxl.drawing.graphic.GroupShapeProperties’>

nvGrpSpPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualGroupShape’>

class openpyxl.drawing.graphic.GroupShapeProperties(bwMode=None, xfrm=None,scene3d=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

bwModeValue must be one of set([’grayWhite’, ‘invGray’, ‘auto’, ‘blackGray’, ‘ltGray’, ‘black’, ‘blackWhite’,‘gray’, ‘white’, ‘hidden’, ‘clr’])

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

scene3dValues must be of type <class ‘openpyxl.drawing.shapes.Scene3D’>

xfrmValues must be of type <class ‘openpyxl.drawing.graphic.GroupTransform2D’>

class openpyxl.drawing.graphic.GroupTransform2D(rot=None, flipH=None, flipV=None,off=None, ext=None, chOff=None,chExt=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

chExtValues must be of type <class ‘openpyxl.drawing.shapes.PositiveSize2D’>

chOffValues must be of type <class ‘openpyxl.drawing.shapes.Point2D’>

204 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

extValues must be of type <class ‘openpyxl.drawing.shapes.PositiveSize2D’>

flipHValues must be of type <type ‘bool’>

flipVValues must be of type <type ‘bool’>

offValues must be of type <class ‘openpyxl.drawing.shapes.Point2D’>

rotValues must be of type <type ‘long’>

class openpyxl.drawing.graphic.NonVisualConnectorProperties(cxnSpLocks=None,stCxn=None,endCxn=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

cxnSpLocksValues must be of type <class ‘openpyxl.drawing.graphic.ConnectorLocking’>

endCxnValues must be of type <class ‘openpyxl.drawing.graphic.Connection’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

stCxnValues must be of type <class ‘openpyxl.drawing.graphic.Connection’>

class openpyxl.drawing.graphic.NonVisualDrawingProps(id=None, name=None, de-scr=None, hidden=None, ti-tle=None, hlinkClick=None,hlinkHover=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

descrValues must be of type <type ‘basestring’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

hiddenValues must be of type <type ‘bool’>

hlinkClickValues must be of type <class ‘openpyxl.drawing.text.Hyperlink’>

hlinkHoverValues must be of type <class ‘openpyxl.drawing.text.Hyperlink’>

idValues must be of type <type ‘long’>

nameValues must be of type <type ‘basestring’>

tagname = ‘cNvPr’

titleValues must be of type <type ‘basestring’>

9.1. openpyxl package 205

openpyxl Documentation, Release 2.4.9

class openpyxl.drawing.graphic.NonVisualDrawingShapeProps(spLocks=None,txBox=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

spLocksValues must be of type <class ‘openpyxl.drawing.graphic.GroupLocking’>

tagname = ‘cNvSpPr’

txBaxValues must be of type <type ‘bool’>

class openpyxl.drawing.graphic.NonVisualGraphicFrame(cNvPr=None, cNvGraph-icFramePr=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

cNvGraphicFramePrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualGraphicFrameProperties’>

cNvPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualDrawingProps’>

tagname = ‘nvGraphicFramePr’

class openpyxl.drawing.graphic.NonVisualGraphicFrameProperties(graphicFrameLocks=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

graphicFrameLocksValues must be of type <class ‘openpyxl.drawing.graphic.GraphicFrameLocking’>

tagname = ‘cNvGraphicFramePr’

class openpyxl.drawing.graphic.NonVisualGroupDrawingShapeProps(grpSpLocks=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

grpSpLocksValues must be of type <class ‘openpyxl.drawing.graphic.GroupLocking’>

class openpyxl.drawing.graphic.NonVisualGroupShape(cNvPr=None, cNvGrpSpPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

cNvGrpSpPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualGroupDrawingShapeProps’>

cNvPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualDrawingProps’>

class openpyxl.drawing.graphic.NonVisualPictureProperties(preferRelativeResize=None,picLocks=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

206 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

picLocksValues must be of type <class ‘openpyxl.drawing.graphic.PictureLocking’>

preferRelativeResizeValues must be of type <type ‘bool’>

tagname = ‘cNvPicPr’

class openpyxl.drawing.graphic.PictureFrame(macro=None, fPublished=None,nvPicPr=None, blipFill=None, spPr=None,style=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

blipFillValues must be of type <class ‘openpyxl.drawing.fill.BlipFillProperties’>

fPublishedValues must be of type <type ‘bool’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

macroValues must be of type <type ‘basestring’>

nvPicPrValues must be of type <class ‘openpyxl.drawing.graphic.PictureNonVisual’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

styleValues must be of type <class ‘openpyxl.drawing.shapes.ShapeStyle’>

tagname = ‘pic’

class openpyxl.drawing.graphic.PictureLocking(noCrop=None, noGrp=None, noSe-lect=None, noRot=None, noChangeA-spect=None, noMove=None, noRe-size=None, noEditPoints=None, noAd-justHandles=None, noChangeArrow-heads=None, noChangeShapeType=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

noAdjustHandlesValues must be of type <type ‘bool’>

noChangeArrowheadsValues must be of type <type ‘bool’>

noChangeAspectValues must be of type <type ‘bool’>

9.1. openpyxl package 207

openpyxl Documentation, Release 2.4.9

noChangeShapeTypeValues must be of type <type ‘bool’>

noCropValues must be of type <type ‘bool’>

noEditPointsValues must be of type <type ‘bool’>

noGrpValues must be of type <type ‘bool’>

noMoveValues must be of type <type ‘bool’>

noResizeValues must be of type <type ‘bool’>

noRotValues must be of type <type ‘bool’>

noSelectValues must be of type <type ‘bool’>

tagname = ‘picLocks’

class openpyxl.drawing.graphic.PictureNonVisual(cNvPr=None, cNvPicPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

cNvPicPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualPictureProperties’>

cNvPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualDrawingProps’>

tagname = ‘nvPicPr’

class openpyxl.drawing.graphic.Shape(macro=None, textlink=None, fPublished=None,nvSpPr=None, spPr=None, style=None, txBody=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

fPublishedValues must be of type <type ‘bool’>

graphicalPropertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

macroValues must be of type <type ‘basestring’>

metaAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

nvSpPrValues must be of type <class ‘openpyxl.drawing.graphic.ShapeMeta’>

spPrValues must be of type <class ‘openpyxl.chart.shapes.GraphicalProperties’>

styleValues must be of type <class ‘openpyxl.drawing.shapes.ShapeStyle’>

208 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

textlinkValues must be of type <type ‘basestring’>

txBodyValues must be of type <class ‘openpyxl.chart.text.RichText’>

class openpyxl.drawing.graphic.ShapeMeta(cNvPr=None, cNvSpPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

cNvPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualDrawingProps’>

cNvSpPrValues must be of type <class ‘openpyxl.drawing.graphic.NonVisualDrawingShapeProps’>

tagname = ‘nvSpPr’

openpyxl.drawing.image module

class openpyxl.drawing.image.Image(img, coordinates=((0, 0), (1, 1)), size=(None, None),nochangeaspect=True, nochangearrowheads=True)

Bases: object

Raw Image class

anchor(*args, **kwargs)anchors the image to the given cell optional parameter anchortype supports ‘absolute’ or ‘oneCell’

path

openpyxl.drawing.image.bounding_box(bw, bh, w, h)Returns a tuple (new_width, new_height) which has the property that it fits within box_width and box_heightand has (close to) the same aspect ratio as the original size

openpyxl.drawing.line module

class openpyxl.drawing.line.DashStop(d=0, sp=0)Bases: openpyxl.descriptors.serialisable.Serialisable

dValues must be of type <type ‘long’>

lengthAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

spValues must be of type <type ‘long’>

spaceAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘ds’

class openpyxl.drawing.line.DashStopList(ds=None)Bases: openpyxl.descriptors.serialisable.Serialisable

9.1. openpyxl package 209

openpyxl Documentation, Release 2.4.9

dsA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.drawing.line.LineEndProperties(type=None, w=None, len=None)Bases: openpyxl.descriptors.serialisable.Serialisable

lenValue must be one of set([’med’, ‘sm’, ‘lg’])

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

tagname = ‘end’

typeValue must be one of set([’none’, ‘diamond’, ‘triangle’, ‘stealth’, ‘arrow’, ‘oval’])

wValue must be one of set([’med’, ‘sm’, ‘lg’])

class openpyxl.drawing.line.LineJoinMiterProperties(lim=None)Bases: openpyxl.descriptors.serialisable.Serialisable

limValues must be of type <type ‘long’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

tagname = ‘miter’

class openpyxl.drawing.line.LineProperties(w=None, cap=None, cmpd=None, algn=None,noFill=None, solidFill=None, gradFill=None,pattFill=None, prstDash=None, custDash=None,round=None, bevel=None, mitre=None, head-End=None, tailEnd=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

algnValue must be one of set([’ctr’, ‘in’])

bevelValues must be of type <type ‘bool’>

capValue must be one of set([’flat’, ‘sq’, ‘rnd’])

cmpdValue must be one of set([’tri’, ‘sng’, ‘thinThick’, ‘dbl’, ‘thickThin’])

custDashValues must be of type <class ‘openpyxl.drawing.line.DashStop’>

dashStyleAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

gradFillValues must be of type <class ‘openpyxl.drawing.fill.GradientFillProperties’>

headEndValues must be of type <class ‘openpyxl.drawing.line.LineEndProperties’>

210 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

miterValues must be of type <class ‘openpyxl.drawing.line.LineJoinMiterProperties’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

noFillValues must be of type <type ‘bool’>

pattFillValues must be of type <class ‘openpyxl.drawing.fill.PatternFillProperties’>

prstDashValue must be one of set([’dashDot’, ‘solid’, ‘sysDashDotDot’, ‘lgDash’, ‘sysDashDot’, ‘lgDashDotDot’,‘dash’, ‘sysDot’, ‘sysDash’, ‘lgDashDot’, ‘dot’])

roundValues must be of type <type ‘bool’>

solidFillValues must be of type <class ‘openpyxl.drawing.colors.ColorChoice’>

tagname = ‘ln’

tailEndValues must be of type <class ‘openpyxl.drawing.line.LineEndProperties’>

wValues must be of type <type ‘float’>

widthAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

openpyxl.drawing.shape module

class openpyxl.drawing.shape.Shape(*args, **kwargs)Bases: object

a drawing inside a chart coordiantes are specified by the user in the axis units

FONT_HEIGHT = 8

FONT_WIDTH = 7

MARGIN_BOTTOM = 28

MARGIN_LEFT = 20

RECT = ‘rect’“line” “lineInv” “triangle” “rtTriangle” “diamond” “parallelogram” “trapezoid” “nonIsoscelesTrapezoid”“pentagon” “hexagon” “heptagon” “octagon” “decagon” “dodecagon” “star4” “star5” “star6” “star7”“star8” “star10” “star12” “star16” “star24” “star32” “roundRect” “round1Rect” “round2SameRect”“round2DiagRect” “snipRoundRect” “snip1Rect” “snip2SameRect” “snip2DiagRect” “plaque” “ellipse”“teardrop” “homePlate” “chevron” “pieWedge” “pie” “blockArc” “donut” “noSmoking” “rightAr-row” “leftArrow” “upArrow” “downArrow” “stripedRightArrow” “notchedRightArrow” “bentUpAr-row” “leftRightArrow” “upDownArrow” “leftUpArrow” “leftRightUpArrow” “quadArrow” “leftArrow-Callout” “rightArrowCallout” “upArrowCallout” “downArrowCallout” “leftRightArrowCallout” “up-DownArrowCallout” “quadArrowCallout” “bentArrow” “uturnArrow” “circularArrow” “leftCircularAr-row” “leftRightCircularArrow” “curvedRightArrow” “curvedLeftArrow” “curvedUpArrow” “curved-DownArrow” “swooshArrow” “cube” “can” “lightningBolt” “heart” “sun” “moon” “smileyFace” “ir-regularSeal1” “irregularSeal2” “foldedCorner” “bevel” “frame” “halfFrame” “corner” “diagStripe”

9.1. openpyxl package 211

openpyxl Documentation, Release 2.4.9

“chord” “arc” “leftBracket” “rightBracket” “leftBrace” “rightBrace” “bracketPair” “bracePair” “straight-Connector1” “bentConnector2” “bentConnector3” “bentConnector4” “bentConnector5” “curvedCon-nector2” “curvedConnector3” “curvedConnector4” “curvedConnector5” “callout1” “callout2” “call-out3” “accentCallout1” “accentCallout2” “accentCallout3” “borderCallout1” “borderCallout2” “bor-derCallout3” “accentBorderCallout1” “accentBorderCallout2” “accentBorderCallout3” “wedgeRectCall-out” “wedgeRoundRectCallout” “wedgeEllipseCallout” “cloudCallout” “cloud” “ribbon” “ribbon2” “el-lipseRibbon” “ellipseRibbon2” “leftRightRibbon” “verticalScroll” “horizontalScroll” “wave” “double-Wave” “plus” “flowChartProcess” “flowChartDecision” “flowChartInputOutput” “flowChartPredefined-Process” “flowChartInternalStorage” “flowChartDocument” “flowChartMultidocument” “flowChartTer-minator” “flowChartPreparation” “flowChartManualInput” “flowChartManualOperation” “flowChartCon-nector” “flowChartPunchedCard” “flowChartPunchedTape” “flowChartSummingJunction” “flowChar-tOr” “flowChartCollate” “flowChartSort” “flowChartExtract” “flowChartMerge” “flowChartOfflineStor-age” “flowChartOnlineStorage” “flowChartMagneticTape” “flowChartMagneticDisk” “flowChartMag-neticDrum” “flowChartDisplay” “flowChartDelay” “flowChartAlternateProcess” “flowChartOffpageCon-nector” “actionButtonBlank” “actionButtonHome” “actionButtonHelp” “actionButtonInformation” “ac-tionButtonForwardNext” “actionButtonBackPrevious” “actionButtonEnd” “actionButtonBeginning” “ac-tionButtonReturn” “actionButtonDocument” “actionButtonSound” “actionButtonMovie” “gear6” “gear9”“funnel” “mathPlus” “mathMinus” “mathMultiply” “mathDivide” “mathEqual” “mathNotEqual” “cor-nerTabs” “squareTabs” “plaqueTabs” “chartX” “chartStar” “chartPlus”

ROUND_RECT = ‘roundRect’

border_color

border_width

color

coordinatesReturn coordindates in axis units

text_color

class openpyxl.drawing.shape.ShapeWriter(shapes)Bases: object

one file per shape

write(shape_id)

openpyxl.drawing.shapes module

class openpyxl.drawing.shapes.AdjPoint2D(x=None, y=None)Bases: openpyxl.descriptors.serialisable.Serialisable

xValues must be of type <type ‘long’>

yValues must be of type <type ‘long’>

class openpyxl.drawing.shapes.AdjustHandleListBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.drawing.shapes.Backdrop(anchor=None, norm=None, up=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

anchorValues must be of type <class ‘openpyxl.drawing.shapes.Point3D’>

212 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

normValues must be of type <class ‘openpyxl.drawing.shapes.Vector3D’>

upValues must be of type <class ‘openpyxl.drawing.shapes.Vector3D’>

class openpyxl.drawing.shapes.Bevel(w=None, h=None, prst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

hValues must be of type Values must be of type <type ‘long’>

prstValues must be of type <openpyxl.descriptors.base.Set object at 0x7fd72ad0a690>

wValues must be of type Values must be of type <type ‘long’>

class openpyxl.drawing.shapes.Camera(prst=None, fov=None, zoom=None, rot=None)Bases: openpyxl.descriptors.serialisable.Serialisable

fovValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

prstValues must be of type <openpyxl.descriptors.base.Set object at 0x7fd72ad01d10>

rotValues must be of type <class ‘openpyxl.drawing.shapes.SphereCoords’>

zoomValues must be of type <class ‘openpyxl.descriptors.excel.Percentage’>

class openpyxl.drawing.shapes.ConnectionSite(ang=None, pos=None)Bases: openpyxl.descriptors.serialisable.Serialisable

angValues must be of type <type ‘float’>

posValues must be of type <class ‘openpyxl.drawing.shapes.AdjPoint2D’>

class openpyxl.drawing.shapes.ConnectionSiteList(cxn=None)Bases: openpyxl.descriptors.serialisable.Serialisable

cxnValues must be of type <class ‘openpyxl.drawing.shapes.ConnectionSite’>

class openpyxl.drawing.shapes.CustomGeometry2D(avLst=None, gdLst=None, ahLst=None,cxnLst=None, rect=None, pathLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

ahLstValues must be of type <class ‘openpyxl.drawing.shapes.AdjustHandleList’>

avLstValues must be of type <class ‘openpyxl.drawing.shapes.GeomGuideList’>

cxnLstValues must be of type <class ‘openpyxl.drawing.shapes.ConnectionSiteList’>

9.1. openpyxl package 213

openpyxl Documentation, Release 2.4.9

gdLstValues must be of type <class ‘openpyxl.drawing.shapes.GeomGuideList’>

pathLstValues must be of type <class ‘openpyxl.drawing.shapes.Path2DList’>

rectValues must be of type <class ‘openpyxl.drawing.shapes.GeomRect’>

class openpyxl.drawing.shapes.FontReference(idx=None)Bases: openpyxl.descriptors.serialisable.Serialisable

idxValue must be one of set([’major’, ‘minor’])

class openpyxl.drawing.shapes.GeomGuide(name=None, fmla=None)Bases: openpyxl.descriptors.serialisable.Serialisable

fmlaValues must be of type <type ‘basestring’>

nameValues must be of type <type ‘basestring’>

class openpyxl.drawing.shapes.GeomGuideList(gd=None)Bases: openpyxl.descriptors.serialisable.Serialisable

gdValues must be of type <class ‘openpyxl.drawing.shapes.GeomGuide’>

class openpyxl.drawing.shapes.GeomRect(l=None, t=None, r=None, b=None)Bases: openpyxl.descriptors.serialisable.Serialisable

bValues must be of type <type ‘long’>

lValues must be of type <type ‘long’>

rValues must be of type <type ‘long’>

tValues must be of type <type ‘long’>

class openpyxl.drawing.shapes.LightRig(rig=None, dir=None, rot=None)Bases: openpyxl.descriptors.serialisable.Serialisable

dirValues must be of type <openpyxl.descriptors.base.Set object at 0x7fd72ad01f90>

rigValues must be of type <openpyxl.descriptors.base.Set object at 0x7fd72ad01e90>

rotValues must be of type <class ‘openpyxl.drawing.shapes.SphereCoords’>

class openpyxl.drawing.shapes.Path2D(w=None, h=None, fill=None, stroke=None, extru-sionOk=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

extrusionOkValues must be of type <type ‘bool’>

214 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

fillValue must be one of set([’lighten’, ‘darken’, ‘darkenLess’, ‘lightenLess’, ‘norm’])

hValues must be of type <type ‘float’>

strokeValues must be of type <type ‘bool’>

wValues must be of type <type ‘float’>

class openpyxl.drawing.shapes.Path2DList(path=None)Bases: openpyxl.descriptors.serialisable.Serialisable

pathValues must be of type <class ‘openpyxl.drawing.shapes.Path2D’>

class openpyxl.drawing.shapes.Point2D(x=None, y=None)Bases: openpyxl.descriptors.serialisable.Serialisable

xValues must be of type <type ‘long’>

yValues must be of type <type ‘long’>

class openpyxl.drawing.shapes.Point3D(x=None, y=None, z=None)Bases: openpyxl.descriptors.serialisable.Serialisable

xValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

yValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

zValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

class openpyxl.drawing.shapes.PositiveSize2D(cx=None, cy=None)Bases: openpyxl.descriptors.serialisable.Serialisable

Dimensions in EMUs

cxValues must be of type <type ‘long’>

cyValues must be of type <type ‘long’>

heightAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

widthAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.drawing.shapes.PresetGeometry2D(prst=None, avLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

avLstValues must be of type <class ‘openpyxl.drawing.shapes.GeomGuideList’>

9.1. openpyxl package 215

openpyxl Documentation, Release 2.4.9

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

prstValue must be one of set([’smileyFace’, ‘chord’, ‘rtTriangle’, ‘curvedConnector4’, ‘accentCall-out2’, ‘accentCallout3’, ‘mathEqual’, ‘leftRightRibbon’, ‘bentArrow’, ‘corner’, ‘leftRightArrowCall-out’, ‘actionButtonHome’, ‘upDownArrowCallout’, ‘chartStar’, ‘flowChartManualInput’, ‘actionButton-BackPrevious’, ‘flowChartMagneticDrum’, ‘straightConnector1’, ‘mathNotEqual’, ‘rightBrace’, ‘pla-queTabs’, ‘gear6’, ‘curvedUpArrow’, ‘accentCallout1’, ‘decagon’, ‘verticalScroll’, ‘cube’, ‘trian-gle’, ‘bevel’, ‘leftUpArrow’, ‘rightArrowCallout’, ‘wave’, ‘irregularSeal2’, ‘notchedRightArrow’, ‘ir-regularSeal1’, ‘cloudCallout’, ‘flowChartSummingJunction’, ‘mathMultiply’, ‘round2DiagRect’, ‘dou-bleWave’, ‘rightBracket’, ‘flowChartDecision’, ‘actionButtonEnd’, ‘flowChartDocument’, ‘downAr-row’, ‘flowChartManualOperation’, ‘callout3’, ‘flowChartPunchedCard’, ‘rightArrow’, ‘upDownAr-row’, ‘flowChartOr’, ‘chevron’, ‘mathMinus’, ‘quadArrowCallout’, ‘gear9’, ‘lightningBolt’, ‘el-lipseRibbon’, ‘actionButtonForwardNext’, ‘arc’, ‘stripedRightArrow’, ‘ribbon’, ‘heptagon’, ‘star16’,‘star10’, ‘accentBorderCallout2’, ‘star12’, ‘sun’, ‘curvedConnector2’, ‘curvedConnector3’, ‘parallel-ogram’, ‘curvedConnector5’, ‘moon’, ‘teardrop’, ‘lineInv’, ‘flowChartMultidocument’, ‘flowChartEx-tract’, ‘funnel’, ‘callout1’, ‘callout2’, ‘star4’, ‘actionButtonSound’, ‘swooshArrow’, ‘round1Rect’, ‘lef-tArrow’, ‘flowChartOffpageConnector’, ‘upArrow’, ‘snip1Rect’, ‘cornerTabs’, ‘rect’, ‘curvedLeftAr-row’, ‘snip2DiagRect’, ‘nonIsoscelesTrapezoid’, ‘squareTabs’, ‘diagStripe’, ‘flowChartCollate’, ‘plus’,‘hexagon’, ‘flowChartMerge’, ‘leftRightUpArrow’, ‘actionButtonInformation’, ‘chartX’, ‘flowChartIn-putOutput’, ‘snip2SameRect’, ‘round2SameRect’, ‘blockArc’, ‘leftArrowCallout’, ‘actionButtonBegin-ning’, ‘flowChartConnector’, ‘pentagon’, ‘ellipse’, ‘cloud’, ‘flowChartMagneticTape’, ‘snipRoundRect’,‘actionButtonHelp’, ‘flowChartDelay’, ‘star32’, ‘ellipseRibbon2’, ‘bracePair’, ‘flowChartOfflineStorage’,‘leftCircularArrow’, ‘leftRightArrow’, ‘mathDivide’, ‘frame’, ‘bentUpArrow’, ‘diamond’, ‘downArrow-Callout’, ‘bracketPair’, ‘wedgeEllipseCallout’, ‘foldedCorner’, ‘flowChartMagneticDisk’, ‘star24’, ‘line’,‘flowChartTerminator’, ‘pieWedge’, ‘bentConnector5’, ‘leftRightCircularArrow’, ‘leftBrace’, ‘flowChart-InternalStorage’, ‘actionButtonBlank’, ‘star5’, ‘donut’, ‘star7’, ‘star6’, ‘can’, ‘leftBracket’, ‘trapezoid’,‘curvedRightArrow’, ‘horizontalScroll’, ‘upArrowCallout’, ‘star8’, ‘circularArrow’, ‘heart’, ‘wedgeR-oundRectCallout’, ‘pie’, ‘homePlate’, ‘flowChartSort’, ‘borderCallout1’, ‘borderCallout2’, ‘borderCall-out3’, ‘dodecagon’, ‘noSmoking’, ‘actionButtonDocument’, ‘actionButtonMovie’, ‘mathPlus’, ‘half-Frame’, ‘flowChartDisplay’, ‘roundRect’, ‘wedgeRectCallout’, ‘chartPlus’, ‘uturnArrow’, ‘flowChart-PredefinedProcess’, ‘octagon’, ‘flowChartProcess’, ‘flowChartAlternateProcess’, ‘curvedDownArrow’,‘accentBorderCallout1’, ‘bentConnector2’, ‘bentConnector3’, ‘bentConnector4’, ‘quadArrow’, ‘action-ButtonReturn’, ‘flowChartPunchedTape’, ‘accentBorderCallout3’, ‘flowChartOnlineStorage’, ‘flowChart-Preparation’, ‘ribbon2’, ‘plaque’])

class openpyxl.drawing.shapes.Scene3D(camera=None, lightRig=None, backdrop=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

backdropValues must be of type <class ‘openpyxl.drawing.shapes.Backdrop’>

cameraValues must be of type <class ‘openpyxl.drawing.shapes.Camera’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

lightRigValues must be of type <class ‘openpyxl.drawing.shapes.LightRig’>

class openpyxl.drawing.shapes.Shape3D(z=None, extrusionH=None, contourW=None, prstMa-terial=None, bevelT=None, bevelB=None, extrusion-Clr=None, contourClr=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

bevelB

216 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Values must be of type <class ‘openpyxl.drawing.shapes.Bevel’>

bevelTValues must be of type <class ‘openpyxl.drawing.shapes.Bevel’>

contourClrValues must be of type <class ‘openpyxl.styles.colors.Color’>

contourWValues must be of type Values must be of type <type ‘long’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

extrusionClrValues must be of type <class ‘openpyxl.styles.colors.Color’>

extrusionHValues must be of type Values must be of type <type ‘long’>

prstMaterialValues must be of type <openpyxl.descriptors.base.Set object at 0x7fd72ad0a890>

zValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

class openpyxl.drawing.shapes.ShapeStyle(lnRef=None, fillRef=None, effectRef=None,fontRef=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

effectRefValues must be of type <class ‘openpyxl.drawing.shapes.StyleMatrixReference’>

fillRefValues must be of type <class ‘openpyxl.drawing.shapes.StyleMatrixReference’>

fontRefValues must be of type <class ‘openpyxl.drawing.shapes.FontReference’>

lnRefValues must be of type <class ‘openpyxl.drawing.shapes.StyleMatrixReference’>

class openpyxl.drawing.shapes.SphereCoords(lat=None, lon=None, rev=None)Bases: openpyxl.descriptors.serialisable.Serialisable

latValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

lonValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

revValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

class openpyxl.drawing.shapes.StyleMatrixReference(idx=None)Bases: openpyxl.descriptors.serialisable.Serialisable

idxValues must be of type <type ‘long’>

class openpyxl.drawing.shapes.Transform2D(rot=None, flipH=None, flipV=None, off=None,ext=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

9.1. openpyxl package 217

openpyxl Documentation, Release 2.4.9

extValues must be of type <class ‘openpyxl.drawing.shapes.PositiveSize2D’>

flipHValues must be of type <type ‘bool’>

flipVValues must be of type <type ‘bool’>

offValues must be of type <class ‘openpyxl.drawing.shapes.Point2D’>

rotValues must be of type <type ‘long’>

tagname = ‘xfrm’

class openpyxl.drawing.shapes.Vector3D(dx=None, dy=None, dz=None)Bases: openpyxl.descriptors.serialisable.Serialisable

dxValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

dyValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

dzValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

openpyxl.drawing.spreadsheet_drawing module

class openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor(pos=None, ext=None,**kw)

Bases: openpyxl.drawing.spreadsheet_drawing._AnchorBase

clientDataValues must be of type <class ‘openpyxl.drawing.spreadsheet_drawing.AnchorClientData’>

contentPartValues must be of type <type ‘basestring’>

cxnSpValues must be of type <class ‘openpyxl.drawing.graphic.Shape’>

extValues must be of type <class ‘openpyxl.drawing.shapes.PositiveSize2D’>

graphicFrameValues must be of type <class ‘openpyxl.drawing.graphic.GraphicFrame’>

grpSpValues must be of type <class ‘openpyxl.drawing.graphic.GroupShape’>

picValues must be of type <class ‘openpyxl.drawing.graphic.PictureFrame’>

posValues must be of type <class ‘openpyxl.drawing.shapes.Point2D’>

spValues must be of type <class ‘openpyxl.drawing.graphic.Shape’>

tagname = ‘absoluteAnchor’

218 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.drawing.spreadsheet_drawing.AnchorClientData(fLocksWithSheet=None,fPrintsWithSheet=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

fLocksWithSheetValues must be of type <type ‘bool’>

fPrintsWithSheetValues must be of type <type ‘bool’>

class openpyxl.drawing.spreadsheet_drawing.AnchorMarker(col=0, colOff=0, row=0,rowOff=0)

Bases: openpyxl.descriptors.serialisable.Serialisable

colValues must be of type <type ‘int’>

colOffValues must be of type <type ‘int’>

rowValues must be of type <type ‘int’>

rowOffValues must be of type <type ‘int’>

tagname = ‘marker’

class openpyxl.drawing.spreadsheet_drawing.OneCellAnchor(_from=None, ext=None,**kw)

Bases: openpyxl.drawing.spreadsheet_drawing._AnchorBase

clientDataValues must be of type <class ‘openpyxl.drawing.spreadsheet_drawing.AnchorClientData’>

contentPartValues must be of type <type ‘basestring’>

cxnSpValues must be of type <class ‘openpyxl.drawing.graphic.Shape’>

extValues must be of type <class ‘openpyxl.drawing.shapes.PositiveSize2D’>

graphicFrameValues must be of type <class ‘openpyxl.drawing.graphic.GraphicFrame’>

grpSpValues must be of type <class ‘openpyxl.drawing.graphic.GroupShape’>

picValues must be of type <class ‘openpyxl.drawing.graphic.PictureFrame’>

spValues must be of type <class ‘openpyxl.drawing.graphic.Shape’>

tagname = ‘oneCellAnchor’

class openpyxl.drawing.spreadsheet_drawing.SpreadsheetDrawing(twoCellAnchor=(),oneCellAnchor=(),absoluteAnchor=())

Bases: openpyxl.descriptors.serialisable.Serialisable

PartName = ‘/xl/drawings/drawing{0}.xml’

9.1. openpyxl package 219

openpyxl Documentation, Release 2.4.9

absoluteAnchorA sequence (list or tuple) that may only contain objects of the declared type

mime_type = ‘application/vnd.openxmlformats-officedocument.drawing+xml’

oneCellAnchorA sequence (list or tuple) that may only contain objects of the declared type

path

tagname = ‘wsDr’

twoCellAnchorA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor(editAs=None, _from=None,to=None, **kw)

Bases: openpyxl.drawing.spreadsheet_drawing._AnchorBase

clientDataValues must be of type <class ‘openpyxl.drawing.spreadsheet_drawing.AnchorClientData’>

contentPartValues must be of type <type ‘basestring’>

cxnSpValues must be of type <class ‘openpyxl.drawing.graphic.Shape’>

editAsValue must be one of set([’twoCell’, ‘absolute’, ‘oneCell’])

graphicFrameValues must be of type <class ‘openpyxl.drawing.graphic.GraphicFrame’>

grpSpValues must be of type <class ‘openpyxl.drawing.graphic.GroupShape’>

picValues must be of type <class ‘openpyxl.drawing.graphic.PictureFrame’>

spValues must be of type <class ‘openpyxl.drawing.graphic.Shape’>

tagname = ‘twoCellAnchor’

toValues must be of type <class ‘openpyxl.drawing.spreadsheet_drawing.AnchorMarker’>

openpyxl.drawing.text module

class openpyxl.drawing.text.AutonumberBullet(type=None, startAt=None)Bases: openpyxl.descriptors.serialisable.Serialisable

startAtValues must be of type <type ‘long’>

typeValue must be one of set([’alphaUcParenBoth’, ‘thaiNumParenBoth’, ‘hindiNumPeriod’, ‘alphaUcPe-riod’, ‘thaiNumPeriod’, ‘ea1ChsPeriod’, ‘arabicDbPeriod’, ‘thaiAlphaPeriod’, ‘ea1JpnKorPlain’,‘ea1ChtPlain’, ‘romanUcParenBoth’, ‘ea1ChtPeriod’, ‘circleNumDbPlain’, ‘romanLcParenBoth’,‘circleNumWdWhitePlain’, ‘alphaLcParenR’, ‘arabicDbPlain’, ‘ea1ChsPlain’, ‘thaiNumParenR’,‘ea1JpnChsDbPeriod’, ‘hebrew2Minus’, ‘arabicPeriod’, ‘thaiAlphaParenBoth’, ‘arabicParenBoth’,

220 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

‘arabic1Minus’, ‘alphaLcParenBoth’, ‘romanLcPeriod’, ‘hindiAlphaPeriod’, ‘arabicPlain’, ‘hindiAl-pha1Period’, ‘romanUcPeriod’, ‘arabicParenR’, ‘ea1JpnKorPeriod’, ‘romanLcParenR’, ‘alphaLcPeriod’,‘romanUcParenR’, ‘alphaUcParenR’, ‘thaiAlphaParenR’, ‘hindiNumParenR’, ‘arabic2Minus’, ‘cir-cleNumWdBlackPlain’])

class openpyxl.drawing.text.CharacterProperties(kumimoji=None, lang=None, alt-Lang=None, sz=None, b=None, i=None,u=None, strike=None, kern=None,cap=None, spc=None, normalizeH=None,baseline=None, noProof=None,dirty=None, err=None, smtClean=None,smtId=None, bmk=None, ln=None,highlight=None, latin=None, ea=None,cs=None, sym=None, hlinkClick=None,hlinkMouseOver=None, rtl=None,extLst=None, noFill=None, solid-Fill=None, gradFill=None, blip-Fill=None, pattFill=None, grpFill=None,effectLst=None, effectDag=None, uL-nTx=None, uLn=None, uFillTx=None,uFill=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

altLangValues must be of type <type ‘basestring’>

bValues must be of type <type ‘bool’>

baselineValues must be of type <type ‘long’>

blipFillValues must be of type <class ‘openpyxl.drawing.fill.BlipFillProperties’>

bmkValues must be of type <type ‘basestring’>

capValue must be one of set([’small’, ‘all’])

csValues must be of type <class ‘openpyxl.drawing.text.Font’>

dirtyValues must be of type <type ‘bool’>

eaValues must be of type <class ‘openpyxl.drawing.text.Font’>

effectDagValues must be of type <class ‘openpyxl.drawing.effect.EffectContainer’>

effectLstValues must be of type <class ‘openpyxl.drawing.effect.EffectList’>

errValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

9.1. openpyxl package 221

openpyxl Documentation, Release 2.4.9

gradFillValues must be of type <class ‘openpyxl.drawing.fill.GradientFillProperties’>

grpFillValues must be of type <type ‘bool’>

highlightValues must be of type <class ‘openpyxl.styles.colors.Color’>

hlinkClickValues must be of type <class ‘openpyxl.drawing.text.Hyperlink’>

hlinkMouseOverValues must be of type <class ‘openpyxl.drawing.text.Hyperlink’>

iValues must be of type <type ‘bool’>

kernValues must be of type <type ‘long’>

kumimojiValues must be of type <type ‘bool’>

langValues must be of type <type ‘basestring’>

latinValues must be of type <class ‘openpyxl.drawing.text.Font’>

lnValues must be of type <class ‘openpyxl.drawing.line.LineProperties’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

noFillValues must be of type <type ‘bool’>

noProofValues must be of type <type ‘bool’>

normalizeHValues must be of type <type ‘bool’>

pattFillValues must be of type <class ‘openpyxl.drawing.fill.PatternFillProperties’>

rtlValues must be of type <type ‘bool’>

smtCleanValues must be of type <type ‘bool’>

smtIdValues must be of type <type ‘long’>

solidFillValues must be of type <class ‘openpyxl.drawing.colors.ColorChoice’>

spcValues must be of type <type ‘long’>

strikeValue must be one of set([’dblStrike’, ‘sngStrike’, ‘noStrike’])

222 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

symValues must be of type <class ‘openpyxl.drawing.text.Font’>

szValues must be of type <type ‘float’>

tagname = ‘defRPr’

uValue must be one of set([’heavy’, ‘sng’, ‘dotDotDashHeavy’, ‘dbl’, ‘dotted’, ‘dashHeavy’, ‘dottedHeavy’,‘dash’, ‘wavyDbl’, ‘wavy’, ‘dashLongHeavy’, ‘words’, ‘wavyHeavy’, ‘dotDashHeavy’, ‘dashLong’, ‘dot-DotDash’, ‘dotDash’])

uFillValues must be of type <type ‘bool’>

uFillTxValues must be of type <type ‘bool’>

uLnValues must be of type <class ‘openpyxl.drawing.line.LineProperties’>

uLnTxValues must be of type <type ‘bool’>

class openpyxl.drawing.text.EmbeddedWAVAudioFile(name=None)Bases: openpyxl.descriptors.serialisable.Serialisable

nameValues must be of type <class ‘openpyxl.descriptors.base.String’>

class openpyxl.drawing.text.Font(typeface=None, panose=None, pitchFamily=None,charset=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

charsetValues must be of type <class ‘openpyxl.descriptors.base.MinMax’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

panoseValues must be of type <class ‘openpyxl.descriptors.excel.HexBinary’>

pitchFamilyValues must be of type <class ‘openpyxl.descriptors.base.MinMax’>

tagname = ‘latin’

typefaceValues must be of type <type ‘basestring’>

class openpyxl.drawing.text.GeomGuide(name=None, fmla=None)Bases: openpyxl.descriptors.serialisable.Serialisable

fmlaValues must be of type Values must be of type <type ‘basestring’>

nameValues must be of type Values must be of type <type ‘basestring’>

class openpyxl.drawing.text.GeomGuideList(gd=None)Bases: openpyxl.descriptors.serialisable.Serialisable

gdA sequence (list or tuple) that may only contain objects of the declared type

9.1. openpyxl package 223

openpyxl Documentation, Release 2.4.9

class openpyxl.drawing.text.Hyperlink(invalidUrl=None, action=None, tgtFrame=None,tooltip=None, history=None, highlightClick=None,endSnd=None, snd=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

actionValues must be of type <class ‘openpyxl.descriptors.base.String’>

endSndValues must be of type <class ‘openpyxl.descriptors.base.Bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

highlightClickValues must be of type <class ‘openpyxl.descriptors.base.Bool’>

historyValues must be of type <class ‘openpyxl.descriptors.base.Bool’>

invalidUrlValues must be of type <class ‘openpyxl.descriptors.base.String’>

sndValues must be of type <class ‘openpyxl.drawing.text.EmbeddedWAVAudioFile’>

tgtFrameValues must be of type <class ‘openpyxl.descriptors.base.String’>

tooltipValues must be of type <class ‘openpyxl.descriptors.base.String’>

class openpyxl.drawing.text.LineBreak(rPr=None)Bases: openpyxl.descriptors.serialisable.Serialisable

rPrValues must be of type <class ‘openpyxl.drawing.text.CharacterProperties’>

class openpyxl.drawing.text.ListStyle(defPPr=None, lvl1pPr=None, lvl2pPr=None,lvl3pPr=None, lvl4pPr=None, lvl5pPr=None,lvl6pPr=None, lvl7pPr=None, lvl8pPr=None,lvl9pPr=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

defPPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

lvl1pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

lvl2pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

lvl3pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

lvl4pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

lvl5pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

224 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

lvl6pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

lvl7pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

lvl8pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

lvl9pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

tagname = ‘lstStyle’

class openpyxl.drawing.text.Paragraph(pPr=None, endParaRPr=None, r=None, br=None,fld=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

brValues must be of type <class ‘openpyxl.drawing.text.LineBreak’>

endParaRPrValues must be of type <class ‘openpyxl.drawing.text.CharacterProperties’>

fldValues must be of type <class ‘openpyxl.drawing.text.TextField’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

propertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rValues must be of type <class ‘openpyxl.drawing.text.RegularTextRun’>

tagname = ‘p’

textAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.drawing.text.ParagraphProperties(marL=None, marR=None, lvl=None, in-dent=None, algn=None, defTabSz=None,rtl=None, eaLnBrk=None,fontAlgn=None, latinLnBrk=None,hangingPunct=None, lnSpc=None,spcBef=None, spcAft=None,tabLst=None, defRPr=None,extLst=None, buClrTx=None, bu-Clr=None, buSzTx=None, buSzPct=None,buSzPts=None, buFontTx=None,buFont=None, buNone=None,buAutoNum=None, buChar=None,buBlip=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

9.1. openpyxl package 225

openpyxl Documentation, Release 2.4.9

algnValue must be one of set([’thaiDist’, ‘justLow’, ‘dist’, ‘ctr’, ‘just’, ‘l’, ‘r’])

buAutoNumValues must be of type <type ‘bool’>

buBlipValues must be of type <class ‘openpyxl.drawing.fill.Blip’>

buCharValues must be of type <type ‘unicode’>

buClrValues must be of type <class ‘openpyxl.styles.colors.Color’>

buClrTxValues must be of type <type ‘bool’>

buFontValues must be of type <class ‘openpyxl.drawing.text.Font’>

buFontTxValues must be of type <type ‘bool’>

buNoneValues must be of type <type ‘bool’>

buSzPctValues must be of type <type ‘long’>

buSzPtsValues must be of type <type ‘long’>

buSzTxValues must be of type <type ‘bool’>

defRPrValues must be of type <class ‘openpyxl.drawing.text.CharacterProperties’>

defTabSzValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

eaLnBrkValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

fontAlgnValue must be one of set([’auto’, ‘base’, ‘b’, ‘t’, ‘ctr’])

hangingPunctValues must be of type <type ‘bool’>

indentValues must be of type <type ‘long’>

latinLnBrkValues must be of type <type ‘bool’>

lnSpcValues must be of type <class ‘openpyxl.drawing.text.Spacing’>

226 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

lvlValues must be of type <type ‘long’>

marLValues must be of type <type ‘long’>

marRValues must be of type <type ‘long’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

rtlValues must be of type <type ‘bool’>

spcAftValues must be of type <class ‘openpyxl.drawing.text.Spacing’>

spcBefValues must be of type <class ‘openpyxl.drawing.text.Spacing’>

tabLstValues must be of type <class ‘openpyxl.drawing.text.TabStopList’>

tagname = ‘pPr’

class openpyxl.drawing.text.PresetTextShape(prst=None, avLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

avLstValues must be of type <class ‘openpyxl.drawing.text.GeomGuideList’>

prstValues must be of type <openpyxl.descriptors.base.Set object at 0x7fd72ad2abd0>

class openpyxl.drawing.text.RegularTextRun(rPr=None, t=None)Bases: openpyxl.descriptors.serialisable.Serialisable

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

propertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

rPrValues must be of type <class ‘openpyxl.drawing.text.CharacterProperties’>

tValues must be of type <type ‘unicode’>

tagname = ‘r’

valueAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

9.1. openpyxl package 227

openpyxl Documentation, Release 2.4.9

class openpyxl.drawing.text.RichTextProperties(rot=None, spcFirstLastPara=None, ver-tOverflow=None, horzOverflow=None,vert=None, wrap=None, lIns=None,tIns=None, rIns=None, bIns=None, num-Col=None, spcCol=None, rtlCol=None,fromWordArt=None, anchor=None, an-chorCtr=None, forceAA=None, up-right=None, compatLnSpc=None,prstTxWarp=None, scene3d=None,extLst=None, noAutofit=None, normAut-ofit=None, spAutoFit=None, flatTx=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

anchorValue must be one of set([’just’, ‘b’, ‘dist’, ‘t’, ‘ctr’])

anchorCtrValues must be of type <type ‘bool’>

bInsValues must be of type <type ‘long’>

compatLnSpcValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

flatTxValues must be of type <type ‘long’>

forceAAValues must be of type <type ‘bool’>

fromWordArtValues must be of type <type ‘bool’>

horzOverflowValue must be one of set([’overflow’, ‘clip’])

lInsValues must be of type <type ‘long’>

namespace = ‘http://schemas.openxmlformats.org/drawingml/2006/main’

noAutofitValues must be of type <type ‘bool’>

normAutofitValues must be of type <type ‘bool’>

numColValues must be of type <type ‘long’>

prstTxWarpValues must be of type <class ‘openpyxl.drawing.text.PresetTextShape’>

rInsValues must be of type <type ‘long’>

rotValues must be of type <type ‘long’>

228 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

rtlColValues must be of type <type ‘bool’>

scene3dValues must be of type <class ‘openpyxl.drawing.shapes.Scene3D’>

spAutoFitValues must be of type <type ‘bool’>

spcColValues must be of type <type ‘long’>

spcFirstLastParaValues must be of type <type ‘bool’>

tInsValues must be of type <type ‘long’>

tagname = ‘bodyPr’

uprightValues must be of type <type ‘bool’>

vertValue must be one of set([’vert270’, ‘vert’, ‘mongolianVert’, ‘wordArtVertRtl’, ‘eaVert’, ‘horz’, ‘wor-dArtVert’])

vertOverflowValue must be one of set([’ellipsis’, ‘overflow’, ‘clip’])

wrapValue must be one of set([’none’, ‘square’])

class openpyxl.drawing.text.Spacing(spcPct=None, spcPts=None)Bases: openpyxl.descriptors.serialisable.Serialisable

spcPctValues must be of type <type ‘long’>

spcPtsValues must be of type <type ‘long’>

class openpyxl.drawing.text.TabStop(pos=None, algn=None)Bases: openpyxl.descriptors.serialisable.Serialisable

algnValues must be of type <openpyxl.descriptors.base.Set object at 0x7fd72ad22750>

posValues must be of type <class ‘openpyxl.descriptors.base.Integer’>

class openpyxl.drawing.text.TabStopList(tab=None)Bases: openpyxl.descriptors.serialisable.Serialisable

tabValues must be of type <class ‘openpyxl.drawing.text.TabStop’>

class openpyxl.drawing.text.TextField(id=None, type=None, rPr=None, pPr=None, t=None)Bases: openpyxl.descriptors.serialisable.Serialisable

idValues must be of type <type ‘basestring’>

9.1. openpyxl package 229

openpyxl Documentation, Release 2.4.9

pPrValues must be of type <class ‘openpyxl.drawing.text.ParagraphProperties’>

rPrValues must be of type <class ‘openpyxl.drawing.text.CharacterProperties’>

tValues must be of type <class ‘openpyxl.descriptors.base.String’>

typeValues must be of type <type ‘basestring’>

class openpyxl.drawing.text.TextNormalAutofit(fontScale=None, lnSpcReduction=None)Bases: openpyxl.descriptors.serialisable.Serialisable

fontScaleValues must be of type <type ‘long’>

lnSpcReductionValues must be of type <type ‘long’>

Module contents

openpyxl.formatting package

Subpackages

openpyxl.formatting.tests package

Submodules

openpyxl.formatting.tests.conftest module

openpyxl.formatting.tests.conftest.FormatRule()Formatting rule class

openpyxl.formatting.tests.conftest.datadir()DATADIR as a LocalPath

openpyxl.formatting.tests.test_formatting module

class openpyxl.formatting.tests.test_formatting.DummyWorkbook

class openpyxl.formatting.tests.test_formatting.DummyWorksheet

class openpyxl.formatting.tests.test_formatting.TestConditionalFormattingBases: object

setup()

test_conditional_font()Test to verify font style written correctly.

test_conditional_formatting_customRule()

test_write_conditional_formatting()

openpyxl.formatting.tests.test_formatting.test_conditional_formatting_read(datadir)

230 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.formatting.tests.test_rule module

openpyxl.formatting.tests.test_rule.ColorScale()

openpyxl.formatting.tests.test_rule.ColorScaleRule()

openpyxl.formatting.tests.test_rule.DataBar()

openpyxl.formatting.tests.test_rule.FormatObject()

openpyxl.formatting.tests.test_rule.IconSet()

openpyxl.formatting.tests.test_rule.Rule()

class openpyxl.formatting.tests.test_rule.TestColorScale

test_create(ColorScale)

test_serialise(ColorScale, FormatObject)

test_three_colors(ColorScaleRule)

test_two_colors(ColorScaleRule)

class openpyxl.formatting.tests.test_rule.TestDataBar

test_create(DataBar)

test_serialise(DataBar, FormatObject)

class openpyxl.formatting.tests.test_rule.TestFormatObject

test_cell_reference(FormatObject)

test_create(FormatObject)

test_serialise(FormatObject)

test_value_types(FormatObject, typ, value, expected)

class openpyxl.formatting.tests.test_rule.TestIconSet

test_create(IconSet)

test_serialise(IconSet, FormatObject)

class openpyxl.formatting.tests.test_rule.TestRule

test_create(Rule, datadir)

test_non_ascii_formula(Rule)

test_serialise(Rule)

openpyxl.formatting.tests.test_rule.test_cellis_rule()

openpyxl.formatting.tests.test_rule.test_databar_rule()

openpyxl.formatting.tests.test_rule.test_formula_rule()

openpyxl.formatting.tests.test_rule.test_iconset_rule()

openpyxl.formatting.tests.test_rule.test_operator_expansion(value, expansion)

9.1. openpyxl package 231

openpyxl Documentation, Release 2.4.9

Module contents

Submodules

openpyxl.formatting.formatting module

class openpyxl.formatting.formatting.ConditionalFormatting(sqref=None, pivot=None,cfRule=(), extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

cfRuleA sequence (list or tuple) that may only contain objects of the declared type

pivotValues must be of type <type ‘bool’>

rulesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

sqrefValues must be of type <type ‘basestring’>

tagname = ‘conditionalFormatting’

class openpyxl.formatting.formatting.ConditionalFormattingListBases: object

Conditional formatting rules.

add(range_string, cfRule)Add a rule such as ColorScaleRule, FormulaRule or CellIsRule

The priority will be added automatically.

openpyxl.formatting.rule module

openpyxl.formatting.rule.CellIsRule(operator=None, formula=None, stopIfTrue=None,font=None, border=None, fill=None)

Conditional formatting rule based on cell contents.

class openpyxl.formatting.rule.ColorScale(cfvo=None, color=None)Bases: openpyxl.formatting.rule.RuleType

colorA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘colorScale’

openpyxl.formatting.rule.ColorScaleRule(start_type=None, start_value=None,start_color=None, mid_type=None,mid_value=None, mid_color=None,end_type=None, end_value=None,end_color=None)

Backwards compatibility

class openpyxl.formatting.rule.DataBar(minLength=None, maxLength=None, show-Value=None, cfvo=None, color=None)

Bases: openpyxl.formatting.rule.RuleType

232 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

colorValues must be of type <class ‘openpyxl.styles.colors.Color’>

maxLengthValues must be of type <type ‘long’>

minLengthValues must be of type <type ‘long’>

showValueValues must be of type <type ‘bool’>

tagname = ‘dataBar’

openpyxl.formatting.rule.DataBarRule(start_type=None, start_value=None, end_type=None,end_value=None, color=None, showValue=None, min-Length=None, maxLength=None)

class openpyxl.formatting.rule.FormatObject(type, val=None, gte=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

gteValues must be of type <type ‘bool’>

tagname = ‘cfvo’

typeValue must be one of set([’min’, ‘max’, ‘percent’, ‘num’, ‘percentile’, ‘formula’])

valValues must be of type <type ‘float’>

openpyxl.formatting.rule.FormulaRule(formula=None, stopIfTrue=None, font=None, bor-der=None, fill=None)

Conditional formatting with custom differential style

class openpyxl.formatting.rule.IconSet(iconSet=None, showValue=None, percent=None, re-verse=None, cfvo=None)

Bases: openpyxl.formatting.rule.RuleType

iconSetValue must be one of set([‘4RedToBlack’, ‘4TrafficLights’, ‘3ArrowsGray’, ‘4Rating’, ‘3Arrows’,‘3Flags’, ‘4ArrowsGray’, ‘3TrafficLights1’, ‘3TrafficLights2’, ‘3Signs’, ‘5ArrowsGray’, ‘5Rating’,‘3Symbols2’, ‘4Arrows’, ‘5Arrows’, ‘3Symbols’, ‘5Quarters’])

percentValues must be of type <type ‘bool’>

reverseValues must be of type <type ‘bool’>

showValueValues must be of type <type ‘bool’>

tagname = ‘iconSet’

openpyxl.formatting.rule.IconSetRule(icon_style=None, type=None, values=None, show-Value=None, percent=None, reverse=None)

Convenience function for creating icon set rules

9.1. openpyxl package 233

openpyxl Documentation, Release 2.4.9

class openpyxl.formatting.rule.Rule(type, dxfId=None, priority=0, stopIfTrue=None, aboveAver-age=None, percent=None, bottom=None, operator=None,text=None, timePeriod=None, rank=None, stdDev=None,equalAverage=None, formula=(), colorScale=None,dataBar=None, iconSet=None, extLst=None, dxf=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

aboveAverageValues must be of type <type ‘bool’>

bottomValues must be of type <type ‘bool’>

colorScaleValues must be of type <class ‘openpyxl.formatting.rule.ColorScale’>

dataBarValues must be of type <class ‘openpyxl.formatting.rule.DataBar’>

dxfValues must be of type <class ‘openpyxl.styles.differential.DifferentialStyle’>

dxfIdValues must be of type <type ‘long’>

equalAverageValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

formulaA sequence (list or tuple) that may only contain objects of the declared type

iconSetValues must be of type <class ‘openpyxl.formatting.rule.IconSet’>

operatorValue must be one of set([’notEqual’, ‘notBetween’, ‘lessThanOrEqual’, ‘equal’, ‘beginsWith’,‘lessThan’, ‘notContains’, ‘greaterThan’, ‘endsWith’, ‘between’, ‘containsText’, ‘greaterThanOrEqual’])

percentValues must be of type <type ‘bool’>

priorityValues must be of type <type ‘long’>

rankValues must be of type <type ‘long’>

stdDevValues must be of type <type ‘long’>

stopIfTrueValues must be of type <type ‘bool’>

tagname = ‘cfRule’

textValues must be of type <type ‘basestring’>

timePeriodValue must be one of set([’lastMonth’, ‘last7Days’, ‘nextMonth’, ‘thisMonth’, ‘lastWeek’, ‘yesterday’,‘thisWeek’, ‘nextWeek’, ‘tomorrow’, ‘today’])

234 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

typeValue must be one of set([’containsBlanks’, ‘notContainsBlanks’, ‘duplicateValues’, ‘colorScale’,‘dataBar’, ‘cellIs’, ‘top10’, ‘endsWith’, ‘beginsWith’, ‘containsText’, ‘uniqueValues’, ‘notContainsEr-rors’, ‘containsErrors’, ‘aboveAverage’, ‘iconSet’, ‘expression’, ‘timePeriod’, ‘notContainsText’])

class openpyxl.formatting.rule.RuleTypeBases: openpyxl.descriptors.serialisable.Serialisable

cfvoA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.formatting.rule.ValueDescriptor(*args, **kw)Bases: openpyxl.descriptors.base.Float

Expected type depends upon type attribue of parent :-(

Most values should be numeric BUT they can also be cell references

Module contents

openpyxl.formula package

Subpackages

openpyxl.formula.tests package

Submodules

openpyxl.formula.tests.test_tokenizer module

class openpyxl.formula.tests.test_tokenizer.TestTokenBases: object

test_get_closer(tokenizer, token, close_val)

test_init(tokenizer)

test_make_operand(tokenizer, value, subtype)

test_make_separator(tokenizer)

test_make_subexp(tokenizer, value, type_, subtype)

test_make_subexp_func(tokenizer)

class openpyxl.formula.tests.test_tokenizer.TestTokenizerBases: object

i = 9

test_assert_empty_token(tokenizer)

test_check_scientific_notation(tokenizer, formula, offset, token, ret)

test_init(tokenizer)

test_parse(tokenizer, formula, tokens)

test_parse_brackets(tokenizer, formula, offset, result)

test_parse_brackets_error(tokenizer)

9.1. openpyxl package 235

openpyxl Documentation, Release 2.4.9

test_parse_closer(tokenizer, formula, offset, opener)

test_parse_closer_error(tokenizer, formula, offset, opener)

test_parse_error(tokenizer, error)

test_parse_error_error(tokenizer)

test_parse_opener(tokenizer, prefix, char, type_)

test_parse_opener_error(tokenizer)

test_parse_operator(tokenizer, formula, result, type_)

test_parse_separator(tokenizer, formula, offset, opener, type_, subtype)

test_parse_string(tokenizer, formula, offset, result)

test_parse_whitespace(tokenizer, formula)

test_render(tokenizer, formula)

test_save_token(tokenizer)

class openpyxl.formula.tests.test_tokenizer.TestTokenizerRegexesBases: object

test_link_re(tokenizer, string, expected)

test_scientific_re(tokenizer, string, success)

test_string_re(tokenizer, string, expected)

test_whitespace_re(tokenizer, string, expected)

openpyxl.formula.tests.test_tokenizer.tokenizer()

openpyxl.formula.tests.test_translate module

class openpyxl.formula.tests.test_translate.TestTranslatorBases: object

test_cell_ref_re(Translator, test_str, groups)

test_col_range_re(Translator, test_str, groups)

test_get_tokens(Translator, Tokenizer, formula)

test_init(Translator, origin, row, col)

test_row_range_re(Translator, test_str, groups)

test_strip_ws_name(Translator, test_str, value)

test_translate_col(Translator, TranslatorError, test_str, cdelta, value)

test_translate_formula(Translator, formula, origin, dest, result)

test_translate_range(Translator, TranslatorError, test_str, rdelta, cdelta, value)

test_translate_row(Translator, TranslatorError, test_str, rdelta, value)

openpyxl.formula.tests.test_translate.Tokenizer()

openpyxl.formula.tests.test_translate.Translator()

openpyxl.formula.tests.test_translate.TranslatorError()

236 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Module contents

Submodules

openpyxl.formula.tokenizer module

This module contains a tokenizer for Excel formulae.

The tokenizer is based on the Javascript tokenizer found at http://ewbi.blogs.com/develops/2004/12/excel_formula_p.html written by Eric Bachtal

class openpyxl.formula.tokenizer.Token(value, type_, subtype=’‘)Bases: object

A token in an Excel formula.

Tokens have three attributes:

• value: The string value parsed that led to this token

• type: A string identifying the type of token

• subtype: A string identifying subtype of the token (optional, and defaults to “”)

ARG = ‘ARG’

ARRAY = ‘ARRAY’

CLOSE = ‘CLOSE’

ERROR = ‘ERROR’

FUNC = ‘FUNC’

LITERAL = ‘LITERAL’

LOGICAL = ‘LOGICAL’

NUMBER = ‘NUMBER’

OPEN = ‘OPEN’

OPERAND = ‘OPERAND’

OP_IN = ‘OPERATOR-INFIX’

OP_POST = ‘OPERATOR-POSTFIX’

OP_PRE = ‘OPERATOR-PREFIX’

PAREN = ‘PAREN’

RANGE = ‘RANGE’

ROW = ‘ROW’

SEP = ‘SEP’

TEXT = ‘TEXT’

WSPACE = ‘WHITE-SPACE’

get_closer()Return a closing token that matches this token’s type.

classmethod make_operand(value)Create an operand token.

9.1. openpyxl package 237

openpyxl Documentation, Release 2.4.9

classmethod make_separator(value)Create a separator token

classmethod make_subexp(value, func=False)Create a subexpression token.

value: The value of the token func: If True, force the token to be of type FUNC

subtype

type

value

class openpyxl.formula.tokenizer.Tokenizer(formula)Bases: object

A tokenizer for Excel worksheet formulae.

Converts a unicode string representing an Excel formula (in A1 notation) into a sequence of Token objects.

formula: The unicode string to tokenize

Tokenizer defines a method ._parse() to parse the formula into tokens, which can then be accessed through the.items attribute.

ERROR_CODES = (‘#NULL!’, ‘#DIV/0!’, ‘#VALUE!’, ‘#REF!’, ‘#NAME?’, ‘#NUM!’, ‘#N/A’, ‘#GETTING_DATA’)

SN_RE = <_sre.SRE_Pattern object>

STRING_REGEXES = {‘”’: <_sre.SRE_Pattern object>, “”’: <_sre.SRE_Pattern object>}

TOKEN_ENDERS = ‘,;}) +-*/^&=><%’

WSPACE_RE = <_sre.SRE_Pattern object>

assert_empty_token()Ensure that there’s no token currently being parsed.

If there are unconsumed token contents, it means we hit an unexpected token transition. In this case, weraise a TokenizerError

check_scientific_notation()Consumes a + or - character if part of a number in sci. notation.

Returns True if the character was consumed and self.offset was updated, False otherwise.

render()Convert the parsed tokens back to a string.

save_token()If there’s a token being parsed, add it to the item list.

exception openpyxl.formula.tokenizer.TokenizerErrorBases: exceptions.Exception

Base class for all Tokenizer errors.

openpyxl.formula.translate module

class openpyxl.formula.translate.Translator(formula, origin)Bases: object

Modifies a formula so that it can be translated from one cell to another.

238 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

formula: The unicode string to translate. Must include the leading ‘=’ character.

origin: The cell address (in A1 notation) where this formula was defined (excluding the worksheet name).

CELL_REF_RE = <_sre.SRE_Pattern object>

COL_RANGE_RE = <_sre.SRE_Pattern object>

ROW_RANGE_RE = <_sre.SRE_Pattern object>

get_tokens()Returns a list with the tokens comprising the formula.

static strip_ws_name(range_str)Splits out the worksheet reference, if any, from a range reference.

static translate_col(col_str, cdelta)Translate a range col-snippet by the given number of columns

translate_formula(dest)Convert the formula into A1 notation.

The formula is converted into A1 assuming it is assigned to the cell whose address is dest (no worksheetname).

classmethod translate_range(range_str, rdelta, cdelta)Translate an A1-style range reference to the destination cell.

rdelta: the row offset to add to the range cdelta: the column offset to add to the range range_str: anA1-style reference to a range. Potentially includes

the worksheet reference. Could also be a named range.

static translate_row(row_str, rdelta)Translate a range row-snippet by the given number of rows.

exception openpyxl.formula.translate.TranslatorErrorBases: exceptions.Exception

Raised when a formula can’t be translated across cells.

This error arises when a formula’s references would be translated outside the worksheet’s bounds on the top orleft. Excel represents these situations with a #REF! literal error. E.g., if the formula at B2 is ‘=A1’, attemptingto translate the formula to B1 raises TranslatorError, since there’s no cell above A1. Similarly, translating thesame formula from B2 to A2 raises TranslatorError, since there’s no cell to the left of A1.

Module contents

openpyxl.packaging package

Subpackages

openpyxl.packaging.tests package

Submodules

openpyxl.packaging.tests.conftest module

openpyxl.packaging.tests.conftest.datadir()DATADIR as a LocalPath

9.1. openpyxl package 239

openpyxl Documentation, Release 2.4.9

openpyxl.packaging.tests.test_core module

openpyxl.packaging.tests.test_core.SampleProperties()

openpyxl.packaging.tests.test_core.test_ctor(SampleProperties)

openpyxl.packaging.tests.test_core.test_from_tree(datadir, SampleProperties)

openpyxl.packaging.tests.test_core.test_qualified_datetime()

openpyxl.packaging.tests.test_extended module

openpyxl.packaging.tests.test_extended.ExtendedProperties()

class openpyxl.packaging.tests.test_extended.TestExtendedProperties

test_ctor(ExtendedProperties)

test_from_xml(ExtendedProperties)

openpyxl.packaging.tests.test_interface module

openpyxl.packaging.tests.test_interface.test_interface()

openpyxl.packaging.tests.test_manifest module

openpyxl.packaging.tests.test_manifest.FileExtension()

openpyxl.packaging.tests.test_manifest.Manifest()

openpyxl.packaging.tests.test_manifest.Override()

class openpyxl.packaging.tests.test_manifest.TestFileExtension

test_ctor(FileExtension)

test_from_xml(FileExtension)

class openpyxl.packaging.tests.test_manifest.TestManifest

test_append(Manifest)

test_ctor(Manifest)

test_exts(datadir, Manifest)

test_filenames(datadir, Manifest)

test_from_xml(datadir, Manifest)

test_media(Manifest, file, registration)

test_no_defaults(datadir, Manifest)LibreOffice does not use the Default element

test_no_dupe_overrides(Manifest)

test_no_dupe_types(Manifest)

240 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_vba(datadir, Manifest)

test_write(Manifest)

class openpyxl.packaging.tests.test_manifest.TestOverride

test_ctor(Override)

test_from_xml(Override)

openpyxl.packaging.tests.test_relationship module

openpyxl.packaging.tests.test_relationship.Relationship()

openpyxl.packaging.tests.test_relationship.test_ctor(Relationship)

openpyxl.packaging.tests.test_relationship.test_get_dependents(datadir, file-name, ex-pected)

openpyxl.packaging.tests.test_relationship.test_get_external_link(datadir)

openpyxl.packaging.tests.test_relationship.test_read()

openpyxl.packaging.tests.test_relationship.test_sequence(Relationship)

openpyxl.packaging.tests.test_workbook module

class openpyxl.packaging.tests.test_workbook.TestWorkbookParser

test_assign_names(datadir, WorkbookParser)

test_broken_sheet_ref(datadir, recwarn, WorkbookParser)

test_ctor(datadir, WorkbookParser)

test_find_sheets(datadir, WorkbookParser)

test_no_links(datadir, WorkbookParser)

test_parse_calendar(datadir, WorkbookParser)

test_workbook_security(datadir, WorkbookParser)

openpyxl.packaging.tests.test_workbook.WorkbookParser()

9.1. openpyxl package 241

openpyxl Documentation, Release 2.4.9

Module contents

Submodules

openpyxl.packaging.core module

class openpyxl.packaging.core.DocumentProperties(category=None, contentSta-tus=None, keywords=None, last-ModifiedBy=None, lastPrinted=None,revision=None, version=None, cre-ated=datetime.datetime(2017, 11,18, 14, 18, 34, 195633), cre-ator=’openpyxl’, description=None,identifier=None, language=None, mod-ified=datetime.datetime(2017, 11, 18,14, 18, 34, 195675), subject=None,title=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

High-level properties of the document. Defined in ECMA-376 Par2 Annex D

categoryValues must be of type <type ‘unicode’>

contentStatusValues must be of type <type ‘unicode’>

createdValues must be of type <type ‘datetime.datetime’>

creatorValues must be of type <type ‘unicode’>

descriptionValues must be of type <type ‘unicode’>

identifierValues must be of type <type ‘unicode’>

keywordsValues must be of type <type ‘unicode’>

languageValues must be of type <type ‘unicode’>

lastModifiedByValues must be of type <type ‘unicode’>

lastPrintedValues must be of type <type ‘datetime.datetime’>

last_modified_byAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

modifiedValues must be of type <type ‘datetime.datetime’>

namespace = ‘http://schemas.openxmlformats.org/package/2006/metadata/core-properties’

242 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

revisionValues must be of type <type ‘unicode’>

subjectValues must be of type <type ‘unicode’>

tagname = ‘coreProperties’

titleValues must be of type <type ‘unicode’>

versionValues must be of type <type ‘unicode’>

class openpyxl.packaging.core.NestedDateTime(*args, **kw)Bases: openpyxl.descriptors.base.DateTime, openpyxl.descriptors.nested.NestedText

expected_typealias of datetime

to_tree(tagname=None, value=None, namespace=None)

class openpyxl.packaging.core.QualifiedDateTime(*args, **kw)Bases: openpyxl.packaging.core.NestedDateTime

In certain situations Excel will complain if the additional type attribute isn’t set

to_tree(tagname=None, value=None, namespace=None)

openpyxl.packaging.extended module

class openpyxl.packaging.extended.DigSigBlobBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.packaging.extended.ExtendedProperties(Template=None, Manager=None,Company=None, Pages=None,Words=None, Characters=None,PresentationFormat=None,Lines=None, Paragraphs=None,Slides=None, Notes=None,TotalTime=None, Hid-denSlides=None, MMClips=None,ScaleCrop=None, Heading-Pairs=None, TitlesOfParts=None,LinksUpToDate=None, Char-actersWithSpaces=None,SharedDoc=None, Hyper-linkBase=None, HLinks=None,HyperlinksChanged=None,DigSig=None, Applica-tion=’Microsoft Excel’, AppVer-sion=u‘2.4’, DocSecurity=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

See 22.2

Most of this is irrelevant

9.1. openpyxl package 243

openpyxl Documentation, Release 2.4.9

AppVersionValues must be of type <type ‘unicode’>

ApplicationValues must be of type <type ‘unicode’>

CharactersValues must be of type <type ‘int’>

CharactersWithSpacesValues must be of type <type ‘int’>

CompanyValues must be of type <type ‘unicode’>

DigSigValues must be of type <class ‘openpyxl.packaging.extended.DigSigBlob’>

DocSecurityValues must be of type <type ‘int’>

HLinksValues must be of type <class ‘openpyxl.packaging.extended.VectorVariant’>

HeadingPairsValues must be of type <class ‘openpyxl.packaging.extended.VectorVariant’>

HiddenSlidesValues must be of type <type ‘int’>

HyperlinkBaseValues must be of type <type ‘unicode’>

HyperlinksChangedValues must be of type <type ‘bool’>

LinesValues must be of type <type ‘int’>

LinksUpToDateValues must be of type <type ‘bool’>

MMClipsValues must be of type <type ‘int’>

ManagerValues must be of type <type ‘unicode’>

NotesValues must be of type <type ‘int’>

PagesValues must be of type <type ‘int’>

ParagraphsValues must be of type <type ‘int’>

PresentationFormatValues must be of type <type ‘unicode’>

ScaleCropValues must be of type <type ‘bool’>

244 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

SharedDocValues must be of type <type ‘bool’>

SlidesValues must be of type <type ‘int’>

TemplateValues must be of type <type ‘unicode’>

TitlesOfPartsValues must be of type <class ‘openpyxl.packaging.extended.VectorLpstr’>

TotalTimeValues must be of type <type ‘int’>

WordsValues must be of type <type ‘int’>

tagname = ‘Properties’

to_tree()

class openpyxl.packaging.extended.VectorLpstrBases: openpyxl.descriptors.serialisable.Serialisable

class openpyxl.packaging.extended.VectorVariantBases: openpyxl.descriptors.serialisable.Serialisable

openpyxl.packaging.interface module

class openpyxl.packaging.interface.ISerialisableFileBases: abc.ABC

Interface for Serialisable classes that represent files in the archive

idObject id making it unique

openpyxl.packaging.manifest module

class openpyxl.packaging.manifest.FileExtension(Extension, ContentType)Bases: openpyxl.descriptors.serialisable.Serialisable

ContentTypeValues must be of type <type ‘basestring’>

ExtensionValues must be of type <type ‘basestring’>

tagname = ‘Default’

class openpyxl.packaging.manifest.Manifest(Default=(), Override=())Bases: openpyxl.descriptors.serialisable.Serialisable

DefaultA sequence (list or tuple) that may only contain objects of the declared type

OverrideA sequence (list or tuple) that may only contain objects of the declared type

9.1. openpyxl package 245

openpyxl Documentation, Release 2.4.9

append(obj)Add content object to the package manifest # needs a contract...

extensionsMap content types to file extensions Skip parts without extensions

filenames

find(content_type)Find specific content-type

path = ‘[Content_Types].xml’

tagname = ‘Types’

to_tree()Custom serialisation method to allow setting a default namespace

class openpyxl.packaging.manifest.Override(PartName, ContentType)Bases: openpyxl.descriptors.serialisable.Serialisable

ContentTypeValues must be of type <type ‘basestring’>

PartNameValues must be of type <type ‘basestring’>

tagname = ‘Override’

openpyxl.packaging.relationship module

class openpyxl.packaging.relationship.Relationship(Id=None, Type=None, type=None,Target=None, TargetMode=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Represents many kinds of relationships.

IdValues must be of type <type ‘basestring’>

TargetValues must be of type <type ‘basestring’>

TargetModeValues must be of type <type ‘basestring’>

TypeValues must be of type <type ‘basestring’>

idAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘Relationship’

targetAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.packaging.relationship.RelationshipList(Relationship=())Bases: openpyxl.descriptors.serialisable.Serialisable

246 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

RelationshipA sequence (list or tuple) that may only contain objects of the declared type

append(value)

find(content_type)Find relationships by content-type NB. these content-types namespaced objects and different to the MIME-types in the package manifest :-(

tagname = ‘Relationships’

to_tree()

openpyxl.packaging.relationship.get_dependents(archive, filename)Normalise dependency file paths to absolute ones

Relative paths are relative to parent object

openpyxl.packaging.relationship.get_rels_path(path)Convert relative path to absolutes that can be loaded from a zip archive. The path to be passed in is that ofcontaining object (workbook, worksheet, etc.)

openpyxl.packaging.workbook module

class openpyxl.packaging.workbook.WorkbookParser(archive, workbook_part_name)

assign_names()Bind reserved names to parsed worksheets

find_sheets()Find all sheets in the workbook and return the link to the source file.

Older XLSM files sometimes contain invalid sheet elements. Warn user when these are removed.

parse()

rels

Module contents

Stuff related to Office OpenXML packaging: relationships, archive, content types.

openpyxl.reader package

Subpackages

openpyxl.reader.tests package

Submodules

openpyxl.reader.tests.conftest module

openpyxl.reader.tests.conftest.datadir()DATADIR as a LocalPath

9.1. openpyxl package 247

openpyxl Documentation, Release 2.4.9

openpyxl.reader.tests.test_excel module

openpyxl.reader.tests.test_excel.load_workbook()

openpyxl.reader.tests.test_excel.test_close_read(datadir, load_workbook, ro)

openpyxl.reader.tests.test_excel.test_close_write(wo)

openpyxl.reader.tests.test_excel.test_find_standard_workbook_part(datadir,wb_type,wb_name)

openpyxl.reader.tests.test_excel.test_invalid_file_extension(extension,load_workbook)

openpyxl.reader.tests.test_excel.test_load_workbook_from_fileobj(datadir,load_workbook)

can a workbook be loaded from a file object without exceptions This tests for regressions of https://bitbucket.org/openpyxl/openpyxl/issue/433

openpyxl.reader.tests.test_excel.test_load_workbook_with_vba(datadir,load_workbook)

openpyxl.reader.tests.test_excel.test_no_external_links(datadir, load_workbook)

openpyxl.reader.tests.test_excel.test_no_workbook()

openpyxl.reader.tests.test_excel.test_overwritten_default()

openpyxl.reader.tests.test_excel.test_read_empty_file(datadir, load_workbook)

openpyxl.reader.tests.test_excel.test_read_stringio(load_workbook)

openpyxl.reader.tests.test_excel.test_repair_central_directory()

openpyxl.reader.tests.test_excel.test_style_assignment(datadir, load_workbook)

openpyxl.reader.tests.test_strings module

openpyxl.reader.tests.test_strings.test_empty_string(datadir)

openpyxl.reader.tests.test_strings.test_formatted_string_table(datadir)

openpyxl.reader.tests.test_strings.test_read_string_table(datadir)

openpyxl.reader.tests.test_style module

openpyxl.reader.tests.test_style.test_read_complex_style(datadir)

openpyxl.reader.tests.test_worksheet module

openpyxl.reader.tests.test_worksheet.Translator()

openpyxl.reader.tests.test_worksheet.WorkSheetParser(Workbook)Setup a parser instance with an empty source

openpyxl.reader.tests.test_worksheet.WorkSheetParserKeepVBA(Workbook)Setup a parser instance with an empty source

openpyxl.reader.tests.test_worksheet.Workbook()

248 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.reader.tests.test_worksheet.test_auto_filter(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_boolean(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_cell_exotic_style(WorkSheetParser,datadir)

openpyxl.reader.tests.test_worksheet.test_cell_style(WorkSheetParser, datadir)

openpyxl.reader.tests.test_worksheet.test_cell_without_coordinates(WorkSheetParser,datadir)

openpyxl.reader.tests.test_worksheet.test_col_width(datadir, WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_conditonal_formatting(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_extended_conditional_formatting(WorkSheetParser,datadir,recwarn)

openpyxl.reader.tests.test_worksheet.test_external_hyperlinks(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_formula(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_formula_data_only(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_formula_without_value(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_get_xml_iter()

openpyxl.reader.tests.test_worksheet.test_hidden_col(datadir, WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_hidden_row(datadir, WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_inline_richtext(WorkSheetParser,datadir)

openpyxl.reader.tests.test_worksheet.test_inline_string(WorkSheetParser,datadir)

openpyxl.reader.tests.test_worksheet.test_legacy_document_keep(WorkSheetParserKeepVBA,datadir)

openpyxl.reader.tests.test_worksheet.test_legacy_document_no_keep(WorkSheetParser,datadir)

openpyxl.reader.tests.test_worksheet.test_legacy_drawing(datadir)

openpyxl.reader.tests.test_worksheet.test_local_hyperlinks(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_merge_cells(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_number(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_page_break(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_row_dimensions(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_shared_formula(WorkSheetParser, Trans-lator)

openpyxl.reader.tests.test_worksheet.test_shared_formulae(WorkSheetParser,datadir)

openpyxl.reader.tests.test_worksheet.test_sheet_format(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_sheet_properties(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_sheet_protection(datadir, WorkSheet-Parser)

9.1. openpyxl package 249

openpyxl Documentation, Release 2.4.9

openpyxl.reader.tests.test_worksheet.test_sheet_views(WorkSheetParser, datadir)

openpyxl.reader.tests.test_worksheet.test_sort_state(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_string(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_string_formula_data_only(WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_styled_col(datadir, WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_styled_row(datadir, WorkSheetParser)

openpyxl.reader.tests.test_worksheet.test_tables(WorkSheetParser)

Module contents

Submodules

openpyxl.reader.excel module

openpyxl.reader.excel.load_workbook(filename, read_only=False, keep_vba=False,data_only=False, guess_types=False, keep_links=True)

Open the given filename and return the workbook

Parameters

• filename (string or a file-like object open in binary mode c.f., zipfile.ZipFile) –the path to open or a file-like object

• read_only (bool) – optimised for reading, content cannot be edited

• keep_vba (bool) – preseve vba content (this does NOT mean you can use it)

• guess_types (bool) – guess cell content type and do not read it from the file

• data_only (bool) – controls whether cells with formulae have either the formula (de-fault) or the value stored the last time Excel read the sheet

• keep_links (bool) – whether links to external workbooks should be preserved. Thedefault is True

Return type openpyxl.workbook.Workbook

Note: When using lazy load, all worksheets will be openpyxl.worksheet.iter_worksheet.IterableWorksheet and the returned workbook will be read-only.

openpyxl.reader.excel.repair_central_directory(zipFile, is_file_instance)trims trailing data from the central directory code taken from http://stackoverflow.com/a/7457686/570216, cour-tesy of Uri Cohen

openpyxl.reader.strings module

openpyxl.reader.strings.read_string_table(xml_source)Read in all shared strings in the table

250 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.reader.worksheet module

class openpyxl.reader.worksheet.WorkSheetParser(ws, xml_source, shared_strings)Bases: object

CELL_TAG = ‘{http://schemas.openxmlformats.org/spreadsheetml/2006/main}c’

FORMULA_TAG = ‘{http://schemas.openxmlformats.org/spreadsheetml/2006/main}f’

INLINE_STRING = ‘{http://schemas.openxmlformats.org/spreadsheetml/2006/main}is’

MERGE_TAG = ‘{http://schemas.openxmlformats.org/spreadsheetml/2006/main}mergeCell’

VALUE_TAG = ‘{http://schemas.openxmlformats.org/spreadsheetml/2006/main}v’

parse()

parse_cell(element)

parse_column_dimensions(col)

parse_extensions(element)

parse_hyperlinks(element)

parse_legacy_drawing(element)

parse_merge(element)

parse_row(row)

parse_sheet_protection(element)

parse_tables(element)

parser_conditional_formatting(element)

Module contents

openpyxl.styles package

Subpackages

openpyxl.styles.tests package

Submodules

openpyxl.styles.tests.conftest module

openpyxl.styles.tests.conftest.FormatRule()Formatting rule class

openpyxl.styles.tests.conftest.datadir()DATADIR as a LocalPath

9.1. openpyxl package 251

openpyxl Documentation, Release 2.4.9

openpyxl.styles.tests.test_alignments module

openpyxl.styles.tests.test_alignments.Alignment()

openpyxl.styles.tests.test_alignments.test_alias(Alignment)

openpyxl.styles.tests.test_alignments.test_default(Alignment)

openpyxl.styles.tests.test_alignments.test_round_trip(Alignment)

openpyxl.styles.tests.test_borders module

openpyxl.styles.tests.test_borders.Border()

openpyxl.styles.tests.test_borders.Side()

class openpyxl.styles.tests.test_borders.TestBorder

test_create(Border)

test_serialise(Border, Side)

openpyxl.styles.tests.test_cell_style module

openpyxl.styles.tests.test_cell_style.CellStyle()

openpyxl.styles.tests.test_cell_style.CellStyleList()

openpyxl.styles.tests.test_cell_style.StyleArray()

class openpyxl.styles.tests.test_cell_style.TestCellStyle

test_ctor(CellStyle)

test_from_array(CellStyle)

test_from_xml(CellStyle)

test_to_array(CellStyle)

class openpyxl.styles.tests.test_cell_style.TestCellStyleList

test_ctor(CellStyleList)

test_from_xml(CellStyleList)

test_to_array(CellStyleList)

class openpyxl.styles.tests.test_cell_style.TestStyleArray

test_copy(StyleArray)

test_ctor(StyleArray)

test_hash(StyleArray)

252 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.styles.tests.test_colors module

class openpyxl.styles.tests.test_colors.TestColor

test_auto()

test_ctor()

test_highlander()

test_indexed()

test_rgb()

test_theme()

test_tint()

test_validation()

openpyxl.styles.tests.test_colors.test_argb(value)

openpyxl.styles.tests.test_colors.test_color_descriptor()

openpyxl.styles.tests.test_differential module

openpyxl.styles.tests.test_differential.DifferentialStyle()

openpyxl.styles.tests.test_differential.test_parse(DifferentialStyle, datadir)

openpyxl.styles.tests.test_differential.test_serialise(DifferentialStyle)

openpyxl.styles.tests.test_fills module

openpyxl.styles.tests.test_fills.GradientFill()

openpyxl.styles.tests.test_fills.PatternFill()

class openpyxl.styles.tests.test_fills.TestGradientFill

test_create(GradientFill)

test_ctor(GradientFill)

test_dict_interface(GradientFill)

test_empty_ctor(GradientFill)

test_sequence(GradientFill, colors)

test_serialise(GradientFill)

class openpyxl.styles.tests.test_fills.TestPatternFill

test_create(PatternFill, src, args)

test_ctor(PatternFill)

test_dict_interface(PatternFill)

test_serialise(PatternFill)

9.1. openpyxl package 253

openpyxl Documentation, Release 2.4.9

openpyxl.styles.tests.test_fills.test_create_empty_fill()

openpyxl.styles.tests.test_fonts module

openpyxl.styles.tests.test_fonts.Font()

class openpyxl.styles.tests.test_fonts.TestFont

test_create(Font)

test_ctor(Font)

test_nested_empty(Font)

test_serialise()

openpyxl.styles.tests.test_named_style module

openpyxl.styles.tests.test_named_style.NamedStyle()

openpyxl.styles.tests.test_named_style.NamedStyleList()

class openpyxl.styles.tests.test_named_style.TestNamedCellStyle

test_ctor(_NamedCellStyle)

test_from_xml(_NamedCellStyle)

class openpyxl.styles.tests.test_named_style.TestNamedCellStyleList

test_ctor(_NamedCellStyleList)

test_from_xml(_NamedCellStyleList)

test_styles(_NamedCellStyleList)

class openpyxl.styles.tests.test_named_style.TestNamedStyle

test_as_name(NamedStyle, _NamedCellStyle)

test_as_tuple(NamedStyle)

test_as_xf(NamedStyle)

test_bind(NamedStyle)

test_ctor(NamedStyle)

test_dict(NamedStyle)

test_recalculate(NamedStyle, attr, key, collection, expected)

class openpyxl.styles.tests.test_named_style.TestNamedStyleList

test_append_invalid(NamedStyleList)

test_append_valid(NamedStyle, NamedStyleList)

test_duplicate(NamedStyleList, NamedStyle)

254 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_idx(NamedStyleList, NamedStyle)

test_key(NamedStyleList, NamedStyle)

test_key_error(NamedStyleList)

test_names(NamedStyleList, NamedStyle)

openpyxl.styles.tests.test_number_style module

openpyxl.styles.tests.test_number_style.test_builtin_format()

openpyxl.styles.tests.test_number_style.test_datetime_regex(fmt, result)

openpyxl.styles.tests.test_number_style.test_is_date_format(format, result)

openpyxl.styles.tests.test_number_style.test_number_descriptor()

openpyxl.styles.tests.test_protection module

openpyxl.styles.tests.test_protection.Protection()

openpyxl.styles.tests.test_protection.test_default(Protection)

openpyxl.styles.tests.test_protection.test_round_trip(Protection)

openpyxl.styles.tests.test_proxy module

openpyxl.styles.tests.test_proxy.dummy_object()

openpyxl.styles.tests.test_proxy.proxy(dummy_object)

openpyxl.styles.tests.test_proxy.test_add(dummy_object)

openpyxl.styles.tests.test_proxy.test_copy(proxy)

openpyxl.styles.tests.test_proxy.test_ctor(proxy)

openpyxl.styles.tests.test_proxy.test_non_writable(proxy)

openpyxl.styles.tests.test_proxy.test_repr(proxy)

openpyxl.styles.tests.test_styleable module

openpyxl.styles.tests.test_styleable.StyleableObject(Worksheet)

class openpyxl.styles.tests.test_styleable.TestNamedStyle

test_assign_name(StyleableObject)

test_assign_style(StyleableObject)

test_builtin(StyleableObject)

test_copy_not_share(StyleableObject)

test_read(StyleableObject)

test_unknown_style(StyleableObject)

9.1. openpyxl package 255

openpyxl Documentation, Release 2.4.9

openpyxl.styles.tests.test_styleable.Workbook()

openpyxl.styles.tests.test_styleable.Worksheet(Workbook)

openpyxl.styles.tests.test_styleable.test_descriptor(Worksheet)

openpyxl.styles.tests.test_styleable.test_has_style(StyleableObject)

openpyxl.styles.tests.test_stylesheet module

openpyxl.styles.tests.test_stylesheet.Stylesheet()

class openpyxl.styles.tests.test_stylesheet.TestStylesheet

test_alignment(datadir, Stylesheet)

test_assign_number_formats(Stylesheet)

test_ctor(Stylesheet)

test_custom_number_formats(Stylesheet, datadir)

test_from_complex(Stylesheet, datadir)

test_from_simple(Stylesheet, datadir)

test_merge_named_styles(Stylesheet, datadir)

test_named_styles(datadir, Stylesheet)

test_none_values(datadir, Stylesheet)

test_read_cell_style(datadir, Stylesheet)

test_read_xf_no_number_format(datadir, Stylesheet)

test_rgb_colors(Stylesheet, datadir)

test_split_named_styles(Stylesheet)

test_unprotected_cell(Stylesheet, datadir)

openpyxl.styles.tests.test_stylesheet.test_no_styles()

openpyxl.styles.tests.test_stylesheet.test_simple_styles(datadir)

openpyxl.styles.tests.test_stylesheet.test_write_worksheet(Stylesheet)

openpyxl.styles.tests.test_table module

openpyxl.styles.tests.test_table.TableStyle()

openpyxl.styles.tests.test_table.TableStyleElement()

openpyxl.styles.tests.test_table.TableStyleList()

class openpyxl.styles.tests.test_table.TestTableStyle

test_ctor(TableStyle)

test_from_xml(TableStyle)

256 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.styles.tests.test_table.TestTableStyleElement

test_ctor(TableStyleElement)

test_from_xml(TableStyleElement)

class openpyxl.styles.tests.test_table.TestTableStyleList

test_ctor(TableStyleList)

test_from_xml(TableStyleList)

Module contents

Submodules

openpyxl.styles.alignment module

class openpyxl.styles.alignment.Alignment(horizontal=None, vertical=None, textRotation=0,wrapText=None, shrinkToFit=None, indent=0,relativeIndent=0, justifyLastLine=None, readin-gOrder=0, text_rotation=None, wrap_text=None,shrink_to_fit=None, mergeCell=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Alignment options for use in styles.

horizontalValue must be one of set([’right’, ‘center’, ‘centerContinuous’, ‘distributed’, ‘general’, ‘left’, ‘justify’,‘fill’])

indentValues must be of type <type ‘float’>

justifyLastLineValues must be of type <type ‘bool’>

readingOrderValues must be of type <type ‘float’>

relativeIndentValues must be of type <type ‘float’>

shrinkToFitValues must be of type <type ‘bool’>

shrink_to_fitAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘alignment’

textRotationValue must be one of set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,

9.1. openpyxl package 257

openpyxl Documentation, Release 2.4.9

127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180])

text_rotationAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

verticalValue must be one of set([’top’, ‘justify’, ‘distributed’, ‘center’, ‘bottom’])

wrapTextValues must be of type <type ‘bool’>

wrap_textAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

openpyxl.styles.borders module

class openpyxl.styles.borders.Border(left=<openpyxl.styles.borders.Side object>Parameters: style=None, color=None,right=<openpyxl.styles.borders.Side ob-ject> Parameters: style=None, color=None,top=<openpyxl.styles.borders.Side object> Pa-rameters: style=None, color=None, bot-tom=<openpyxl.styles.borders.Side object> Pa-rameters: style=None, color=None, diago-nal=<openpyxl.styles.borders.Side object> Parameters:style=None, color=None, diagonal_direction=None, ver-tical=None, horizontal=None, diagonalUp=False, diago-nalDown=False, outline=True, start=None, end=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Border positioning for use in styles.

bottomValues must be of type <class ‘openpyxl.styles.borders.Side’>

diagonalValues must be of type <class ‘openpyxl.styles.borders.Side’>

diagonalDownValues must be of type <type ‘bool’>

diagonalUpValues must be of type <type ‘bool’>

endValues must be of type <class ‘openpyxl.styles.borders.Side’>

horizontalValues must be of type <class ‘openpyxl.styles.borders.Side’>

leftValues must be of type <class ‘openpyxl.styles.borders.Side’>

outlineValues must be of type <type ‘bool’>

258 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

rightValues must be of type <class ‘openpyxl.styles.borders.Side’>

startValues must be of type <class ‘openpyxl.styles.borders.Side’>

tagname = ‘border’

topValues must be of type <class ‘openpyxl.styles.borders.Side’>

verticalValues must be of type <class ‘openpyxl.styles.borders.Side’>

class openpyxl.styles.borders.Side(style=None, color=None, border_style=None)Bases: openpyxl.descriptors.serialisable.Serialisable

Border options for use in styles. Caution: if you do not specify a border_style, other attributes will have noeffect !

border_styleAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

colorValues must be of type <class ‘openpyxl.styles.colors.Color’>

styleValue must be one of set([’hair’, ‘medium’, ‘dashDot’, ‘dotted’, ‘mediumDashDot’, ‘dashed’, ‘medium-Dashed’, ‘mediumDashDotDot’, ‘dashDotDot’, ‘slantDashDot’, ‘double’, ‘thick’, ‘thin’])

openpyxl.styles.builtins module

openpyxl.styles.cell_style module

class openpyxl.styles.cell_style.ArrayDescriptor(key)Bases: object

class openpyxl.styles.cell_style.CellStyle(numFmtId=0, fontId=0, fillId=0, borderId=0,xfId=None, quotePrefix=None, pivotBut-ton=None, applyNumberFormat=None, ap-plyFont=None, applyFill=None, applyBor-der=None, applyAlignment=None, applyProtec-tion=None, alignment=None, protection=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

alignmentValues must be of type <class ‘openpyxl.styles.alignment.Alignment’>

applyAlignment

applyBorderValues must be of type <type ‘bool’>

applyFillValues must be of type <type ‘bool’>

applyFontValues must be of type <type ‘bool’>

9.1. openpyxl package 259

openpyxl Documentation, Release 2.4.9

applyNumberFormatValues must be of type <type ‘bool’>

applyProtection

borderIdValues must be of type <type ‘long’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

fillIdValues must be of type <type ‘long’>

fontIdValues must be of type <type ‘long’>

classmethod from_array(style)Convert from StyleArray

numFmtIdValues must be of type <type ‘long’>

pivotButtonValues must be of type <type ‘bool’>

protectionValues must be of type <class ‘openpyxl.styles.protection.Protection’>

quotePrefixValues must be of type <type ‘bool’>

tagname = ‘xf’

to_array()Convert to StyleArray

xfIdValues must be of type <type ‘long’>

class openpyxl.styles.cell_style.CellStyleList(count=None, xf=())Bases: openpyxl.descriptors.serialisable.Serialisable

alignmentA sequence (list or tuple) that may only contain objects of the declared type

count

protectionA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘cellXfs’

xfA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.styles.cell_style.StyleArrayBases: array.array

Simplified named tuple with an array

alignmentId

borderId

fillId

260 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

fontId

numFmtId

pivotButton

protectionId

quotePrefix

tagname = ‘xf’

xfId

openpyxl.styles.colors module

class openpyxl.styles.colors.Color(rgb=‘00000000’, indexed=None, auto=None, theme=None,tint=0.0, index=None, type=’rgb’)

Bases: openpyxl.descriptors.serialisable.Serialisable

Named colors for use in styles.

autoValues must be of type <type ‘bool’>

index

indexedValues must be of type <type ‘long’>

rgbValues must be of type <type ‘basestring’>

tagname = ‘color’

themeValues must be of type <type ‘long’>

tintValues must be of type <type ‘float’>

typeValues must be of type <type ‘basestring’>

value

class openpyxl.styles.colors.ColorDescriptor(*args, **kw)Bases: openpyxl.descriptors.base.Typed

expected_typealias of Color

class openpyxl.styles.colors.ColorList(indexedColors=None, mruColors=None)Bases: openpyxl.descriptors.serialisable.Serialisable

index

indexedColorsValues must be of type <class ‘openpyxl.styles.colors.IndexedColorList’>

mruColorsValues must be of type <class ‘openpyxl.styles.colors.MRUColorList’>

class openpyxl.styles.colors.IndexedColorList(rgbColor=())Bases: openpyxl.descriptors.serialisable.Serialisable

9.1. openpyxl package 261

openpyxl Documentation, Release 2.4.9

rgbColorA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.styles.colors.MRUColorList(color=None)Bases: openpyxl.descriptors.serialisable.Serialisable

colorA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.styles.colors.RGB(*args, **kw)Bases: openpyxl.descriptors.base.Typed

Descriptor for aRGB values If not supplied alpha is 00

expected_typealias of basestring

class openpyxl.styles.colors.RgbColor(rgb=None)Bases: openpyxl.descriptors.serialisable.Serialisable

rgb

openpyxl.styles.differential module

class openpyxl.styles.differential.DifferentialStyle(font=None, numFmt=None,fill=None, alignment=None,border=None, protection=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

alignmentValues must be of type <class ‘openpyxl.styles.alignment.Alignment’>

borderValues must be of type <class ‘openpyxl.styles.borders.Border’>

fillValues must be of type <class ‘openpyxl.styles.fills.Fill’>

fontValues must be of type <class ‘openpyxl.styles.fonts.Font’>

numFmtValues must be of type <class ‘openpyxl.styles.numbers.NumberFormat’>

protectionValues must be of type <class ‘openpyxl.styles.protection.Protection’>

tagname = ‘dxf’

class openpyxl.styles.differential.DifferentialStyleList(dxf=())Bases: openpyxl.descriptors.serialisable.Serialisable

Deduping container for differential styles.

add(dxf)Add a differential style and return its index

append(dxf)Check to see whether style already exists and append it if does not.

dxfA sequence (list or tuple) that may only contain objects of the declared type

262 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

stylesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘dxfs’

openpyxl.styles.fills module

class openpyxl.styles.fills.FillBases: openpyxl.descriptors.serialisable.Serialisable

Base class

classmethod from_tree(el)

tagname = ‘fill’

class openpyxl.styles.fills.GradientFill(type=’linear’, degree=0, left=0, right=0, top=0, bot-tom=0, stop=(), fill_type=None)

Bases: openpyxl.styles.fills.Fill

bottomValues must be of type <type ‘float’>

degreeValues must be of type <type ‘float’>

fill_typeAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

leftValues must be of type <type ‘float’>

rightValues must be of type <type ‘float’>

stopA sequence of primitive types that are stored as a single attribute. “val” is the default attribute

tagname = ‘gradientFill’

to_tree(tagname=None, namespace=None, idx=None)

topValues must be of type <type ‘float’>

typeValue must be one of set([’path’, ‘linear’])

class openpyxl.styles.fills.PatternFill(patternType=None, fg-Color=<openpyxl.styles.colors.Color object>Parameters: tint=0.0, auto=None, theme=None,rgb=‘00000000’, indexed=None, type=’rgb’, bg-Color=<openpyxl.styles.colors.Color object>Parameters: tint=0.0, auto=None, theme=None,rgb=‘00000000’, indexed=None, type=’rgb’,fill_type=None, start_color=None, end_color=None)

Bases: openpyxl.styles.fills.Fill

Area fill patterns for use in styles. Caution: if you do not specify a fill_type, other attributes will have no effect!

9.1. openpyxl package 263

openpyxl Documentation, Release 2.4.9

bgColorValues must be of type <class ‘openpyxl.styles.colors.Color’>

end_colorAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

fgColorValues must be of type <class ‘openpyxl.styles.colors.Color’>

fill_typeAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

patternTypeValue must be one of set([’darkDown’, ‘lightGray’, ‘darkHorizontal’, ‘gray0625’, ‘lightGrid’, ‘lightVer-tical’, ‘solid’, ‘darkGray’, ‘gray125’, ‘darkGrid’, ‘darkUp’, ‘mediumGray’, ‘darkTrellis’, ‘lightDown’,‘lightUp’, ‘lightHorizontal’, ‘darkVertical’, ‘lightTrellis’])

start_colorAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

tagname = ‘patternFill’

to_tree(tagname=None, idx=None)

openpyxl.styles.fonts module

class openpyxl.styles.fonts.Font(name=None, sz=None, b=None, i=None, charset=None,u=None, strike=None, color=None, scheme=None,family=None, size=None, bold=None, italic=None,strikethrough=None, underline=None, vertAlign=None, out-line=None, shadow=None, condense=None, extend=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Font options used in styles.

UNDERLINE_DOUBLE = ‘double’

UNDERLINE_DOUBLE_ACCOUNTING = ‘doubleAccounting’

UNDERLINE_SINGLE = ‘single’

UNDERLINE_SINGLE_ACCOUNTING = ‘singleAccounting’

bValues must be of type <type ‘bool’>

boldAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

charsetValues must be of type <type ‘long’>

colorValues must be of type <class ‘openpyxl.styles.colors.Color’>

condenseValues must be of type <type ‘bool’>

264 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

extendValues must be of type <type ‘bool’>

familyValues must be of type <type ‘float’>

classmethod from_tree(node)Set default value for underline if child element is present

iValues must be of type <type ‘bool’>

italicAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

nameValues must be of type <type ‘basestring’>

outlineValues must be of type <type ‘bool’>

schemeValue must be one of set([’major’, ‘minor’])

shadowValues must be of type <type ‘bool’>

sizeAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

strikeValues must be of type <type ‘bool’>

strikethroughAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

szValues must be of type <type ‘float’>

tagname = ‘font’

uValue must be one of set([’double’, ‘single’, ‘doubleAccounting’, ‘singleAccounting’])

underlineAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

vertAlignValue must be one of set([’subscript’, ‘baseline’, ‘superscript’])

9.1. openpyxl package 265

openpyxl Documentation, Release 2.4.9

openpyxl.styles.named_styles module

class openpyxl.styles.named_styles.NamedStyle(name=’Normal’,font=<openpyxl.styles.fonts.Font ob-ject> Parameters: name=None,charset=None, family=None, b=False,i=False, strike=None, outline=None,shadow=None, condense=None,color=None, extend=None, sz=None,u=None, vertAlign=None, scheme=None,fill=<openpyxl.styles.fills.PatternFill ob-ject> Parameters: patternType=None,fgColor=<openpyxl.styles.colors.Color ob-ject> Parameters: tint=0.0, auto=None,theme=None, rgb=‘00000000’,indexed=None, type=’rgb’, bg-Color=<openpyxl.styles.colors.Color ob-ject> Parameters: tint=0.0, auto=None,theme=None, rgb=‘00000000’, in-dexed=None, type=’rgb’, bor-der=<openpyxl.styles.borders.Borderobject> Parameters: outline=True,diagonalUp=False, diagonal-Down=False, start=None, end=None,left=<openpyxl.styles.borders.Side object>Parameters: style=None, color=None,right=<openpyxl.styles.borders.Side object>Parameters: style=None, color=None,top=<openpyxl.styles.borders.Side object>Parameters: style=None, color=None, bot-tom=<openpyxl.styles.borders.Side object>Parameters: style=None, color=None,diagonal=<openpyxl.styles.borders.Side ob-ject> Parameters: style=None, color=None,vertical=None, horizontal=None, align-ment=<openpyxl.styles.alignment.Alignmentobject> Parameters: indent=0.0, ver-tical=None, relativeIndent=0.0, shrink-ToFit=None, justifyLastLine=None,readingOrder=0.0, wrapText=None,horizontal=None, textRotation=0,number_format=None, protec-tion=<openpyxl.styles.protection.Protectionobject> Parameters: locked=True, hid-den=False, builtinId=None, hidden=False,xfId=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Named and editable styles

alignmentValues must be of type <class ‘openpyxl.styles.alignment.Alignment’>

as_name()Return relevant named style

266 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

as_tuple()Return a style array representing the current style

as_xf()Return equivalent XfStyle

bind(wb)Bind a named style to a workbook

borderValues must be of type <class ‘openpyxl.styles.borders.Border’>

builtinIdValues must be of type <type ‘long’>

fillValues must be of type <class ‘openpyxl.styles.fills.Fill’>

fontValues must be of type <class ‘openpyxl.styles.fonts.Font’>

hiddenValues must be of type <type ‘bool’>

nameValues must be of type <type ‘basestring’>

number_formatValues must be of type <type ‘basestring’>

protectionValues must be of type <class ‘openpyxl.styles.protection.Protection’>

xfIdIndex of the style in the list of named styles

class openpyxl.styles.named_styles.NamedStyleListBases: list

Named styles are editable and can be applied to multiple objects

As only the index is stored in referencing objects the order mus be preserved.

append(style)

names

openpyxl.styles.numbers module

class openpyxl.styles.numbers.NumberFormat(numFmtId=None, formatCode=None)Bases: openpyxl.descriptors.serialisable.Serialisable

formatCodeValues must be of type <type ‘basestring’>

numFmtIdValues must be of type <type ‘long’>

class openpyxl.styles.numbers.NumberFormatDescriptor(*args, **kw)Bases: openpyxl.descriptors.base.String

class openpyxl.styles.numbers.NumberFormatList(count=None, numFmt=())Bases: openpyxl.descriptors.serialisable.Serialisable

9.1. openpyxl package 267

openpyxl Documentation, Release 2.4.9

count

numFmtA sequence (list or tuple) that may only contain objects of the declared type

openpyxl.styles.numbers.builtin_format_code(index)Return one of the standard format codes by index.

openpyxl.styles.numbers.builtin_format_id(fmt)Return the id of a standard style.

openpyxl.styles.numbers.is_builtin(fmt)

openpyxl.styles.numbers.is_date_format(fmt)

openpyxl.styles.protection module

class openpyxl.styles.protection.Protection(locked=True, hidden=False)Bases: openpyxl.descriptors.serialisable.Serialisable

Protection options for use in styles.

hiddenValues must be of type <type ‘bool’>

lockedValues must be of type <type ‘bool’>

tagname = ‘protection’

openpyxl.styles.proxy module

class openpyxl.styles.proxy.StyleProxy(target)Bases: object

Proxy formatting objects so that they cannot be altered

copy(*args, **kwargs)Return a copy of the proxied object. Keyword args will be passed through

openpyxl.styles.styleable module

class openpyxl.styles.styleable.NamedStyleDescriptorBases: object

collection = ‘_named_styles’

key = ‘xfId’

class openpyxl.styles.styleable.NumberFormatDescriptorBases: object

collection = ‘_number_formats’

key = ‘numFmtId’

class openpyxl.styles.styleable.StyleDescriptor(collection, key)Bases: object

268 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.styles.styleable.StyleableObject(sheet, style_array=None)Bases: object

Base class for styleble objects implementing proxy and lookup functions

alignment

border

fill

font

has_style

number_format

parent

pivotButton

protection

quotePrefix

style

style_id

openpyxl.styles.stylesheet module

class openpyxl.styles.stylesheet.Stylesheet(numFmts=None, fonts=(), fills=(), bor-ders=(), cellStyleXfs=None, cellXfs=None,cellStyles=None, dxfs=(), tableStyles=None,colors=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

bordersWrap a sequence in an containing object

cellStyleXfsValues must be of type <class ‘openpyxl.styles.cell_style.CellStyleList’>

cellStylesValues must be of type <class ‘openpyxl.styles.named_styles._NamedCellStyleList’>

cellXfsValues must be of type <class ‘openpyxl.styles.cell_style.CellStyleList’>

colorsValues must be of type <class ‘openpyxl.styles.colors.ColorList’>

custom_formats

dxfsWrap a sequence in an containing object

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

fillsWrap a sequence in an containing object

fontsWrap a sequence in an containing object

9.1. openpyxl package 269

openpyxl Documentation, Release 2.4.9

classmethod from_tree(node)

numFmtsValues must be of type <class ‘openpyxl.styles.numbers.NumberFormatList’>

number_formats

tableStylesValues must be of type <class ‘openpyxl.styles.table.TableStyleList’>

tagname = ‘styleSheet’

to_tree(tagname=None, idx=None, namespace=None)

openpyxl.styles.stylesheet.apply_stylesheet(archive, wb)Add styles to workbook if present

openpyxl.styles.stylesheet.write_stylesheet(wb)

openpyxl.styles.table module

class openpyxl.styles.table.TableStyle(name=None, pivot=None, table=None, count=None,tableStyleElement=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

countValues must be of type <type ‘long’>

nameValues must be of type <type ‘basestring’>

pivotValues must be of type <type ‘bool’>

tableValues must be of type <type ‘bool’>

tableStyleElementValues must be of type <class ‘openpyxl.styles.table.TableStyleElement’>

tagname = ‘tableStyle’

class openpyxl.styles.table.TableStyleElement(type=None, size=None, dxfId=None)Bases: openpyxl.descriptors.serialisable.Serialisable

dxfIdValues must be of type <type ‘long’>

sizeValues must be of type <type ‘long’>

tagname = ‘tableStyleElement’

typeValue must be one of set([’headerRow’, ‘pageFieldLabels’, ‘firstSubtotalRow’, ‘firstColumn’, ‘lastTo-talCell’, ‘firstRowStripe’, ‘firstColumnStripe’, ‘secondColumnStripe’, ‘thirdColumnSubheading’, ‘sec-ondRowStripe’, ‘lastHeaderCell’, ‘secondRowSubheading’, ‘thirdSubtotalRow’, ‘thirdSubtotalColumn’,‘wholeTable’, ‘pageFieldValues’, ‘firstRowSubheading’, ‘secondSubtotalColumn’, ‘firstColumnSubhead-ing’, ‘thirdRowSubheading’, ‘totalRow’, ‘secondSubtotalRow’, ‘lastColumn’, ‘firstHeaderCell’, ‘first-SubtotalColumn’, ‘secondColumnSubheading’, ‘blankRow’, ‘firstTotalCell’])

270 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.styles.table.TableStyleList(count=None, defaultTa-bleStyle=’TableStyleMedium9’, defaultPivot-Style=’PivotStyleLight16’, tableStyle=())

Bases: openpyxl.descriptors.serialisable.Serialisable

count

defaultPivotStyleValues must be of type <type ‘basestring’>

defaultTableStyleValues must be of type <type ‘basestring’>

tableStyleA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘tableStyles’

Module contents

openpyxl.tests package

Submodules

openpyxl.tests.conftest module

openpyxl.tests.conftest.Image()Image class

openpyxl.tests.conftest.datadir()DATADIR as a LocalPath

openpyxl.tests.conftest.ws(Workbook)Empty worksheet titled ‘data’

openpyxl.tests.helper module

openpyxl.tests.helper.compare_xml(generated, expected)Use doctest checking from lxml for comparing XML trees. Returns diff if the two are not the same

openpyxl.tests.schema module

openpyxl.tests.schema.validate_archive(file_path)

openpyxl.tests.test_backend module

Make sure we’re using the fastest backend available

openpyxl.tests.test_backend.test_backend()

openpyxl.tests.test_backend.test_namespace_register()

9.1. openpyxl package 271

openpyxl Documentation, Release 2.4.9

openpyxl.tests.test_iter module

openpyxl.tests.test_iter.DummyWorkbook()

openpyxl.tests.test_iter.ReadOnlyWorksheet()

class openpyxl.tests.test_iter.TestRead

expected = [(‘Sheet1 - Text’, 7), (‘Sheet2 - Numbers’, 27), (‘Sheet3 - Formulas’, 4), (‘Sheet4 - Dates’, 3)]

test_get_missing_cell(sample_workbook)

test_getitem(sample_workbook)

test_max_column(sample_workbook, sheetname, col)

test_max_row(sample_workbook)

test_read_boolean(sample_workbook, cell, expected)

test_read_fast_integrated_numbers(sample_workbook)

test_read_fast_integrated_numbers_2(sample_workbook)

test_read_fast_integrated_text(sample_workbook)

test_read_single_cell(sample_workbook)

test_read_single_cell_date(sample_workbook, cell, value)

test_read_single_cell_range(sample_workbook)

openpyxl.tests.test_iter.sample_workbook(request, datadir)Standard and read-only workbook

openpyxl.tests.test_iter.test_calculate_dimension(datadir)Behaviour differs between implementations

openpyxl.tests.test_iter.test_ctor(datadir, DummyWorkbook, ReadOnlyWorksheet, filename,expected)

openpyxl.tests.test_iter.test_force_dimension(datadir, DummyWorkbook, ReadOnly-Worksheet)

openpyxl.tests.test_iter.test_get_empty_cells_nonempty_row(datadir, DummyWork-book, ReadOnlyWork-sheet)

Fix for issue #908.

Get row slice which only contains empty cells in a row containing non-empty cells earlier in the row.

openpyxl.tests.test_iter.test_get_max_cell(datadir, DummyWorkbook, ReadOnlyWork-sheet, filename)

openpyxl.tests.test_iter.test_nonstandard_name(datadir)

openpyxl.tests.test_iter.test_open_many_sheets(datadir)

openpyxl.tests.test_iter.test_read_cell_from_empty_row(DummyWorkbook, ReadOn-lyWorksheet, row, column)

openpyxl.tests.test_iter.test_read_dimension(datadir, filename, expected)

openpyxl.tests.test_iter.test_read_empty_row(datadir, DummyWorkbook, ReadOnlyWork-sheet)

openpyxl.tests.test_iter.test_read_empty_rows(datadir, DummyWorkbook, ReadOnly-Worksheet)

272 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.tests.test_iter.test_read_empty_sheet(datadir, read_only)

openpyxl.tests.test_iter.test_read_hyperlinks_read_only(datadir, Workbook, Read-OnlyWorksheet)

openpyxl.tests.test_iter.test_read_row(datadir, DummyWorkbook, ReadOnlyWorksheet)

openpyxl.tests.test_iter.test_read_single_cell_formula(datadir, data_only, ex-pected)

openpyxl.tests.test_iter.test_read_style_iter(tmpdir)Test if cell styles are read properly in iter mode.

openpyxl.tests.test_iter.test_read_with_missing_cells(datadir, DummyWorkbook,ReadOnlyWorksheet)

openpyxl.tests.test_iter.test_read_without_coordinates(DummyWorkbook, ReadOn-lyWorksheet)

openpyxl.tests.test_read module

openpyxl.tests.test_read.test_guess_types(datadir, guess_types, dtype)

openpyxl.tests.test_read.test_read_general_style(datadir, cell, number_format)

openpyxl.tests.test_read.test_read_no_theme(datadir)

openpyxl.tests.test_vba module

openpyxl.tests.test_vba.test_content_types(datadir)

openpyxl.tests.test_vba.test_save_same_file(tmpdir, datadir)

openpyxl.tests.test_vba.test_save_with_saved_comments(datadir)

openpyxl.tests.test_vba.test_save_with_vba(datadir)

openpyxl.tests.test_vba.test_save_without_vba(datadir)

Module contents

openpyxl.utils package

Subpackages

openpyxl.utils.tests package

Submodules

openpyxl.utils.tests.test_bound_dictionary module

openpyxl.utils.tests.test_bound_dictionary.BoundDictionary()

openpyxl.utils.tests.test_bound_dictionary.test_coupling(BoundDictionary)

openpyxl.utils.tests.test_bound_dictionary.test_ctor(BoundDictionary, default)

9.1. openpyxl package 273

openpyxl Documentation, Release 2.4.9

openpyxl.utils.tests.test_cell module

openpyxl.utils.tests.test_cell.test_absolute(coord, result)

openpyxl.utils.tests.test_cell.test_bad_column_index(column)

openpyxl.utils.tests.test_cell.test_bounds(range_string, coords)

openpyxl.utils.tests.test_cell.test_cols_from_range()

openpyxl.utils.tests.test_cell.test_column_index(column, idx)

openpyxl.utils.tests.test_cell.test_column_interval()

openpyxl.utils.tests.test_cell.test_column_letter(value, expected)

openpyxl.utils.tests.test_cell.test_column_letter_boundries(value)

openpyxl.utils.tests.test_cell.test_coordinate_tuple()

openpyxl.utils.tests.test_cell.test_coordinates()

openpyxl.utils.tests.test_cell.test_invalid_bounds()

openpyxl.utils.tests.test_cell.test_invalid_coordinate(value)

openpyxl.utils.tests.test_cell.test_invalid_range()

openpyxl.utils.tests.test_cell.test_quote_sheetname(title, quoted)

openpyxl.utils.tests.test_cell.test_range_to_tuple(range_string, sheetname, bound-aries)

openpyxl.utils.tests.test_cell.test_rows_from_range()

openpyxl.utils.tests.test_dataframe module

openpyxl.utils.tests.test_dataframe.test_dataframe()

openpyxl.utils.tests.test_datetime module

class openpyxl.utils.tests.test_datetime.CETBases: datetime.tzinfo

dst(dt)

tzname(dt)

utcoffset(dt)

openpyxl.utils.tests.test_datetime.test_W3CDTF_to_datetime()

openpyxl.utils.tests.test_datetime.test_datetime_to_W3CDTF()

openpyxl.utils.tests.test_datetime.test_days_to_time()

openpyxl.utils.tests.test_datetime.test_from_excel(value, expected)

openpyxl.utils.tests.test_datetime.test_from_excel_mac(value, expected)

openpyxl.utils.tests.test_datetime.test_localised_time()

openpyxl.utils.tests.test_datetime.test_time_to_days()

openpyxl.utils.tests.test_datetime.test_timedelta_to_days()

274 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.utils.tests.test_datetime.test_to_excel(value, expected)

openpyxl.utils.tests.test_datetime.test_to_excel_mac(value, expected)

openpyxl.utils.tests.test_escape module

openpyxl.utils.tests.test_escape.test_escape()

openpyxl.utils.tests.test_escape.test_unescape()

openpyxl.utils.tests.test_indexed_list module

openpyxl.utils.tests.test_indexed_list.list()

openpyxl.utils.tests.test_indexed_list.test_allow_duplicate_ctor(list)

openpyxl.utils.tests.test_indexed_list.test_contains(list)

openpyxl.utils.tests.test_indexed_list.test_ctor(list)

openpyxl.utils.tests.test_indexed_list.test_function(list)

openpyxl.utils.tests.test_indexed_list.test_index(list)

openpyxl.utils.tests.test_indexed_list.test_table_builder(list)

openpyxl.utils.tests.test_protection module

openpyxl.utils.tests.test_protection.test_password()

openpyxl.utils.tests.test_units module

openpyxl.utils.tests.test_units.test_EMU_to_cm(value, expected)

openpyxl.utils.tests.test_units.test_EMU_to_inch(value, expected)

openpyxl.utils.tests.test_units.test_EMU_to_pixels(value, expected)

openpyxl.utils.tests.test_units.test_angle_to_degrees(value, expected)

openpyxl.utils.tests.test_units.test_cm_to_EMU(value, expected)

openpyxl.utils.tests.test_units.test_cm_to_dxa(value, expected)

openpyxl.utils.tests.test_units.test_degrees_to_angle(value, expected)

openpyxl.utils.tests.test_units.test_dxa_to_cm(value, expected)

openpyxl.utils.tests.test_units.test_dxa_to_inch(value, expected)

openpyxl.utils.tests.test_units.test_inch_to_EMU(value, expected)

openpyxl.utils.tests.test_units.test_inch_to_dxa(value, expected)

openpyxl.utils.tests.test_units.test_pixels_to_EMU(value, expected)

openpyxl.utils.tests.test_units.test_pixels_to_points(value, expected)

openpyxl.utils.tests.test_units.test_points_to_pixels(value, expected)

openpyxl.utils.tests.test_units.test_short_color(value, expected)

9.1. openpyxl package 275

openpyxl Documentation, Release 2.4.9

Module contents

Submodules

openpyxl.utils.bound_dictionary module

class openpyxl.utils.bound_dictionary.BoundDictionary(reference=None, *args, **kw)Bases: collections.defaultdict

A default dictionary where elements are tightly coupled.

The factory method is responsible for binding the parent object to the child.

If a reference attribute is assigned then child objects will have the key assigned to this.

Otherwise it’s just a defaultdict.

openpyxl.utils.cell module

openpyxl.utils.cell.absolute_coordinate(coord_string)Convert a coordinate to an absolute coordinate string (B12 -> $B$12)

openpyxl.utils.cell.cols_from_range(range_string)Get individual addresses for every cell in a range. Yields one row at a time.

openpyxl.utils.cell.column_index_from_string(str_col)Convert a column name into a numerical index (‘A’ -> 1)

openpyxl.utils.cell.coordinate_from_string(coord_string)Convert a coordinate string like ‘B12’ to a tuple (‘B’, 12)

openpyxl.utils.cell.coordinate_to_tuple(coordinate)Convert an Excel style coordinate to (row, colum) tuple

openpyxl.utils.cell.get_column_interval(start, end)Given the start and end colums, return all the columns in the series.

The start and end columns can be either column letters or 1-based indexes.

openpyxl.utils.cell.get_column_letter(idx)Convert a column index into a column letter (3 -> ‘C’)

openpyxl.utils.cell.quote_sheetname(sheetname)Add quotes around sheetnames if they contain spaces.

openpyxl.utils.cell.range_boundaries(range_string)Convert a range string into a tuple of boundaries: (min_col, min_row, max_col, max_row) Cell coordinates willbe converted into a range with the cell at both end

openpyxl.utils.cell.range_to_tuple(range_string)Convert a worksheet range to the sheetname and maximum and minimum coordinate indices

openpyxl.utils.cell.rows_from_range(range_string)Get individual addresses for every cell in a range. Yields one row at a time.

openpyxl.utils.dataframe module

openpyxl.utils.dataframe.dataframe_to_rows(df, index=True, header=True)Convert a Pandas dataframe into something suitable for passing into a worksheet

276 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.utils.datetime module

class openpyxl.utils.datetime.GMTBases: datetime.tzinfo

dst(dt)

tzname(dt)

utcoffset(dt)

openpyxl.utils.datetime.W3CDTF_to_datetime(formatted_string)Convert from a timestamp string to a datetime object.

openpyxl.utils.datetime.datetime_to_W3CDTF(dt)Convert from a datetime to a timestamp string.

openpyxl.utils.datetime.days_to_time(value)

openpyxl.utils.datetime.from_excel(value, offset=2415018.5)

openpyxl.utils.datetime.time_to_days(value)Convert a time value to fractions of day

openpyxl.utils.datetime.timedelta_to_days(value)Convert a timedelta value to fractions of a day

openpyxl.utils.datetime.to_excel(dt, offset=2415018.5)

openpyxl.utils.escape module

openpyxl.utils.escape.escape(value)Convert ASCII < 31 to OOXML: n == _x + hex(ord(n)) +_

openpyxl.utils.escape.unescape(value)Convert escaped strings to ASCIII: _x000a_ == n

openpyxl.utils.exceptions module

exception openpyxl.utils.exceptions.CellCoordinatesExceptionBases: exceptions.Exception

Error for converting between numeric and A1-style cell references.

exception openpyxl.utils.exceptions.IllegalCharacterErrorBases: exceptions.Exception

The data submitted which cannot be used directly in Excel files. It must be removed or escaped.

exception openpyxl.utils.exceptions.InsufficientCoordinatesExceptionBases: exceptions.Exception

Error for partially specified cell coordinates.

exception openpyxl.utils.exceptions.InvalidFileExceptionBases: exceptions.Exception

Error for trying to open a non-ooxml file.

9.1. openpyxl package 277

openpyxl Documentation, Release 2.4.9

exception openpyxl.utils.exceptions.NamedRangeExceptionBases: exceptions.Exception

Error for badly formatted named ranges.

exception openpyxl.utils.exceptions.ReadOnlyWorkbookExceptionBases: exceptions.Exception

Error for trying to modify a read-only workbook

exception openpyxl.utils.exceptions.SheetTitleExceptionBases: exceptions.Exception

Error for bad sheet names.

exception openpyxl.utils.exceptions.WorkbookAlreadySavedBases: exceptions.Exception

Error when attempting to perform operations on a dump workbook while it has already been dumped once

openpyxl.utils.formulas module

List of builtin formulae

openpyxl.utils.indexed_list module

class openpyxl.utils.indexed_list.IndexedList(iterable=None)Bases: list

List with optimised access by value Based on Alex Martelli’s recipe

http://code.activestate.com/recipes/52303-the-auxiliary-dictionary-idiom-for-sequences-with-/

add(value)

append(value)

index(value)

openpyxl.utils.protection module

openpyxl.utils.protection.hash_password(plaintext_password=’‘)Create a password hash from a given string for protecting a worksheet only. This will not work for encrypting aworkbook.

This method is based on the algorithm provided by Daniel Rentz of OpenOffice and the PEAR package Spread-sheet_Excel_Writer by Xavier Noguer <[email protected]>. See also http://blogs.msdn.com/b/ericwhite/archive/2008/02/23/the-legacy-hashing-algorithm-in-open-xml.aspx

openpyxl.utils.units module

openpyxl.utils.units.DEFAULT_HEADER = 0.3From the ECMA Spec (4th Edition part 1) Page setup: “Left Page Margin in inches” p. 1647

Docs from http://startbigthinksmall.wordpress.com/2010/01/04/points-inches-and-emus-measuring-units-in-office-open-xml/

See also http://msdn.microsoft.com/en-us/library/dd560821(v=office.12).aspx

278 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

dxa: The main unit in OOXML is a twentieth of a point. Also called twips. pt: point. In Excel there are 72points to an inch hp: half-points are used to specify font sizes. A font-size of 12pt equals 24 half points pct:Half-points are used to specify font sizes. A font-size of 12pt equals 24 half points

EMU: English Metric Unit, EMUs are used for coordinates in vector-based drawings and embedded pictures.One inch equates to 914400 EMUs and a centimeter is 360000. For bitmaps the default resolution is 96 dpi(known as PixelsPerInch in Excel). Spec p. 1122

For radial geometry Excel uses integert units of 1/60000th of a degree.

openpyxl.utils.units.EMU_to_cm(value)

openpyxl.utils.units.EMU_to_inch(value)

openpyxl.utils.units.EMU_to_pixels(value)

openpyxl.utils.units.angle_to_degrees(value)

openpyxl.utils.units.cm_to_EMU(value)1 cm = 360000 EMUs

openpyxl.utils.units.cm_to_dxa(value)

openpyxl.utils.units.degrees_to_angle(value)1 degree = 60000 angles

openpyxl.utils.units.dxa_to_cm(value)

openpyxl.utils.units.dxa_to_inch(value)

openpyxl.utils.units.inch_to_EMU(value)1 inch = 914400 EMUs

openpyxl.utils.units.inch_to_dxa(value)1 inch = 72 * 20 dxa

openpyxl.utils.units.pixels_to_EMU(value)1 pixel = 9525 EMUs

openpyxl.utils.units.pixels_to_points(value, dpi=96)96 dpi, 72i

openpyxl.utils.units.points_to_pixels(value, dpi=96)

openpyxl.utils.units.short_color(color)format a color to its short size

9.1. openpyxl package 279

openpyxl Documentation, Release 2.4.9

Module contents

openpyxl.workbook package

Subpackages

openpyxl.workbook.external_link package

Subpackages

openpyxl.workbook.external_link.tests package

Submodules

openpyxl.workbook.external_link.tests.conftest module

openpyxl.workbook.external_link.tests.conftest.datadir()DATADIR as a LocalPath

openpyxl.workbook.external_link.tests.test_external module

openpyxl.workbook.external_link.tests.test_external.ExternalBook()

openpyxl.workbook.external_link.tests.test_external.ExternalCell()

openpyxl.workbook.external_link.tests.test_external.ExternalLink()

class openpyxl.workbook.external_link.tests.test_external.TestExternalBook

test_ctor(ExternalBook)

test_read(ExternalBook)

class openpyxl.workbook.external_link.tests.test_external.TestExternalCell

test_read(ExternalCell)

class openpyxl.workbook.external_link.tests.test_external.TestExternalLink

test_ctor(ExternalLink)

test_path(ExternalLink)

test_write(ExternalLink)

openpyxl.workbook.external_link.tests.test_external.test_read_external_link(datadir)

openpyxl.workbook.external_link.tests.test_external.test_read_ole_link(datadir,Ex-ter-nalLink)

openpyxl.workbook.external_link.tests.test_external.test_write_workbook(datadir,tm-pdir)

280 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Module contents

Submodules

openpyxl.workbook.external_link.external module

class openpyxl.workbook.external_link.external.ExternalBook(sheetNames=None,definedNames=(),sheetDataSet=None,id=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

definedNamesWrap a sequence in an containing object

idValues must be of type <type ‘basestring’>

sheetDataSetValues must be of type <class ‘openpyxl.workbook.external_link.external.ExternalSheetDataSet’>

sheetNamesValues must be of type <class ‘openpyxl.workbook.external_link.external.ExternalSheetNames’>

tagname = ‘externalBook’

class openpyxl.workbook.external_link.external.ExternalCell(r=None, t=None,vm=None, v=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

rValues must be of type <type ‘basestring’>

tValue must be one of set([’inlineStr’, ‘b’, ‘e’, ‘d’, ‘n’, ‘s’, ‘str’])

vValues must be of type <type ‘unicode’>

vmValues must be of type <type ‘long’>

class openpyxl.workbook.external_link.external.ExternalDefinedName(name=None,refer-sTo=None,sheetId=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

nameValues must be of type <type ‘basestring’>

refersToValues must be of type <type ‘basestring’>

sheetIdValues must be of type <type ‘long’>

tagname = ‘definedName’

9.1. openpyxl package 281

openpyxl Documentation, Release 2.4.9

class openpyxl.workbook.external_link.external.ExternalLink(externalBook=None,ddeLink=None,oleLink=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

externalBookValues must be of type <class ‘openpyxl.workbook.external_link.external.ExternalBook’>

file_linkValues must be of type <class ‘openpyxl.packaging.relationship.Relationship’>

mime_type = ‘application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml’

path

tagname = ‘externalLink’

to_tree()

class openpyxl.workbook.external_link.external.ExternalRow(r=(), cell=None)Bases: openpyxl.descriptors.serialisable.Serialisable

cellA sequence (list or tuple) that may only contain objects of the declared type

rValues must be of type <type ‘long’>

class openpyxl.workbook.external_link.external.ExternalSheetData(sheetId=None,refreshEr-ror=None,row=())

Bases: openpyxl.descriptors.serialisable.Serialisable

refreshErrorValues must be of type <type ‘bool’>

rowA sequence (list or tuple) that may only contain objects of the declared type

sheetIdValues must be of type <type ‘long’>

class openpyxl.workbook.external_link.external.ExternalSheetDataSet(sheetData=None)Bases: openpyxl.descriptors.serialisable.Serialisable

sheetDataA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.workbook.external_link.external.ExternalSheetNames(sheetName=())Bases: openpyxl.descriptors.serialisable.Serialisable

sheetNameA sequence of primitive types that are stored as a single attribute. “val” is the default attribute

openpyxl.workbook.external_link.external.read_external_link(archive, book_path)

282 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Module contents

openpyxl.workbook.tests package

Submodules

openpyxl.workbook.tests.conftest module

openpyxl.workbook.tests.conftest.datadir()DATADIR as a LocalPath

openpyxl.workbook.tests.test_child module

class openpyxl.workbook.tests.test_child.DummyWorkbook

encoding = ‘utf-8’

class openpyxl.workbook.tests.test_child.TestWorkbookChild

test_ctor(WorkbookChild)

test_empty_title(WorkbookChild)

test_invalid_title(WorkbookChild)

test_reassign_title(WorkbookChild)

test_repr(WorkbookChild)

test_set_encoded_title(WorkbookChild)

test_title_too_long(WorkbookChild, recwarn)

openpyxl.workbook.tests.test_child.WorkbookChild()

openpyxl.workbook.tests.test_child.test_duplicate_title(names, value, result)

openpyxl.workbook.tests.test_child.test_invalid_chars(value)

openpyxl.workbook.tests.test_defined_name module

openpyxl.workbook.tests.test_defined_name.DefinedName()

openpyxl.workbook.tests.test_defined_name.DefinedNameList()

class openpyxl.workbook.tests.test_defined_name.TestDefinition

test_check_type(DefinedName, value, expected)

test_destinations(DefinedName, value, destinations)

test_dict(DefinedName, name, expected)

test_external_range(DefinedName, value, expected)

test_from_xml(DefinedName, src, name, value, value_type)

test_write(DefinedName)

9.1. openpyxl package 283

openpyxl Documentation, Release 2.4.9

class openpyxl.workbook.tests.test_defined_name.TestDefinitionList

test_append(DefinedNameList, DefinedName)

test_append_only(DefinedNameList)

test_cleanup(DefinedNameList, datadir)

test_contains(DefinedNameList, DefinedName)

test_duplicate(DefinedNameList, DefinedName, scope)

test_localnames(DefinedNameList, datadir)

test_read(DefinedNameList, datadir)

openpyxl.workbook.tests.test_defined_name.test_print_cols(value, expected)

openpyxl.workbook.tests.test_defined_name.test_print_rows(value, expected)

openpyxl.workbook.tests.test_defined_name.test_print_titles(value, expected)

openpyxl.workbook.tests.test_defined_name.test_reserved(value, reserved)

openpyxl.workbook.tests.test_defined_name.test_unpack_print_area(DefinedName,value, ex-pected)

openpyxl.workbook.tests.test_defined_name.test_unpack_print_titles(DefinedName,value, ex-pected)

openpyxl.workbook.tests.test_external_reference module

openpyxl.workbook.tests.test_external_reference.ExternalReference()

class openpyxl.workbook.tests.test_external_reference.TestExternalReference

test_ctor(ExternalReference)

test_from_xml(ExternalReference)

openpyxl.workbook.tests.test_function_group module

openpyxl.workbook.tests.test_function_group.FunctionGroup()

openpyxl.workbook.tests.test_function_group.FunctionGroupList()

class openpyxl.workbook.tests.test_function_group.TestFunctionGroup

test_ctor(FunctionGroup)

test_from_xml(FunctionGroup)

class openpyxl.workbook.tests.test_function_group.TestFunctionGroupList

test_ctor(FunctionGroupList)

test_from_xml(FunctionGroupList)

284 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.workbook.tests.test_parser module

class openpyxl.workbook.tests.test_parser.TestWorkbookPackage

test_ctor(WorkbookPackage)

test_from_xml(WorkbookPackage)

openpyxl.workbook.tests.test_parser.WorkbookPackage()

openpyxl.workbook.tests.test_parser.test_read_workbook_code_name(datadir,Workbook-Package)

openpyxl.workbook.tests.test_pivot module

openpyxl.workbook.tests.test_pivot.PivotCache()

openpyxl.workbook.tests.test_pivot.PivotCacheList()

class openpyxl.workbook.tests.test_pivot.TestPivotCache

test_ctor(PivotCache)

test_from_xml(PivotCache)

class openpyxl.workbook.tests.test_pivot.TestPivotCacheList

test_ctor(PivotCacheList)

test_from_xml(PivotCacheList)

openpyxl.workbook.tests.test_properties module

openpyxl.workbook.tests.test_properties.CalcProperties()

openpyxl.workbook.tests.test_properties.FileVersion()

class openpyxl.workbook.tests.test_properties.TestCalcProperties

test_ctor(CalcProperties)

test_from_xml(CalcProperties)

class openpyxl.workbook.tests.test_properties.TestFileVersion

test_ctor(FileVersion)

test_from_xml(FileVersion)

class openpyxl.workbook.tests.test_properties.TestWorkbookProperties

test_ctor(WorkbookProperties)

test_from_xml(WorkbookProperties)

openpyxl.workbook.tests.test_properties.WorkbookProperties()

9.1. openpyxl package 285

openpyxl Documentation, Release 2.4.9

openpyxl.workbook.tests.test_protection module

openpyxl.workbook.tests.test_protection.FileSharing()

class openpyxl.workbook.tests.test_protection.TestFileSharing

test_ctor(FileSharing)

test_from_xml(FileSharing)

class openpyxl.workbook.tests.test_protection.TestWorkbookProtection

test_ctor(WorkbookProtection)

test_ctor_with_passwords(WorkbookProtection)

test_from_xml(WorkbookProtection)

openpyxl.workbook.tests.test_protection.WorkbookProtection()

openpyxl.workbook.tests.test_smart_tags module

openpyxl.workbook.tests.test_smart_tags.SmartTag()

openpyxl.workbook.tests.test_smart_tags.SmartTagList()

openpyxl.workbook.tests.test_smart_tags.SmartTagProperties()

class openpyxl.workbook.tests.test_smart_tags.TestSmartTag

test_ctor(SmartTag)

test_from_xml(SmartTag)

class openpyxl.workbook.tests.test_smart_tags.TestSmartTagList

test_ctor(SmartTagList)

test_from_xml(SmartTagList)

class openpyxl.workbook.tests.test_smart_tags.TestSmartTagProperties

test_ctor(SmartTagProperties)

test_from_xml(SmartTagProperties)

openpyxl.workbook.tests.test_views module

openpyxl.workbook.tests.test_views.BookView()

openpyxl.workbook.tests.test_views.CustomWorkbookView()

class openpyxl.workbook.tests.test_views.TestBookView

test_ctor(BookView)

test_from_xml(BookView)

286 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.workbook.tests.test_views.TestCustomWorkbookView

test_ctor(CustomWorkbookView)

test_from_xml(CustomWorkbookView)

openpyxl.workbook.tests.test_web module

class openpyxl.workbook.tests.test_web.TestWebPublishObject

test_ctor(WebPublishObject)

test_from_xml(WebPublishObject)

class openpyxl.workbook.tests.test_web.TestWebPublishObjectList

test_ctor(WebPublishObjectList)

test_from_xml(WebPublishObjectList)

class openpyxl.workbook.tests.test_web.TestWebPublishing

test_ctor(WebPublishing)

test_from_xml(WebPublishing)

openpyxl.workbook.tests.test_web.WebPublishObject()

openpyxl.workbook.tests.test_web.WebPublishObjectList()

openpyxl.workbook.tests.test_web.WebPublishing()

openpyxl.workbook.tests.test_workbook module

class openpyxl.workbook.tests.test_workbook.TestCopy

test_cannot_copy_readonly()

test_cannot_copy_writeonly()

test_worksheet_copy()

test_worksheet_copy_name(title, copy)

class openpyxl.workbook.tests.test_workbook.TestWorkbook

test_named_styles()

test_template(has_vba, as_template, content_type)

openpyxl.workbook.tests.test_workbook.test_add_correct_sheet()

openpyxl.workbook.tests.test_workbook.test_add_invalid_worksheet_class_instance()

openpyxl.workbook.tests.test_workbook.test_add_named_range()

openpyxl.workbook.tests.test_workbook.test_add_sheet_from_other_workbook()

9.1. openpyxl package 287

openpyxl Documentation, Release 2.4.9

openpyxl.workbook.tests.test_workbook.test_add_sheetname()

openpyxl.workbook.tests.test_workbook.test_contains(Workbook)

openpyxl.workbook.tests.test_workbook.test_create_sheet()

openpyxl.workbook.tests.test_workbook.test_create_sheet_readonly()

openpyxl.workbook.tests.test_workbook.test_create_sheet_with_name()

openpyxl.workbook.tests.test_workbook.test_delitem(Workbook)

openpyxl.workbook.tests.test_workbook.test_get_active_sheet()

openpyxl.workbook.tests.test_workbook.test_get_named_range()

openpyxl.workbook.tests.test_workbook.test_get_named_ranges()

openpyxl.workbook.tests.test_workbook.test_get_sheet_names()

openpyxl.workbook.tests.test_workbook.test_getitem(Workbook, Worksheet)

openpyxl.workbook.tests.test_workbook.test_index()

openpyxl.workbook.tests.test_workbook.test_iter(Workbook)

openpyxl.workbook.tests.test_workbook.test_remove_named_range()

openpyxl.workbook.tests.test_workbook.test_remove_sheet()

openpyxl.workbook.tests.test_workbook.test_remove_sheet_with_names()

Module contents

Submodules

openpyxl.workbook.child module

openpyxl.workbook.child.avoid_duplicate_name(names, value)Naive check to see whether name already exists. If name does exist suggest a name using an incrementerDuplicates are case insensitive

openpyxl.workbook.defined_name module

class openpyxl.workbook.defined_name.DefinedName(name=None, comment=None, cus-tomMenu=None, description=None,help=None, statusBar=None, lo-calSheetId=None, hidden=None,function=None, vbProcedure=None,xlm=None, functionGroupId=None,shortcutKey=None, publish-ToServer=None, workbookParame-ter=None, attr_text=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

attr_text

commentValues must be of type <type ‘basestring’>

288 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

customMenuValues must be of type <type ‘basestring’>

descriptionValues must be of type <type ‘basestring’>

destinations

functionValues must be of type <type ‘bool’>

functionGroupIdValues must be of type <type ‘long’>

helpValues must be of type <type ‘basestring’>

hiddenValues must be of type <type ‘bool’>

is_external

is_reserved

localSheetIdValues must be of type <type ‘long’>

nameValues must be of type <type ‘basestring’>

publishToServerValues must be of type <type ‘bool’>

shortcutKeyValues must be of type <type ‘basestring’>

statusBarValues must be of type <type ‘basestring’>

tagname = ‘definedName’

type

valueAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

vbProcedureValues must be of type <type ‘bool’>

workbookParameterValues must be of type <type ‘bool’>

xlmValues must be of type <type ‘bool’>

class openpyxl.workbook.defined_name.DefinedNameList(definedName=())Bases: openpyxl.descriptors.serialisable.Serialisable

append(defn)

definedNameA sequence (list or tuple) that may only contain objects of the declared type

9.1. openpyxl package 289

openpyxl Documentation, Release 2.4.9

delete(name, scope=None)Delete a name assigned to a specific or global

get(name, scope=None)Get the name assigned to a specicic sheet or global

localnames(scope)Provide a list of all names for a particular worksheet

tagname = ‘definedNames’

openpyxl.workbook.external_reference module

class openpyxl.workbook.external_reference.ExternalReference(id)Bases: openpyxl.descriptors.serialisable.Serialisable

idValues must be of type <type ‘basestring’>

tagname = ‘externalReference’

openpyxl.workbook.function_group module

class openpyxl.workbook.function_group.FunctionGroup(name=None)Bases: openpyxl.descriptors.serialisable.Serialisable

nameValues must be of type <type ‘basestring’>

tagname = ‘functionGroup’

class openpyxl.workbook.function_group.FunctionGroupList(builtInGroupCount=16,functionGroup=())

Bases: openpyxl.descriptors.serialisable.Serialisable

builtInGroupCountValues must be of type <type ‘long’>

functionGroupA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘functionGroups’

openpyxl.workbook.parser module

class openpyxl.workbook.parser.ChildSheet(name=None, sheetId=None, state=’visible’,id=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Represents a reference to a worksheet or chartsheet in workbook.xml

It contains the title, order and state but only an indirect reference to the objects themselves.

idValues must be of type <type ‘basestring’>

nameValues must be of type <type ‘basestring’>

290 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

sheetIdValues must be of type <type ‘long’>

stateValue must be one of set([’visible’, ‘hidden’, ‘veryHidden’])

tagname = ‘sheet’

class openpyxl.workbook.parser.FileRecoveryProperties(autoRecover=None, crash-Save=None, dataExtract-Load=None, repairLoad=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

autoRecoverValues must be of type <type ‘bool’>

crashSaveValues must be of type <type ‘bool’>

dataExtractLoadValues must be of type <type ‘bool’>

repairLoadValues must be of type <type ‘bool’>

tagname = ‘fileRecoveryPr’

class openpyxl.workbook.parser.WorkbookPackage(conformance=None, fileVersion=None,fileSharing=None, workbookPr=None,workbookProtection=None, bookViews=(),sheets=(), functionGroups=None, exter-nalReferences=(), definedNames=None,calcPr=None, oleSize=None, custom-WorkbookViews=(), pivotCaches=None,smartTagPr=None, smartTagTypes=None,webPublishing=None, fileRecov-eryPr=None, webPublishObjects=None,extLst=None, Ignorable=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Represent the workbook file in the archive

IgnorableValues must be of type <type ‘basestring’>

active

bookViewsWrap a sequence in an containing object

calcPrValues must be of type <class ‘openpyxl.workbook.properties.CalcProperties’>

conformanceValue must be one of set([’strict’, ‘transitional’])

customWorkbookViewsWrap a sequence in an containing object

definedNamesValues must be of type <class ‘openpyxl.workbook.defined_name.DefinedNameList’>

9.1. openpyxl package 291

openpyxl Documentation, Release 2.4.9

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

externalReferencesWrap a sequence in an containing object

fileRecoveryPrValues must be of type <class ‘openpyxl.workbook.parser.FileRecoveryProperties’>

fileSharingValues must be of type <class ‘openpyxl.workbook.protection.FileSharing’>

fileVersionValues must be of type <class ‘openpyxl.workbook.properties.FileVersion’>

functionGroupsValues must be of type <class ‘openpyxl.workbook.function_group.FunctionGroupList’>

oleSizeValues must be of type <type ‘basestring’>

pivotCachesValues must be of type <class ‘openpyxl.workbook.pivot.PivotCacheList’>

propertiesAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

sheetsWrap a sequence in an containing object

smartTagPrValues must be of type <class ‘openpyxl.workbook.smart_tags.SmartTagProperties’>

smartTagTypesValues must be of type <class ‘openpyxl.workbook.smart_tags.SmartTagList’>

tagname = ‘workbook’

to_tree()

webPublishObjectsValues must be of type <class ‘openpyxl.workbook.web.WebPublishObjectList’>

webPublishingValues must be of type <class ‘openpyxl.workbook.web.WebPublishing’>

workbookPrValues must be of type <class ‘openpyxl.workbook.properties.WorkbookProperties’>

workbookProtectionValues must be of type <class ‘openpyxl.workbook.protection.WorkbookProtection’>

openpyxl.workbook.pivot module

class openpyxl.workbook.pivot.PivotCache(cacheId=None)Bases: openpyxl.descriptors.serialisable.Serialisable

cacheIdValues must be of type <type ‘long’>

tagname = ‘pivotCache’

292 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.workbook.pivot.PivotCacheList(pivotCache=())Bases: openpyxl.descriptors.serialisable.Serialisable

pivotCacheA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘pivotCaches’

openpyxl.workbook.properties module

class openpyxl.workbook.properties.CalcProperties(calcId=124519, calcMode=None, full-CalcOnLoad=True, refMode=None,iterate=None, iterateCount=None, it-erateDelta=None, fullPrecision=None,calcCompleted=None, calcOn-Save=None, concurrentCalc=None,concurrentManualCount=None, force-FullCalc=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

calcCompletedValues must be of type <type ‘bool’>

calcIdValues must be of type <type ‘long’>

calcModeValue must be one of set([’auto’, ‘autoNoTable’, ‘manual’])

calcOnSaveValues must be of type <type ‘bool’>

concurrentCalcValues must be of type <type ‘bool’>

concurrentManualCountValues must be of type <type ‘long’>

forceFullCalcValues must be of type <type ‘bool’>

fullCalcOnLoadValues must be of type <type ‘bool’>

fullPrecisionValues must be of type <type ‘bool’>

iterateValues must be of type <type ‘bool’>

iterateCountValues must be of type <type ‘long’>

iterateDeltaValues must be of type <type ‘float’>

refModeValue must be one of set([’A1’, ‘R1C1’])

tagname = ‘calcPr’

9.1. openpyxl package 293

openpyxl Documentation, Release 2.4.9

class openpyxl.workbook.properties.FileVersion(appName=None, lastEdited=None, low-estEdited=None, rupBuild=None, code-Name=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

appNameValues must be of type <type ‘basestring’>

codeName

lastEditedValues must be of type <type ‘basestring’>

lowestEditedValues must be of type <type ‘basestring’>

rupBuildValues must be of type <type ‘basestring’>

tagname = ‘fileVersion’

class openpyxl.workbook.properties.WorkbookProperties(date1904=None, dateCom-patibility=None, showOb-jects=None, showBorderUn-selectedTables=None, filter-Privacy=None, promptedSolu-tions=None, showInkAnnota-tion=None, backupFile=None,saveExternalLinkValues=None,updateLinks=None, code-Name=None, hidePivot-FieldList=None, showPiv-otChartFilter=None, al-lowRefreshQuery=None,publishItems=None, check-Compatibility=None, au-toCompressPictures=None,refreshAllConnections=None,defaultThemeVersion=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

allowRefreshQueryValues must be of type <type ‘bool’>

autoCompressPicturesValues must be of type <type ‘bool’>

backupFileValues must be of type <type ‘bool’>

checkCompatibilityValues must be of type <type ‘bool’>

codeNameValues must be of type <type ‘basestring’>

date1904Values must be of type <type ‘bool’>

dateCompatibilityValues must be of type <type ‘bool’>

294 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

defaultThemeVersionValues must be of type <type ‘long’>

filterPrivacyValues must be of type <type ‘bool’>

hidePivotFieldListValues must be of type <type ‘bool’>

promptedSolutionsValues must be of type <type ‘bool’>

publishItemsValues must be of type <type ‘bool’>

refreshAllConnectionsValues must be of type <type ‘bool’>

saveExternalLinkValuesValues must be of type <type ‘bool’>

showBorderUnselectedTablesValues must be of type <type ‘bool’>

showInkAnnotationValues must be of type <type ‘bool’>

showObjectsValue must be one of set([’all’, ‘placeholders’])

showPivotChartFilterValues must be of type <type ‘bool’>

tagname = ‘workbookPr’

updateLinksValue must be one of set([’always’, ‘never’, ‘userSet’])

openpyxl.workbook.protection module

openpyxl.workbook.protection.DocumentSecurityalias of WorkbookProtection

class openpyxl.workbook.protection.FileSharing(readOnlyRecommended=None, user-Name=None, reservationPassword=None,algorithmName=None, hashValue=None,saltValue=None, spinCount=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

algorithmNameValues must be of type <type ‘basestring’>

hashValue

readOnlyRecommendedValues must be of type <type ‘bool’>

reservationPassword

saltValue

spinCountValues must be of type <type ‘long’>

9.1. openpyxl package 295

openpyxl Documentation, Release 2.4.9

tagname = ‘fileSharing’

userNameValues must be of type <type ‘basestring’>

class openpyxl.workbook.protection.WorkbookProtection(workbookPassword=None,workbookPasswordCharac-terSet=None, revisionsPass-word=None, revisionsPass-wordCharacterSet=None,lockStructure=None, lockWin-dows=None, lockRevision=None,revisionsAlgorithmName=None,revisionsHashValue=None,revisionsSaltValue=None, revi-sionsSpinCount=None, work-bookAlgorithmName=None,workbookHashValue=None,workbookSaltValue=None,workbookSpinCount=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

classmethod from_tree(node)Don’t hash passwords when deserialising from XML

lockRevisionValues must be of type <type ‘bool’>

lockStructureValues must be of type <type ‘bool’>

lockWindowsValues must be of type <type ‘bool’>

lock_revisionAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

lock_structureAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

lock_windowsAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

revision_passwordAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

revisionsAlgorithmNameValues must be of type <type ‘basestring’>

revisionsHashValue

revisionsPasswordReturn the revisions password value, regardless of hash.

revisionsPasswordCharacterSetValues must be of type <type ‘basestring’>

revisionsSaltValue

296 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

revisionsSpinCountValues must be of type <type ‘long’>

set_revisions_password(value=’‘, already_hashed=False)Set a revision password on this workbook.

set_workbook_password(value=’‘, already_hashed=False)Set a password on this workbook.

tagname = ‘workbookPr’

workbookAlgorithmNameValues must be of type <type ‘basestring’>

workbookHashValue

workbookPasswordReturn the workbook password value, regardless of hash.

workbookPasswordCharacterSetValues must be of type <type ‘basestring’>

workbookSaltValue

workbookSpinCountValues must be of type <type ‘long’>

workbook_passwordAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

openpyxl.workbook.smart_tags module

class openpyxl.workbook.smart_tags.SmartTag(namespaceUri=None, name=None, url=None)Bases: openpyxl.descriptors.serialisable.Serialisable

nameValues must be of type <type ‘basestring’>

namespaceUriValues must be of type <type ‘basestring’>

tagname = ‘smartTagType’

urlValues must be of type <type ‘basestring’>

class openpyxl.workbook.smart_tags.SmartTagList(smartTagType=())Bases: openpyxl.descriptors.serialisable.Serialisable

smartTagTypeA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘smartTagTypes’

class openpyxl.workbook.smart_tags.SmartTagProperties(embed=None, show=None)Bases: openpyxl.descriptors.serialisable.Serialisable

embedValues must be of type <type ‘bool’>

showValue must be one of set([’all’, ‘noIndicator’])

9.1. openpyxl package 297

openpyxl Documentation, Release 2.4.9

tagname = ‘smartTagPr’

openpyxl.workbook.views module

class openpyxl.workbook.views.BookView(visibility=None, minimized=None, showHorizon-talScroll=None, showVerticalScroll=None, show-SheetTabs=None, xWindow=None, yWindow=None,windowWidth=None, windowHeight=None, tabRa-tio=None, firstSheet=None, activeTab=None, autoFil-terDateGrouping=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

activeTabValues must be of type <type ‘long’>

autoFilterDateGroupingValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

firstSheetValues must be of type <type ‘long’>

minimizedValues must be of type <type ‘bool’>

showHorizontalScrollValues must be of type <type ‘bool’>

showSheetTabsValues must be of type <type ‘bool’>

showVerticalScrollValues must be of type <type ‘bool’>

tabRatioValues must be of type <type ‘long’>

tagname = ‘workbookView’

visibilityValue must be one of set([’visible’, ‘hidden’, ‘veryHidden’])

windowHeightValues must be of type <type ‘long’>

windowWidthValues must be of type <type ‘long’>

xWindowValues must be of type <type ‘long’>

yWindowValues must be of type <type ‘long’>

298 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.workbook.views.CustomWorkbookView(name=None, guid=None,autoUpdate=None, mergeInter-val=None, changesSavedWin=None,onlySync=None, personalView=None,includePrintSettings=None, in-cludeHiddenRowCol=None, max-imized=None, minimized=None,showHorizontalScroll=None, showVer-ticalScroll=None, showSheet-Tabs=None, xWindow=None, yWin-dow=None, windowWidth=None,windowHeight=None, tabRatio=None,activeSheetId=None, showFormula-Bar=None, showStatusbar=None,showComments=’commIndicator’,showObjects=’all’, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

activeSheetIdValues must be of type <type ‘long’>

autoUpdateValues must be of type <type ‘bool’>

changesSavedWinValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

guid

includeHiddenRowColValues must be of type <type ‘bool’>

includePrintSettingsValues must be of type <type ‘bool’>

maximizedValues must be of type <type ‘bool’>

mergeIntervalValues must be of type <type ‘long’>

minimizedValues must be of type <type ‘bool’>

nameValues must be of type <type ‘basestring’>

onlySyncValues must be of type <type ‘bool’>

personalViewValues must be of type <type ‘bool’>

showCommentsValue must be one of set([’commIndAndComment’, ‘commIndicator’, ‘commNone’])

showFormulaBarValues must be of type <type ‘bool’>

9.1. openpyxl package 299

openpyxl Documentation, Release 2.4.9

showHorizontalScrollValues must be of type <type ‘bool’>

showObjectsValue must be one of set([’all’, ‘placeholders’])

showSheetTabsValues must be of type <type ‘bool’>

showStatusbarValues must be of type <type ‘bool’>

showVerticalScrollValues must be of type <type ‘bool’>

tabRatioValues must be of type <type ‘long’>

tagname = ‘customWorkbookView’

windowHeightValues must be of type <type ‘long’>

windowWidthValues must be of type <type ‘long’>

xWindowValues must be of type <type ‘long’>

yWindowValues must be of type <type ‘long’>

openpyxl.workbook.web module

class openpyxl.workbook.web.WebPublishObject(id=None, divId=None, sourceObject=None,destinationFile=None, title=None, autoRepub-lish=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

autoRepublishValues must be of type <type ‘bool’>

destinationFileValues must be of type <type ‘basestring’>

divIdValues must be of type <type ‘basestring’>

idValues must be of type <type ‘long’>

sourceObjectValues must be of type <type ‘basestring’>

tagname = ‘webPublishingObject’

titleValues must be of type <type ‘basestring’>

class openpyxl.workbook.web.WebPublishObjectList(count=None, webPublishObject=())Bases: openpyxl.descriptors.serialisable.Serialisable

count

300 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

tagname = ‘webPublishingObjects’

webPublishObjectA sequence (list or tuple) that may only contain objects of the declared type

class openpyxl.workbook.web.WebPublishing(css=None, thicket=None, longFileNames=None,vml=None, allowPng=None, targetScreen-Size=‘800x600’, dpi=None, codePage=None,characterSet=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

allowPngValues must be of type <type ‘bool’>

characterSetValues must be of type <type ‘basestring’>

codePageValues must be of type <type ‘long’>

cssValues must be of type <type ‘bool’>

dpiValues must be of type <type ‘long’>

longFileNamesValues must be of type <type ‘bool’>

tagname = ‘webPublishing’

targetScreenSizeValue must be one of set([‘1920x1200’, ‘720x512’, ‘800x600’, ‘1152x900’, ‘1600x1200’, ‘1024x768’,‘640x480’, ‘1152x882’, ‘1280x1024’, ‘544x376’, ‘1800x1440’])

thicketValues must be of type <type ‘bool’>

vmlValues must be of type <type ‘bool’>

openpyxl.workbook.workbook module

class openpyxl.workbook.workbook.Workbook(write_only=False)Bases: object

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

activeGet the currently active sheet or None

add_named_range(*args, **kwargs)Add an existing named_range to the list of named_ranges.

add_named_style(style)Add a named style

chartsheets

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

9.1. openpyxl package 301

openpyxl Documentation, Release 2.4.9

copy_worksheet(from_worksheet)Copy an existing worksheet in the current workbook :warning: This function cannot copy worksheetsbetween 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)

create_named_range(name, worksheet=None, value=None, scope=None)Create a new named_range on a worksheet

create_sheet(title=None, index=None)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)Returns the current active sheet.

get_index(*args, **kwargs)Return the index of the worksheet.

get_named_range(*args, **kwargs)Return the range specified by name.

get_named_ranges(*args, **kwargs)Return all named ranges

get_sheet_by_name(*args, **kwargs)Returns a worksheet by its name.

Parameters name (string) – the name of the worksheet to look for

get_sheet_names(*args, **kwargs)

index(worksheet)Return the index of a worksheet.

keep_links

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

named_stylesList available named styles

path = ‘/xl/workbook.xml’

read_only

remove(worksheet)Remove a worksheet from this workbook.

remove_named_range(*args, **kwargs)Remove a named_range from this workbook.

302 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

remove_sheet(*args, **kwargs)Remove a worksheet from this workbook.

save(filename)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 thisfunction once. Subsequents attempts to modify or save the file will raise an openpyxl.shared.exc.WorkbookAlreadySaved exception.

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

Names are returned in the worksheets order.

Return type list of strings

style_namesList of named styles

template = False

worksheets

write_only

Module contents

openpyxl.worksheet package

Subpackages

openpyxl.worksheet.tests package

Submodules

openpyxl.worksheet.tests.conftest module

openpyxl.worksheet.tests.conftest.datadir()DATADIR as a LocalPath

openpyxl.worksheet.tests.test_datavalidation module

openpyxl.worksheet.tests.test_datavalidation.DataValidation()

openpyxl.worksheet.tests.test_datavalidation.DataValidationList()

class openpyxl.worksheet.tests.test_datavalidation.TestDataValidation

test_add_after_sqref(DataValidation)

test_ctor(DataValidation)

test_from_xml(DataValidation)

9.1. openpyxl package 303

openpyxl Documentation, Release 2.4.9

test_hide_drop_down(DataValidation)

test_parser(DataValidation)

test_read_formula(DataValidation)

test_sqref(DataValidation)

test_writer_validation(DataValidation)

class openpyxl.worksheet.tests.test_datavalidation.TestDataValidationList

test_ctor(DataValidationList)

test_from_xml(DataValidationList)

openpyxl.worksheet.tests.test_datavalidation.test_collapse_cell_addresses(cells,ex-pected)

openpyxl.worksheet.tests.test_datavalidation.test_expand_cell_ranges()

openpyxl.worksheet.tests.test_dimensions module

openpyxl.worksheet.tests.test_dimensions.ColumnDimension()

class openpyxl.worksheet.tests.test_dimensions.DummyWorkbook

class openpyxl.worksheet.tests.test_dimensions.DummyWorksheet

openpyxl.worksheet.tests.test_dimensions.RowDimension()

class openpyxl.worksheet.tests.test_dimensions.TestColDimension

test_col_dimensions(ColumnDimension, key, value, expected)

test_col_reindex(ColumnDimension)

test_col_style(ColumnDimension)

test_col_width(ColumnDimension)

test_column_dimension(ColumnDimension)

test_copy(ColumnDimension)

test_no_named_style(ColumnDimension)

test_outline_cols(ColumnDimension)

class openpyxl.worksheet.tests.test_dimensions.TestGrouping

test_group_columns_collapse()

test_group_columns_simple()

test_no_cols()

class openpyxl.worksheet.tests.test_dimensions.TestRowDimension

test_copy(RowDimension)

test_row_dimension(RowDimension)

304 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.worksheet.tests.test_dimensions.test_dimension_interface()

openpyxl.worksheet.tests.test_dimensions.test_invalid_dimension_ctor()

openpyxl.worksheet.tests.test_filters module

openpyxl.worksheet.tests.test_filters.AutoFilter()

openpyxl.worksheet.tests.test_filters.ColorFilter()

openpyxl.worksheet.tests.test_filters.CustomFilter()

openpyxl.worksheet.tests.test_filters.CustomFilters()

openpyxl.worksheet.tests.test_filters.DateGroupItem()

openpyxl.worksheet.tests.test_filters.DynamicFilter()

openpyxl.worksheet.tests.test_filters.FilterColumn()

openpyxl.worksheet.tests.test_filters.Filters()

openpyxl.worksheet.tests.test_filters.IconFilter()

openpyxl.worksheet.tests.test_filters.SortCondition()

openpyxl.worksheet.tests.test_filters.SortState()

class openpyxl.worksheet.tests.test_filters.TestAutoFilter

test_add_filter_column(AutoFilter)

test_add_sort_condition(AutoFilter)

test_bool(AutoFilter)

test_ctor(AutoFilter)

test_from_xml(AutoFilter)

class openpyxl.worksheet.tests.test_filters.TestColorFilter

test_ctor(ColorFilter)

test_from_xml(ColorFilter)

class openpyxl.worksheet.tests.test_filters.TestCustomFilter

test_ctor(CustomFilter)

test_from_xml(CustomFilter)

class openpyxl.worksheet.tests.test_filters.TestCustomFilters

test_ctor(CustomFilters)

test_from_xml(CustomFilters)

class openpyxl.worksheet.tests.test_filters.TestDateGroupItem

test_ctor(DateGroupItem)

9.1. openpyxl package 305

openpyxl Documentation, Release 2.4.9

test_from_xml(DateGroupItem)

class openpyxl.worksheet.tests.test_filters.TestDynamicFilter

test_ctor(DynamicFilter)

test_from_xml(DynamicFilter)

class openpyxl.worksheet.tests.test_filters.TestFilterColumn

test_ctor(FilterColumn)

test_from_xml(FilterColumn)

class openpyxl.worksheet.tests.test_filters.TestFilters

test_ctor(Filters)

test_from_xml(Filters)

test_write_filters(Filters)

class openpyxl.worksheet.tests.test_filters.TestIconFilter

test_ctor(IconFilter)

test_from_xml(IconFilter)

class openpyxl.worksheet.tests.test_filters.TestSortCondition

test_ctor(SortCondition)

test_from_xml(SortCondition)

class openpyxl.worksheet.tests.test_filters.TestSortState

test_bool(SortState)

test_ctor(SortState)

test_from_xml(SortState)

class openpyxl.worksheet.tests.test_filters.TestTop10

test_ctor(Top10)

test_from_xml(Top10)

openpyxl.worksheet.tests.test_filters.Top10()

openpyxl.worksheet.tests.test_header module

openpyxl.worksheet.tests.test_header.HeaderFooter()

openpyxl.worksheet.tests.test_header.HeaderFooterItem()

class openpyxl.worksheet.tests.test_header.TestHeaderFooter

306 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_bool(HeaderFooter, HeaderFooterItem)

test_ctor(HeaderFooter)

test_from_xml(HeaderFooter)

class openpyxl.worksheet.tests.test_header.TestHeaderFooterItem

test_bool(HeaderFooterItem)

test_ctor(HeaderFooterItem)

test_read(HeaderFooterItem)

test_unicode(HeaderFooterItem)

test_write(HeaderFooterItem)

class openpyxl.worksheet.tests.test_header.TestHeaderFooterPart

test_bool(_HeaderFooterPart)

test_ctor(_HeaderFooterPart)

test_read(_HeaderFooterPart)

test_unicode(_HeaderFooterPart)

openpyxl.worksheet.tests.test_header.test_cannot_split()

openpyxl.worksheet.tests.test_header.test_multiline_string()

openpyxl.worksheet.tests.test_header.test_parse_format(value, expected)

openpyxl.worksheet.tests.test_header.test_split_into_parts()

openpyxl.worksheet.tests.test_hyperlink module

openpyxl.worksheet.tests.test_hyperlink.Hyperlink()

openpyxl.worksheet.tests.test_hyperlink.HyperlinkList()

class openpyxl.worksheet.tests.test_hyperlink.TestHyperlink

test_ctor(Hyperlink)

test_from_xml(Hyperlink)

class openpyxl.worksheet.tests.test_hyperlink.TestHyperlinkList

test_append(HyperlinkList, Hyperlink)

test_ctor(HyperlinkList)

test_from_xml(HyperlinkList)

openpyxl.worksheet.tests.test_page module

openpyxl.worksheet.tests.test_page.DummyWorksheet()

openpyxl.worksheet.tests.test_page.PageMargins()

9.1. openpyxl package 307

openpyxl Documentation, Release 2.4.9

openpyxl.worksheet.tests.test_page.PrintOptions()

openpyxl.worksheet.tests.test_page.PrintPageSetup()

class openpyxl.worksheet.tests.test_page.TestPageMargins

test_ctor(PageMargins)

test_write(PageMargins)

class openpyxl.worksheet.tests.test_page.TestPageSetup

test_autoPageBreaks(DummyWorksheet)

test_ctor(PrintPageSetup)

test_fitToPage(DummyWorksheet)

test_write(PrintPageSetup)

class openpyxl.worksheet.tests.test_page.TestPrintOptions

test_ctor(PrintOptions)

test_write(PrintOptions)

openpyxl.worksheet.tests.test_pagebreak module

openpyxl.worksheet.tests.test_pagebreak.Break()

openpyxl.worksheet.tests.test_pagebreak.PageBreak()

class openpyxl.worksheet.tests.test_pagebreak.TestBreak

test_ctor(Break)

class openpyxl.worksheet.tests.test_pagebreak.TestPageBreak

test_brk(PageBreak)

test_no_brks(PageBreak)

openpyxl.worksheet.tests.test_properties module

openpyxl.worksheet.tests.test_properties.SimpleTestProps()

openpyxl.worksheet.tests.test_properties.test_ctor()

openpyxl.worksheet.tests.test_properties.test_parse_properties(datadir, Sim-pleTestProps)

openpyxl.worksheet.tests.test_properties.test_write_properties(SimpleTestProps)

308 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.worksheet.tests.test_protection module

openpyxl.worksheet.tests.test_protection.test_ctor()

openpyxl.worksheet.tests.test_protection.test_ctor_with_password()

openpyxl.worksheet.tests.test_protection.test_explicit_password(password, al-ready_hashed,value)

openpyxl.worksheet.tests.test_read_only module

class openpyxl.worksheet.tests.test_read_only.DummyWorkbook

excel_base_date = None

sheetnames = []

openpyxl.worksheet.tests.test_read_only.ReadOnlyWorksheet()

class openpyxl.worksheet.tests.test_read_only.TestReadOnlyWorksheet

test_from_xml(datadir, ReadOnlyWorksheet)

openpyxl.worksheet.tests.test_related module

openpyxl.worksheet.tests.test_related.test_related()

openpyxl.worksheet.tests.test_table module

openpyxl.worksheet.tests.test_table.Table()

openpyxl.worksheet.tests.test_table.TableColumn()

openpyxl.worksheet.tests.test_table.TableFormula()

openpyxl.worksheet.tests.test_table.TablePartList()

openpyxl.worksheet.tests.test_table.TableStyleInfo()

class openpyxl.worksheet.tests.test_table.TestTable

test_ctor(Table, TableColumn)

test_from_xml(Table)

test_path(Table)

test_write(Table)

class openpyxl.worksheet.tests.test_table.TestTableColumn

test_ctor(TableColumn)

test_from_xml(TableColumn)

9.1. openpyxl package 309

openpyxl Documentation, Release 2.4.9

class openpyxl.worksheet.tests.test_table.TestTableFormula

test_ctor(TableFormula)

test_from_xml(TableFormula)

class openpyxl.worksheet.tests.test_table.TestTableInfo

test_ctor(TableStyleInfo)

test_from_xml(TableStyleInfo)

class openpyxl.worksheet.tests.test_table.TestTablePartList

test_ctor(TablePartList)

test_from_xml(TablePartList)

class openpyxl.worksheet.tests.test_table.TestXMLColumnPr

test_ctor(XMLColumnProps)

test_from_xml(XMLColumnProps)

openpyxl.worksheet.tests.test_table.XMLColumnProps()

openpyxl.worksheet.tests.test_views module

openpyxl.worksheet.tests.test_views.SheetView()

openpyxl.worksheet.tests.test_views.SheetViewList()

class openpyxl.worksheet.tests.test_views.TestSheetViews

test_ctor(SheetViewList)

test_from_xml(SheetViewList)

openpyxl.worksheet.tests.test_views.test_parse(SheetView)

openpyxl.worksheet.tests.test_views.test_serialise(SheetView)

openpyxl.worksheet.tests.test_views.test_show_gridlines(SheetView, value, result)

openpyxl.worksheet.tests.test_worksheet module

class openpyxl.worksheet.tests.test_worksheet.DummyWorkbook

encoding = ‘UTF-8’

class openpyxl.worksheet.tests.test_worksheet.TestPositioningBases: object

test_point()

test_point_negative()

test_roundtrip(value)

310 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.worksheet.tests.test_worksheet.TestWorksheet

test_append(Worksheet)

test_append_2d_list(Worksheet)

test_append_cell(Worksheet)

test_append_dict_index(Worksheet)

test_append_dict_letter(Worksheet)

test_append_iterator(Worksheet)

test_append_list(Worksheet)

test_append_range(Worksheet)

test_auto_filter(Worksheet)

test_bad_append(Worksheet)

test_by_col(Worksheet)

test_cell_alternate_coordinates(Worksheet)

test_cell_insufficient_coordinates(Worksheet)

test_cell_range_name()

test_cols(Worksheet)

test_fill_rows(Worksheet, row, column, coordinate)

test_freeze(Worksheet)

test_get_bad_named_range(Worksheet)

test_get_cell(Worksheet)

test_get_named_range(Worksheet)

test_get_named_range_wrong_sheet(Worksheet)

test_get_row(Worksheet, key)

test_get_single__column(Worksheet, key)

test_getitem(Worksheet)

test_getitem_invalid(Worksheet, key)

test_getslice(Worksheet)

test_hyperlink_value(Worksheet)

test_invalid_cell(Worksheet)

test_iter_rows(Worksheet)

test_iter_rows_offset(Worksheet)

test_merge_coordinate(Worksheet)

test_merge_range_string(Worksheet)

test_merged_cell_ranges(Worksheet)

test_merged_cells_lookup(Worksheet)

9.1. openpyxl package 311

openpyxl Documentation, Release 2.4.9

test_new_worksheet(Worksheet)

test_no_cols(Worksheet)

test_no_rows(Worksheet)

test_one_cell(Worksheet)

test_path(Worksheet)

test_print_area(cell_range, result)

test_print_title_old(value, result, rows_cols)

test_print_titles_new(rows, cols, titles)

test_rows(Worksheet)

test_setitem(Worksheet)

test_squared_range(Worksheet)

test_unmerge_coordinate(Worksheet)

test_unmerge_range_string(Worksheet)

test_values(Worksheet)

test_worksheet_dimension(Worksheet)

openpyxl.worksheet.tests.test_worksheet.Worksheet()

openpyxl.worksheet.tests.test_worksheet.test_freeze_panes_both(Worksheet)

openpyxl.worksheet.tests.test_worksheet.test_freeze_panes_horiz(Worksheet)

openpyxl.worksheet.tests.test_worksheet.test_freeze_panes_vert(Worksheet)

openpyxl.worksheet.tests.test_worksheet.test_max_column(Worksheet)

openpyxl.worksheet.tests.test_worksheet.test_max_row(Worksheet)

openpyxl.worksheet.tests.test_worksheet.test_min_column(Worksheet)

openpyxl.worksheet.tests.test_worksheet.test_min_row(Worksheet)

openpyxl.worksheet.tests.test_worksheet_copy module

class openpyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopy

test_cannot_copy_between_workbooks(WorksheetCopy)

test_cannot_copy_junk(WorksheetCopy)

test_cannot_copy_to_self(WorksheetCopy)

test_cell_copy_comment(copier)

test_cell_copy_hyperlink(copier)

test_cell_copy_style(copier)

test_cell_copy_value(copier)

test_copy_col_dimensions(copier)

test_copy_row_dimensions(copier)

312 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

test_ctor(WorksheetCopy)

test_merged_cell_copy(copier)

openpyxl.worksheet.tests.test_worksheet_copy.WorksheetCopy()

openpyxl.worksheet.tests.test_worksheet_copy.compare_cells(source_cell, tar-get_cell)

openpyxl.worksheet.tests.test_worksheet_copy.copier(WorksheetCopy)

openpyxl.worksheet.tests.test_worksheet_copy.test_copy_worksheet(datadir,Worksheet-Copy)

Module contents

Submodules

openpyxl.worksheet.copier module

class openpyxl.worksheet.copier.WorksheetCopy(source_worksheet, target_worksheet)Bases: object

Copy the values, styles, dimensions and merged cells from one worksheet to another within the same workbook.

copy_worksheet()

openpyxl.worksheet.datavalidation module

class openpyxl.worksheet.datavalidation.DataValidation(type=None, formula1=None,formula2=None, al-low_blank=False, showEr-rorMessage=True, showIn-putMessage=True, show-DropDown=None, allow-Blank=None, sqref=None,promptTitle=None, er-rorStyle=None, error=None,prompt=None, errorTi-tle=None, imeMode=None,operator=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

add(cell)Adds a openpyxl.cell to this validator

allowBlankValues must be of type <type ‘bool’>

allow_blankAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

errorValues must be of type <type ‘basestring’>

9.1. openpyxl package 313

openpyxl Documentation, Release 2.4.9

errorStyleValue must be one of set([’information’, ‘warning’, ‘stop’])

errorTitleValues must be of type <type ‘basestring’>

formula1Values must be of type <type ‘unicode’>

formula2Values must be of type <type ‘unicode’>

hide_drop_downAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

imeModeValue must be one of set([’on’, ‘off’, ‘noControl’, ‘halfHangul’, ‘disabled’, ‘hiragana’, ‘fullHangul’, ‘ful-lKatakana’, ‘fullAlpha’, ‘halfKatakana’, ‘halfAlpha’])

operatorValue must be one of set([’notEqual’, ‘notBetween’, ‘lessThanOrEqual’, ‘equal’, ‘lessThan’,‘greaterThan’, ‘between’, ‘greaterThanOrEqual’])

promptValues must be of type <type ‘basestring’>

promptTitleValues must be of type <type ‘basestring’>

showDropDownValues must be of type <type ‘bool’>

showErrorMessageValues must be of type <type ‘bool’>

showInputMessageValues must be of type <type ‘bool’>

sqref

tagname = ‘dataValidation’

typeValue must be one of set([’textLength’, ‘decimal’, ‘list’, ‘custom’, ‘time’, ‘date’, ‘whole’])

validation_typeAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.worksheet.datavalidation.DataValidationList(disablePrompts=None,xWindow=None, yWin-dow=None, count=None,dataValidation=())

Bases: openpyxl.descriptors.serialisable.Serialisable

append(dv)

count

dataValidationA sequence (list or tuple) that may only contain objects of the declared type

314 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

disablePromptsValues must be of type <type ‘bool’>

tagname = ‘dataValidations’

xWindowValues must be of type <type ‘long’>

yWindowValues must be of type <type ‘long’>

openpyxl.worksheet.datavalidation.collapse_cell_addresses(cells, input_ranges=())Collapse a collection of cell co-ordinates down into an optimal range or collection of ranges.

E.g. Cells A1, A2, A3, B1, B2 and B3 should have the data-validation object applied, attempt to collapse downto a single range, A1:B3.

Currently only collapsing contiguous vertical ranges (i.e. above example results in A1:A3 B1:B3).

openpyxl.worksheet.datavalidation.expand_cell_ranges(range_string)Expand cell ranges to a sequence of addresses. Reverse of collapse_cell_addresses Eg. converts “A1:A2 B1:B2”to (A1, A2, B1, B2)

openpyxl.worksheet.dimensions module

class openpyxl.worksheet.dimensions.ColumnDimension(worksheet, index=’A’, width=None,bestFit=False, hidden=False, out-lineLevel=0, outline_level=None,collapsed=False, style=None,min=None, max=None, cus-tomWidth=False, visible=None,auto_size=None)

Bases: openpyxl.worksheet.dimensions.Dimension

Information about the display properties of a column.

auto_sizeAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

bestFitValues must be of type <type ‘bool’>

collapsedValues must be of type <type ‘bool’>

customWidthAlways true if there is a width for the column

indexValues must be of type <type ‘basestring’>

maxValues must be of type <type ‘long’>

minValues must be of type <type ‘long’>

reindex()Set boundaries for column definition

to_tree()

9.1. openpyxl package 315

openpyxl Documentation, Release 2.4.9

widthValues must be of type <type ‘float’>

class openpyxl.worksheet.dimensions.Dimension(index, hidden, outlineLevel, collapsed, work-sheet, visible=True, style=None)

Bases: openpyxl.descriptors.Strict, openpyxl.styles.styleable.StyleableObject

Information about the display properties of a row or column.

collapsedValues must be of type <type ‘bool’>

hiddenValues must be of type <type ‘bool’>

indexValues must be of type <type ‘long’>

outlineLevelValues must be of type <type ‘long’>

outline_levelAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

styleAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.worksheet.dimensions.DimensionHolder(worksheet, reference=’index’, de-fault_factory=None)

Bases: openpyxl.utils.bound_dictionary.BoundDictionary

Allow columns to be grouped

group(start, end=None, outline_level=1, hidden=False)allow grouping a range of consecutive columns together

Parameters

• start – first column to be grouped (mandatory)

• end – last column to be grouped (optional, default to start)

• outline_level – outline level

• hidden – should the group be hidden on workbook open or not

to_tree()

class openpyxl.worksheet.dimensions.RowDimension(worksheet, index=0, ht=None, cus-tomHeight=None, s=None, custom-Format=None, hidden=False, out-lineLevel=0, outline_level=None,collapsed=False, visible=None,height=None, r=None, spans=None,thickBot=None, thickTop=None, **kw)

Bases: openpyxl.worksheet.dimensions.Dimension

Information about the display properties of a row.

customFormatAlways true if there is a style for the row

316 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

customHeightAlways true if there is a height for the row

heightAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

htValues must be of type <type ‘float’>

rAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

sAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

thickBotValues must be of type <type ‘bool’>

thickTopValues must be of type <type ‘bool’>

class openpyxl.worksheet.dimensions.SheetDimension(ref=None)Bases: openpyxl.descriptors.serialisable.Serialisable

boundaries

refValues must be of type <type ‘basestring’>

tagname = ‘dimension’

class openpyxl.worksheet.dimensions.SheetFormatProperties(baseColWidth=8, de-faultColWidth=None,defaultRowHeight=15,customHeight=None,zeroHeight=None, thick-Top=None, thickBot-tom=None, outlineLevel-Row=None, outlineLevel-Col=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

baseColWidthValues must be of type <type ‘long’>

customHeightValues must be of type <type ‘bool’>

defaultColWidthValues must be of type <type ‘float’>

defaultRowHeightValues must be of type <type ‘float’>

outlineLevelColValues must be of type <type ‘long’>

outlineLevelRowValues must be of type <type ‘long’>

9.1. openpyxl package 317

openpyxl Documentation, Release 2.4.9

tagname = ‘sheetFormatPr’

thickBottomValues must be of type <type ‘bool’>

thickTopValues must be of type <type ‘bool’>

zeroHeightValues must be of type <type ‘bool’>

openpyxl.worksheet.drawing module

class openpyxl.worksheet.drawing.Drawing(id=None)Bases: openpyxl.descriptors.serialisable.Serialisable

idValues must be of type <type ‘basestring’>

tagname = ‘drawing’

openpyxl.worksheet.filters module

class openpyxl.worksheet.filters.AutoFilter(ref=None, filterColumn=(), sortState=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

add_filter_column(col_id, vals, blank=False)Add row filter for specified column.

Parameters

• col_id (int) – Zero-origin column id. 0 means first column.

• vals (str[]) – Value list to show.

• blank (bool) – Show rows that have blank cell if True (default=‘‘False‘‘)

add_sort_condition(ref, descending=False)Add sort condition for cpecified range of cells.

Parameters

• ref (string) – range of the cells (e.g. ‘A2:A150’)

• descending (bool) – Descending sort order (default=‘‘False‘‘)

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

filterColumnA sequence (list or tuple) that may only contain objects of the declared type

ref

sortStateValues must be of type <class ‘openpyxl.worksheet.filters.SortState’>

tagname = ‘autoFilter’

class openpyxl.worksheet.filters.ColorFilter(dxfId=None, cellColor=None)Bases: openpyxl.descriptors.serialisable.Serialisable

318 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

cellColorValues must be of type <type ‘bool’>

dxfIdValues must be of type <type ‘long’>

tagname = ‘colorFilter’

class openpyxl.worksheet.filters.CustomFilter(operator=None, val=None)Bases: openpyxl.descriptors.serialisable.Serialisable

operatorValue must be one of set([’notEqual’, ‘lessThanOrEqual’, ‘equal’, ‘lessThan’, ‘greaterThan’,‘greaterThanOrEqual’])

tagname = ‘customFilter’

valValues must be of type <type ‘basestring’>

class openpyxl.worksheet.filters.CustomFilters(_and=None, customFilter=())Bases: openpyxl.descriptors.serialisable.Serialisable

customFilterA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘customFilters’

class openpyxl.worksheet.filters.DateGroupItem(year=None, month=None, day=None,hour=None, minute=None, second=None,dateTimeGrouping=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

dateTimeGroupingValue must be one of set([’hour’, ‘month’, ‘second’, ‘year’, ‘day’, ‘minute’])

dayValues must be of type <type ‘float’>

hourValues must be of type <type ‘float’>

minuteValues must be of type <type ‘float’>

monthValues must be of type <type ‘float’>

secondValues must be of type <type ‘long’>

tagname = ‘dateGroupItem’

yearValues must be of type <type ‘long’>

class openpyxl.worksheet.filters.DynamicFilter(type=None, val=None, valIso=None, max-Val=None, maxValIso=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

maxValValues must be of type <type ‘float’>

maxValIsoValues must be of type <type ‘datetime.datetime’>

9.1. openpyxl package 319

openpyxl Documentation, Release 2.4.9

tagname = ‘dynamicFilter’

typeValue must be one of set([’aboveAverage’, ‘Q1’, ‘Q3’, ‘lastMonth’, ‘belowAverage’, ‘Q4’, ‘thisMonth’,‘nextYear’, ‘M5’, ‘M4’, ‘M7’, ‘nextWeek’, ‘M1’, ‘M3’, ‘M2’, ‘null’, ‘M9’, ‘tomorrow’, ‘thisYear’,‘lastYear’, ‘nextMonth’, ‘M8’, ‘thisWeek’, ‘M12’, ‘today’, ‘lastWeek’, ‘yesterday’, ‘yearToDate’, ‘M6’,‘nextQuarter’, ‘M11’, ‘M10’, ‘thisQuarter’, ‘lastQuarter’, ‘Q2’])

valValues must be of type <type ‘float’>

valIsoValues must be of type <type ‘datetime.datetime’>

class openpyxl.worksheet.filters.FilterColumn(colId=None, hiddenButton=None, show-Button=None, filters=None, top10=None,customFilters=None, dynamicFilter=None,colorFilter=None, iconFilter=None,extLst=None, blank=None, vals=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

colIdValues must be of type <type ‘long’>

col_idAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

colorFilterValues must be of type <class ‘openpyxl.worksheet.filters.ColorFilter’>

customFiltersValues must be of type <class ‘openpyxl.worksheet.filters.CustomFilters’>

dynamicFilterValues must be of type <class ‘openpyxl.worksheet.filters.DynamicFilter’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

filtersValues must be of type <class ‘openpyxl.worksheet.filters.Filters’>

hiddenButtonValues must be of type <type ‘bool’>

iconFilterValues must be of type <class ‘openpyxl.worksheet.filters.IconFilter’>

showButtonValues must be of type <type ‘bool’>

tagname = ‘filterColumn’

top10Values must be of type <class ‘openpyxl.worksheet.filters.Top10’>

class openpyxl.worksheet.filters.Filters(blank=None, calendarType=None, filter=(), date-GroupItem=())

Bases: openpyxl.descriptors.serialisable.Serialisable

blankValues must be of type <type ‘bool’>

320 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

calendarTypeValue must be one of set([’korea’, ‘hijri’, ‘gregorianArabic’, ‘saka’, ‘gregorianXlitEnglish’, ‘gregorian-MeFrench’, ‘gregorianXlitFrench’, ‘gregorian’, ‘hebrew’, ‘japan’, ‘taiwan’, ‘gregorianUs’, ‘thai’])

dateGroupItemA sequence (list or tuple) that may only contain objects of the declared type

filterA sequence of primitive types that are stored as a single attribute. “val” is the default attribute

tagname = ‘filters’

class openpyxl.worksheet.filters.IconFilter(iconSet=None, iconId=None)Bases: openpyxl.descriptors.serialisable.Serialisable

iconIdValues must be of type <type ‘long’>

iconSetValue must be one of set([‘4RedToBlack’, ‘4TrafficLights’, ‘3ArrowsGray’, ‘4Rating’, ‘3Arrows’,‘3Flags’, ‘4ArrowsGray’, ‘3TrafficLights1’, ‘3TrafficLights2’, ‘3Signs’, ‘5ArrowsGray’, ‘5Rating’,‘3Symbols2’, ‘4Arrows’, ‘5Arrows’, ‘3Symbols’, ‘5Quarters’])

tagname = ‘iconFilter’

class openpyxl.worksheet.filters.SortCondition(ref=None, descending=None,sortBy=None, customList=None, dx-fId=None, iconSet=None, iconId=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

customListValues must be of type <type ‘basestring’>

descendingValues must be of type <type ‘bool’>

dxfIdValues must be of type <type ‘long’>

iconIdValues must be of type <type ‘long’>

iconSetValue must be one of set([‘4RedToBlack’, ‘4TrafficLights’, ‘3ArrowsGray’, ‘4Rating’, ‘3Arrows’,‘3Flags’, ‘4ArrowsGray’, ‘3TrafficLights1’, ‘3TrafficLights2’, ‘3Signs’, ‘5ArrowsGray’, ‘5Rating’,‘3Symbols2’, ‘4Arrows’, ‘5Arrows’, ‘3Symbols’, ‘5Quarters’])

ref

sortByValue must be one of set([’cellColor’, ‘fontColor’, ‘value’, ‘icon’])

tagname = ‘sortCondition’

class openpyxl.worksheet.filters.SortState(columnSort=None, caseSensitive=None, sort-Method=None, ref=None, sortCondition=(),extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

caseSensitiveValues must be of type <type ‘bool’>

columnSortValues must be of type <type ‘bool’>

9.1. openpyxl package 321

openpyxl Documentation, Release 2.4.9

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

ref

sortConditionA sequence (list or tuple) that may only contain objects of the declared type

sortMethodValue must be one of set([’pinYin’, ‘stroke’])

tagname = ‘sortState’

class openpyxl.worksheet.filters.Top10(top=None, percent=None, val=None, filterVal=None)Bases: openpyxl.descriptors.serialisable.Serialisable

filterValValues must be of type <type ‘float’>

percentValues must be of type <type ‘bool’>

tagname = ‘top10’

topValues must be of type <type ‘bool’>

valValues must be of type <type ‘float’>

openpyxl.worksheet.header_footer module

class openpyxl.worksheet.header_footer.HeaderFooter(differentOddEven=None, different-First=None, scaleWithDoc=None,alignWithMargins=None, odd-Header=None, oddFooter=None,evenHeader=None, even-Footer=None, firstHeader=None,firstFooter=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

alignWithMarginsValues must be of type <type ‘bool’>

differentFirstValues must be of type <type ‘bool’>

differentOddEvenValues must be of type <type ‘bool’>

evenFooterValues must be of type <class ‘openpyxl.worksheet.header_footer.HeaderFooterItem’>

evenHeaderValues must be of type <class ‘openpyxl.worksheet.header_footer.HeaderFooterItem’>

firstFooterValues must be of type <class ‘openpyxl.worksheet.header_footer.HeaderFooterItem’>

firstHeaderValues must be of type <class ‘openpyxl.worksheet.header_footer.HeaderFooterItem’>

322 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

oddFooterValues must be of type <class ‘openpyxl.worksheet.header_footer.HeaderFooterItem’>

oddHeaderValues must be of type <class ‘openpyxl.worksheet.header_footer.HeaderFooterItem’>

scaleWithDocValues must be of type <type ‘bool’>

tagname = ‘headerFooter’

class openpyxl.worksheet.header_footer.HeaderFooterItem(left=None, right=None, cen-ter=None)

Bases: openpyxl.descriptors.Strict

Header or footer item

centerValues must be of type <class ‘openpyxl.worksheet.header_footer._HeaderFooterPart’>

centreAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

classmethod from_tree(node)

leftValues must be of type <class ‘openpyxl.worksheet.header_footer._HeaderFooterPart’>

rightValues must be of type <class ‘openpyxl.worksheet.header_footer._HeaderFooterPart’>

to_tree(tagname)Return as XML node

openpyxl.worksheet.hyperlink module

class openpyxl.worksheet.hyperlink.Hyperlink(ref=None, location=None, tooltip=None, dis-play=None, id=None, target=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

displayValues must be of type <type ‘basestring’>

idValues must be of type <type ‘basestring’>

locationValues must be of type <type ‘basestring’>

refValues must be of type <type ‘basestring’>

tagname = ‘hyperlink’

targetValues must be of type <type ‘basestring’>

tooltipValues must be of type <type ‘basestring’>

class openpyxl.worksheet.hyperlink.HyperlinkList(hyperlink=())Bases: openpyxl.descriptors.serialisable.Serialisable

9.1. openpyxl package 323

openpyxl Documentation, Release 2.4.9

append(value)

hyperlinkA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘hyperlinks’

openpyxl.worksheet.merge module

class openpyxl.worksheet.merge.MergeCell(ref=None)Bases: openpyxl.descriptors.serialisable.Serialisable

refValues must be of type <type ‘basestring’>

tagname = ‘mergeCell’

class openpyxl.worksheet.merge.MergeCells(count=None, mergeCell=())Bases: openpyxl.descriptors.serialisable.Serialisable

count

mergeCellA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘mergeCells’

openpyxl.worksheet.page module

class openpyxl.worksheet.page.PageMargins(left=0.75, right=0.75, top=1, bottom=1,header=0.5, footer=0.5)

Bases: openpyxl.descriptors.serialisable.Serialisable

Information about page margins for view/print layouts. Standard values (in inches) left, right = 0.75 top, bottom= 1 header, footer = 0.5

bottomValues must be of type <type ‘float’>

footerValues must be of type <type ‘float’>

headerValues must be of type <type ‘float’>

leftValues must be of type <type ‘float’>

rightValues must be of type <type ‘float’>

tagname = ‘pageMargins’

topValues must be of type <type ‘float’>

class openpyxl.worksheet.page.PrintOptions(horizontalCentered=None, verticalCen-tered=None, headings=None, gridLines=None,gridLinesSet=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

324 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Worksheet print options

gridLinesValues must be of type <type ‘bool’>

gridLinesSetValues must be of type <type ‘bool’>

headingsValues must be of type <type ‘bool’>

horizontalCenteredValues must be of type <type ‘bool’>

tagname = ‘printOptions’

verticalCenteredValues must be of type <type ‘bool’>

class openpyxl.worksheet.page.PrintPageSetup(worksheet=None, orientation=None, paper-Size=None, scale=None, fitToHeight=None,fitToWidth=None, firstPageNumber=None,useFirstPageNumber=None, paper-Height=None, paperWidth=None, pa-geOrder=None, usePrinterDefaults=None,blackAndWhite=None, draft=None, cell-Comments=None, errors=None, hor-izontalDpi=None, verticalDpi=None,copies=None, id=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Worksheet print page setup

autoPageBreaks

blackAndWhiteValues must be of type <type ‘bool’>

cellCommentsValue must be one of set([’atEnd’, ‘asDisplayed’])

copiesValues must be of type <type ‘long’>

draftValues must be of type <type ‘bool’>

errorsValue must be one of set([’dash’, ‘NA’, ‘displayed’, ‘blank’])

firstPageNumberValues must be of type <type ‘long’>

fitToHeightValues must be of type <type ‘long’>

fitToPage

fitToWidthValues must be of type <type ‘long’>

classmethod from_tree(node)

9.1. openpyxl package 325

openpyxl Documentation, Release 2.4.9

horizontalDpiValues must be of type <type ‘long’>

idValues must be of type <type ‘basestring’>

orientationValue must be one of set([’default’, ‘portrait’, ‘landscape’])

pageOrderValue must be one of set([’overThenDown’, ‘downThenOver’])

paperHeight

paperSizeValues must be of type <type ‘long’>

paperWidth

scaleValues must be of type <type ‘long’>

sheet_propertiesProxy property

tagname = ‘pageSetup’

useFirstPageNumberValues must be of type <type ‘bool’>

usePrinterDefaultsValues must be of type <type ‘bool’>

verticalDpiValues must be of type <type ‘long’>

openpyxl.worksheet.pagebreak module

class openpyxl.worksheet.pagebreak.Break(id=0, min=0, max=16383, man=True, pt=None)Bases: openpyxl.descriptors.serialisable.Serialisable

idValues must be of type <type ‘long’>

manValues must be of type <type ‘bool’>

maxValues must be of type <type ‘long’>

minValues must be of type <type ‘long’>

ptValues must be of type <type ‘bool’>

tagname = ‘brk’

class openpyxl.worksheet.pagebreak.PageBreak(count=None, manualBreakCount=None,brk=())

Bases: openpyxl.descriptors.serialisable.Serialisable

326 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

append(brk=None)Add a page break

brkA sequence (list or tuple) that may only contain objects of the declared type

count

manualBreakCount

tagname = ‘rowBreaks’

openpyxl.worksheet.pivot module

class openpyxl.worksheet.pivot.Index(v=None)Bases: openpyxl.descriptors.serialisable.Serialisable

vValues must be of type <type ‘long’>

class openpyxl.worksheet.pivot.PivotArea(field=None, type=None, dataOnly=None, labe-lOnly=None, grandRow=None, grandCol=None,cacheIndex=None, outline=None, offset=None, col-lapsedLevelsAreSubtotals=None, axis=None, field-Position=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

axisValues must be of type <type ‘basestring’>

cacheIndexValues must be of type <type ‘bool’>

collapsedLevelsAreSubtotalsValues must be of type <type ‘bool’>

dataOnlyValues must be of type <type ‘bool’>

fieldValues must be of type <type ‘long’>

fieldPositionValues must be of type <type ‘long’>

grandColValues must be of type <type ‘bool’>

grandRowValues must be of type <type ‘bool’>

labelOnlyValues must be of type <type ‘bool’>

offsetValues must be of type <type ‘basestring’>

outlineValues must be of type <type ‘bool’>

typeValue must be one of set([’origin’, ‘all’, ‘normal’, ‘button’, ‘data’, ‘topEnd’])

9.1. openpyxl package 327

openpyxl Documentation, Release 2.4.9

class openpyxl.worksheet.pivot.PivotAreaReference(field=None, count=None, se-lected=None, byPosition=None,relative=None, defaultSubtotal=None,sumSubtotal=None, countASubto-tal=None, avgSubtotal=None, max-Subtotal=None, minSubtotal=None,productSubtotal=None, countSubto-tal=None, stdDevSubtotal=None,stdDevPSubtotal=None, varSubto-tal=None, varPSubtotal=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

avgSubtotalValues must be of type <type ‘bool’>

byPositionValues must be of type <type ‘bool’>

countValues must be of type <type ‘long’>

countASubtotalValues must be of type <type ‘bool’>

countSubtotalValues must be of type <type ‘bool’>

defaultSubtotalValues must be of type <type ‘bool’>

fieldValues must be of type <type ‘long’>

maxSubtotalValues must be of type <type ‘bool’>

minSubtotalValues must be of type <type ‘bool’>

productSubtotalValues must be of type <type ‘bool’>

relativeValues must be of type <type ‘bool’>

selectedValues must be of type <type ‘bool’>

stdDevPSubtotalValues must be of type <type ‘bool’>

stdDevSubtotalValues must be of type <type ‘bool’>

sumSubtotalValues must be of type <type ‘bool’>

varPSubtotalValues must be of type <type ‘bool’>

varSubtotalValues must be of type <type ‘bool’>

328 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

class openpyxl.worksheet.pivot.PivotAreaReferences(count=None)Bases: openpyxl.descriptors.serialisable.Serialisable

countValues must be of type <type ‘long’>

class openpyxl.worksheet.pivot.PivotSelection(pane=None, showHeader=None, la-bel=None, data=None, extendable=None,count=None, axis=None, dimension=None,start=None, min=None, max=None, ac-tiveRow=None, activeCol=None, pre-viousRow=None, previousCol=None,click=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

activeColValues must be of type <type ‘long’>

activeRowValues must be of type <type ‘long’>

axisValues must be of type <type ‘basestring’>

clickValues must be of type <type ‘long’>

countValues must be of type <type ‘long’>

dataValues must be of type <type ‘bool’>

dimensionValues must be of type <type ‘long’>

extendableValues must be of type <type ‘bool’>

labelValues must be of type <type ‘bool’>

maxValues must be of type <type ‘long’>

minValues must be of type <type ‘long’>

paneValue must be one of set([’topLeft’, ‘bottomLeft’, ‘topRight’, ‘bottomRight’])

previousColValues must be of type <type ‘long’>

previousRowValues must be of type <type ‘long’>

showHeaderValues must be of type <type ‘bool’>

startValues must be of type <type ‘long’>

9.1. openpyxl package 329

openpyxl Documentation, Release 2.4.9

openpyxl.worksheet.properties module

class openpyxl.worksheet.properties.Outline(applyStyles=None, summaryBelow=None, sum-maryRight=None, showOutlineSymbols=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

applyStylesValues must be of type <type ‘bool’>

showOutlineSymbolsValues must be of type <type ‘bool’>

summaryBelowValues must be of type <type ‘bool’>

summaryRightValues must be of type <type ‘bool’>

tagname = ‘outlinePr’

class openpyxl.worksheet.properties.PageSetupProperties(autoPageBreaks=None,fitToPage=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

autoPageBreaksValues must be of type <type ‘bool’>

fitToPageValues must be of type <type ‘bool’>

tagname = ‘pageSetUpPr’

class openpyxl.worksheet.properties.WorksheetProperties(codeName=None, enable-FormatConditionsCalcula-tion=None, filterMode=None,published=None, syncHori-zontal=None, syncRef=None,syncVertical=None, tran-sitionEvaluation=None,transitionEntry=None,tabColor=None, out-linePr=None, pageSe-tUpPr=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

codeNameValues must be of type <type ‘basestring’>

enableFormatConditionsCalculationValues must be of type <type ‘bool’>

filterModeValues must be of type <type ‘bool’>

outlinePrValues must be of type <class ‘openpyxl.worksheet.properties.Outline’>

pageSetUpPrValues must be of type <class ‘openpyxl.worksheet.properties.PageSetupProperties’>

publishedValues must be of type <type ‘bool’>

330 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

syncHorizontalValues must be of type <type ‘bool’>

syncRefValues must be of type <type ‘basestring’>

syncVerticalValues must be of type <type ‘bool’>

tabColorValues must be of type <class ‘openpyxl.styles.colors.Color’>

tagname = ‘sheetPr’

transitionEntryElements

transitionEvaluationValues must be of type <type ‘bool’>

openpyxl.worksheet.protection module

class openpyxl.worksheet.protection.SheetProtection(sheet=False, objects=False,scenarios=False, format-Cells=True, formatRows=True,formatColumns=True, in-sertColumns=True, in-sertRows=True, insertHyper-links=True, deleteColumns=True,deleteRows=True, selectLocked-Cells=False, selectUnlocked-Cells=False, sort=True, autoFil-ter=True, pivotTables=True, pass-word=None, algorithmName=None,saltValue=None, spinCount=None,hashValue=None)

Bases: openpyxl.descriptors.serialisable.Serialisable, openpyxl.worksheet.protection._Protected

Information about protection of various aspects of a sheet. True values mean that protection for the object oraction is active This is the default when protection is active, ie. users cannot do something

algorithmNameValues must be of type <type ‘basestring’>

autoFilterValues must be of type <type ‘bool’>

deleteColumnsValues must be of type <type ‘bool’>

deleteRowsValues must be of type <type ‘bool’>

disable()

enable()

9.1. openpyxl package 331

openpyxl Documentation, Release 2.4.9

enabledAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

formatCellsValues must be of type <type ‘bool’>

formatColumnsValues must be of type <type ‘bool’>

formatRowsValues must be of type <type ‘bool’>

hashValue

insertColumnsValues must be of type <type ‘bool’>

insertHyperlinksValues must be of type <type ‘bool’>

insertRowsValues must be of type <type ‘bool’>

objectsValues must be of type <type ‘bool’>

pivotTablesValues must be of type <type ‘bool’>

saltValue

scenariosValues must be of type <type ‘bool’>

selectLockedCellsValues must be of type <type ‘bool’>

selectUnlockedCellsValues must be of type <type ‘bool’>

set_password(value=’‘, already_hashed=False)

sheetValues must be of type <type ‘bool’>

sortValues must be of type <type ‘bool’>

spinCountValues must be of type <type ‘long’>

tagname = ‘sheetProtection’

openpyxl.worksheet.read_only module

class openpyxl.worksheet.read_only.ReadOnlyWorksheet(parent_workbook, title, work-sheet_path, xml_source,shared_strings)

Bases: object

calculate_dimension(force=False)

332 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

get_squared_range(*args, **kwargs)

max_column

max_row

min_column

min_row

rows

xml_sourceParse xml source on demand, default to Excel archive

openpyxl.worksheet.read_only.read_dimension(source)

openpyxl.worksheet.related module

class openpyxl.worksheet.related.Related(id=None)Bases: openpyxl.descriptors.serialisable.Serialisable

idValues must be of type <type ‘basestring’>

to_tree(tagname, idx=None)

openpyxl.worksheet.table module

class openpyxl.worksheet.table.Table(id=1, displayName=None, ref=None, name=None,comment=None, tableType=None, headerRowCount=1,insertRow=None, insertRowShift=None, totalsRow-Count=None, totalsRowShown=None, published=None,headerRowDxfId=None, dataDxfId=None, totalsRowDx-fId=None, headerRowBorderDxfId=None, tableBor-derDxfId=None, totalsRowBorderDxfId=None, header-RowCellStyle=None, dataCellStyle=None, totalsRow-CellStyle=None, connectionId=None, autoFilter=None,sortState=None, tableColumns=(), tableStyleInfo=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

autoFilterValues must be of type <class ‘openpyxl.worksheet.filters.AutoFilter’>

commentValues must be of type <type ‘basestring’>

connectionIdValues must be of type <type ‘long’>

dataCellStyleValues must be of type <type ‘basestring’>

dataDxfIdValues must be of type <type ‘long’>

displayNameValues must be of type <type ‘basestring’>

9.1. openpyxl package 333

openpyxl Documentation, Release 2.4.9

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

headerRowBorderDxfIdValues must be of type <type ‘long’>

headerRowCellStyleValues must be of type <type ‘basestring’>

headerRowCountValues must be of type <type ‘long’>

headerRowDxfIdValues must be of type <type ‘long’>

idValues must be of type <type ‘long’>

insertRowValues must be of type <type ‘bool’>

insertRowShiftValues must be of type <type ‘bool’>

mime_type = ‘application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml’

nameValues must be of type <type ‘basestring’>

pathReturn path within the archive

publishedValues must be of type <type ‘bool’>

ref

sortStateValues must be of type <class ‘openpyxl.worksheet.filters.SortState’>

tableBorderDxfIdValues must be of type <type ‘long’>

tableColumnsWrap a sequence in an containing object

tableStyleInfoValues must be of type <class ‘openpyxl.worksheet.table.TableStyleInfo’>

tableTypeValue must be one of set([’xml’, ‘worksheet’, ‘queryTable’])

tagname = ‘table’

to_tree()

totalsRowBorderDxfIdValues must be of type <type ‘long’>

totalsRowCellStyleValues must be of type <type ‘basestring’>

totalsRowCountValues must be of type <type ‘long’>

334 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

totalsRowDxfIdValues must be of type <type ‘long’>

totalsRowShownValues must be of type <type ‘bool’>

class openpyxl.worksheet.table.TableColumn(id=None, uniqueName=None, name=None, total-sRowFunction=None, totalsRowLabel=None,queryTableFieldId=None, headerRowDx-fId=None, dataDxfId=None, totalsRowDx-fId=None, headerRowCellStyle=None, dat-aCellStyle=None, totalsRowCellStyle=None,calculatedColumnFormula=None, totalsRowFor-mula=None, xmlColumnPr=None, extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

calculatedColumnFormulaValues must be of type <class ‘openpyxl.worksheet.table.TableFormula’>

dataCellStyleValues must be of type <type ‘basestring’>

dataDxfIdValues must be of type <type ‘long’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

classmethod from_tree(node)

headerRowCellStyleValues must be of type <type ‘basestring’>

headerRowDxfIdValues must be of type <type ‘long’>

idValues must be of type <type ‘long’>

nameValues must be of type <type ‘basestring’>

queryTableFieldIdValues must be of type <type ‘long’>

tagname = ‘tableColumn’

totalsRowCellStyleValues must be of type <type ‘basestring’>

totalsRowDxfIdValues must be of type <type ‘long’>

totalsRowFormulaValues must be of type <class ‘openpyxl.worksheet.table.TableFormula’>

totalsRowFunctionValue must be one of set([’count’, ‘min’, ‘max’, ‘sum’, ‘custom’, ‘stdDev’, ‘countNums’, ‘var’, ‘average’])

totalsRowLabelValues must be of type <type ‘basestring’>

uniqueNameValues must be of type <type ‘basestring’>

9.1. openpyxl package 335

openpyxl Documentation, Release 2.4.9

xmlColumnPrValues must be of type <class ‘openpyxl.worksheet.table.XMLColumnProps’>

class openpyxl.worksheet.table.TableFormula(array=None, attr_text=None)Bases: openpyxl.descriptors.serialisable.Serialisable

arrayValues must be of type <type ‘bool’>

attr_text

tagname = ‘tableFormula’

textAliases can be used when either the desired attribute name is not allowed or confusing in Python (eg.“type”) or a more descriptve name is desired (eg. “underline” for “u”)

class openpyxl.worksheet.table.TableNameDescriptor(*args, **kw)Bases: openpyxl.descriptors.base.String

Table names cannot have spaces in them

class openpyxl.worksheet.table.TablePartList(count=None, tablePart=())Bases: openpyxl.descriptors.serialisable.Serialisable

append(part)

count

tablePartA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘tableParts’

class openpyxl.worksheet.table.TableStyleInfo(name=None, showFirstColumn=None,showLastColumn=None, showRow-Stripes=None, showColumnStripes=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

nameValue must be one of set([’PivotStyleLight5’, ‘TableStyleMedium24’, ‘TableStyleMedium25’,‘PivotStyleMedium19’, ‘PivotStyleMedium18’, ‘PivotStyleMedium13’, ‘PivotStyleMedium12’,‘PivotStyleMedium11’, ‘PivotStyleMedium10’, ‘PivotStyleMedium17’, ‘PivotStyleMedium16’,‘PivotStyleMedium15’, ‘PivotStyleMedium14’, ‘PivotStyleLight22’, ‘PivotStyleLight23’, ‘Pivot-StyleLight4’, ‘PivotStyleLight21’, ‘PivotStyleLight26’, ‘PivotStyleLight27’, ‘PivotStyleLight24’,‘PivotStyleLight25’, ‘PivotStyleLight28’, ‘PivotStyleLight2’, ‘PivotStyleDark9’, ‘PivotStyleDark6’,‘PivotStyleDark7’, ‘PivotStyleDark4’, ‘PivotStyleDark5’, ‘PivotStyleDark2’, ‘PivotStyleDark3’,‘PivotStyleDark1’, ‘TableStyleMedium22’, ‘TableStyleMedium23’, ‘TableStyleMedium20’, ‘Ta-bleStyleMedium21’, ‘TableStyleMedium26’, ‘TableStyleMedium27’, ‘TableStyleLight5’, ‘TableStyle-Light4’, ‘TableStyleLight9’, ‘TableStyleLight8’, ‘PivotStyleLight17’, ‘PivotStyleLight16’, ‘Pivot-StyleLight15’, ‘PivotStyleLight14’, ‘PivotStyleLight13’, ‘PivotStyleLight12’, ‘PivotStyleLight11’,‘PivotStyleLight10’, ‘PivotStyleLight19’, ‘PivotStyleLight18’, ‘PivotStyleLight9’, ‘PivotStyleDark10’,‘PivotStyleDark11’, ‘PivotStyleDark12’, ‘PivotStyleDark13’, ‘PivotStyleDark14’, ‘PivotStyleDark15’,‘PivotStyleDark16’, ‘PivotStyleDark17’, ‘PivotStyleDark18’, ‘PivotStyleDark19’, ‘TableStyleMedium3’,‘TableStyleMedium2’, ‘TableStyleMedium1’, ‘TableStyleMedium7’, ‘TableStyleMedium6’, ‘Ta-bleStyleMedium5’, ‘TableStyleMedium4’, ‘TableStyleMedium9’, ‘TableStyleMedium8’, ‘Piv-otStyleLight20’, ‘TableStyleMedium19’, ‘TableStyleMedium18’, ‘TableStyleMedium13’, ‘Ta-bleStyleMedium12’, ‘TableStyleMedium11’, ‘TableStyleMedium10’, ‘TableStyleMedium17’, ‘Ta-bleStyleMedium16’, ‘TableStyleMedium15’, ‘TableStyleMedium14’, ‘TableStyleLight20’, ‘Ta-bleStyleLight21’, ‘TableStyleDark8’, ‘TableStyleDark9’, ‘TableStyleDark6’, ‘TableStyleDark7’,‘TableStyleDark4’, ‘TableStyleDark5’, ‘TableStyleDark2’, ‘TableStyleDark3’, ‘TableStyleDark1’,

336 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

‘PivotStyleDark8’, ‘PivotStyleMedium22’, ‘PivotStyleMedium23’, ‘PivotStyleMedium20’, ‘Pivot-StyleMedium21’, ‘PivotStyleMedium26’, ‘PivotStyleMedium27’, ‘PivotStyleMedium24’, ‘Pivot-StyleMedium25’, ‘PivotStyleMedium28’, ‘PivotStyleLight8’, ‘TableStyleLight17’, ‘TableStyleLight16’,‘TableStyleLight15’, ‘TableStyleLight14’, ‘TableStyleLight13’, ‘TableStyleLight12’, ‘TableStyle-Light11’, ‘TableStyleLight10’, ‘TableStyleLight19’, ‘TableStyleLight18’, ‘PivotStyleDark28’, ‘Pivot-StyleDark21’, ‘PivotStyleDark20’, ‘PivotStyleDark23’, ‘PivotStyleDark22’, ‘PivotStyleDark25’, ‘Pivot-StyleDark24’, ‘PivotStyleDark27’, ‘PivotStyleDark26’, ‘PivotStyleLight1’, ‘TableStyleMedium28’, ‘Piv-otStyleLight3’, ‘TableStyleDark10’, ‘TableStyleDark11’, ‘PivotStyleMedium3’, ‘PivotStyleMedium2’,‘PivotStyleMedium1’, ‘PivotStyleMedium7’, ‘PivotStyleMedium6’, ‘PivotStyleMedium5’, ‘Pivot-StyleMedium4’, ‘PivotStyleLight7’, ‘PivotStyleMedium9’, ‘PivotStyleMedium8’, ‘TableStyleLight3’,‘PivotStyleLight6’, ‘TableStyleLight2’, ‘TableStyleLight1’, ‘TableStyleLight7’, ‘TableStyleLight6’])

showColumnStripesValues must be of type <type ‘bool’>

showFirstColumnValues must be of type <type ‘bool’>

showLastColumnValues must be of type <type ‘bool’>

showRowStripesValues must be of type <type ‘bool’>

tagname = ‘tableStyleInfo’

class openpyxl.worksheet.table.XMLColumnProps(mapId=None, xpath=None, denor-malized=None, xmlDataType=None,extLst=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

denormalizedValues must be of type <type ‘bool’>

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

mapIdValues must be of type <type ‘long’>

tagname = ‘xmlColumnPr’

xmlDataTypeValues must be of type <type ‘basestring’>

xpathValues must be of type <type ‘basestring’>

openpyxl.worksheet.views module

class openpyxl.worksheet.views.Pane(xSplit=None, ySplit=None, topLeftCell=None, ac-tivePane=’topLeft’, state=’split’)

Bases: openpyxl.descriptors.serialisable.Serialisable

activePaneValue must be one of set([’topLeft’, ‘bottomLeft’, ‘topRight’, ‘bottomRight’])

stateValue must be one of set([’frozen’, ‘split’, ‘frozenSplit’])

9.1. openpyxl package 337

openpyxl Documentation, Release 2.4.9

topLeftCellValues must be of type <type ‘basestring’>

xSplitValues must be of type <type ‘float’>

ySplitValues must be of type <type ‘float’>

class openpyxl.worksheet.views.Selection(pane=None, activeCell=’A1’, activeCellId=None,sqref=’A1’)

Bases: openpyxl.descriptors.serialisable.Serialisable

activeCellValues must be of type <type ‘basestring’>

activeCellIdValues must be of type <type ‘long’>

paneValue must be one of set([’topLeft’, ‘bottomLeft’, ‘topRight’, ‘bottomRight’])

sqrefValues must be of type <type ‘basestring’>

class openpyxl.worksheet.views.SheetView(windowProtection=None, showFormulas=None,showGridLines=None, showRowColHeaders=None,showZeros=None, rightToLeft=None, tabSe-lected=None, showRuler=None, showOutli-neSymbols=None, defaultGridColor=None,showWhiteSpace=None, view=None, topLeft-Cell=None, colorId=None, zoomScale=None,zoomScaleNormal=None, zoomScaleSheetLay-outView=None, zoomScalePageLayoutView=None,zoomToFit=None, workbookViewId=0, selec-tion=None, pane=None)

Bases: openpyxl.descriptors.serialisable.Serialisable

Information about the visible portions of this sheet.

colorIdValues must be of type <type ‘long’>

defaultGridColorValues must be of type <type ‘bool’>

paneValues must be of type <class ‘openpyxl.worksheet.views.Pane’>

rightToLeftValues must be of type <type ‘bool’>

selectionA sequence (list or tuple) that may only contain objects of the declared type

showFormulasValues must be of type <type ‘bool’>

showGridLinesValues must be of type <type ‘bool’>

showOutlineSymbolsValues must be of type <type ‘bool’>

338 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

showRowColHeadersValues must be of type <type ‘bool’>

showRulerValues must be of type <type ‘bool’>

showWhiteSpaceValues must be of type <type ‘bool’>

showZerosValues must be of type <type ‘bool’>

tabSelectedValues must be of type <type ‘bool’>

tagname = ‘sheetView’

topLeftCellValues must be of type <type ‘basestring’>

viewValue must be one of set([’pageLayout’, ‘pageBreakPreview’, ‘normal’])

windowProtectionValues must be of type <type ‘bool’>

workbookViewIdValues must be of type <type ‘long’>

zoomScaleValues must be of type <type ‘long’>

zoomScaleNormalValues must be of type <type ‘long’>

zoomScalePageLayoutViewValues must be of type <type ‘long’>

zoomScaleSheetLayoutViewValues must be of type <type ‘long’>

zoomToFitValues must be of type <type ‘bool’>

class openpyxl.worksheet.views.SheetViewList(sheetView=None, extLst=None)Bases: openpyxl.descriptors.serialisable.Serialisable

extLstValues must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

sheetViewA sequence (list or tuple) that may only contain objects of the declared type

tagname = ‘sheetViews’

openpyxl.worksheet.worksheet module

class openpyxl.worksheet.worksheet.Worksheet(parent, title=None)Bases: openpyxl.workbook.child._WorkbookChild

Represents a worksheet.

Do not create worksheets yourself, use openpyxl.workbook.Workbook.create_sheet() instead

9.1. openpyxl package 339

openpyxl Documentation, Release 2.4.9

BREAK_COLUMN = 2

BREAK_NONE = 0

BREAK_ROW = 1

ORIENTATION_LANDSCAPE = ‘landscape’

ORIENTATION_PORTRAIT = ‘portrait’

PAPERSIZE_A3 = ‘8’

PAPERSIZE_A4 = ‘9’

PAPERSIZE_A4_SMALL = ‘10’

PAPERSIZE_A5 = ‘11’

PAPERSIZE_EXECUTIVE = ‘7’

PAPERSIZE_LEDGER = ‘4’

PAPERSIZE_LEGAL = ‘5’

PAPERSIZE_LETTER = ‘1’

PAPERSIZE_LETTER_SMALL = ‘2’

PAPERSIZE_STATEMENT = ‘6’

PAPERSIZE_TABLOID = ‘3’

SHEETSTATE_HIDDEN = ‘hidden’

SHEETSTATE_VERYHIDDEN = ‘veryHidden’

SHEETSTATE_VISIBLE = ‘visible’

active_cell

add_chart(chart, anchor=None)Add a chart to the sheet Optionally provide a cell for the top-left anchor

add_data_validation(data_validation)Add a data-validation object to the sheet. The data-validation object defines the type of data-validation tobe applied and the cell or range of cells it should apply to.

add_image(img, anchor=None)Add an image to the sheet. Optionally provide a cell for the top-left anchor

add_print_title(*args, **kwargs)Print Titles are rows or columns that are repeated on each printed sheet. This adds n rows or columns atthe top or left of the sheet

add_table(table)

append(iterable)Appends a group of values at the bottom of the current sheet.

• If it’s a list: all values are added in order, starting from the first column

• If it’s a dict: values are assigned to the columns indicated by the keys (numbers or letters)

Parameters iterable (list|tuple|range|generator or dict) – list, range orgenerator, or dict containing values to append

Usage:

340 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

• append([’This is A1’, ‘This is B1’, ‘This is C1’])

• or append({‘A’ : ‘This is A1’, ‘C’ : ‘This is C1’})

• or append({1 : ‘This is A1’, 3 : ‘This is C1’})

Raise TypeError when iterable is neither a list/tuple nor a dict

calculate_dimension()Return the minimum bounding range for all cells containing data.

cell(coordinate=None, row=None, column=None, value=None)Returns a cell object based on the given coordinates.

Usage: cell(row=15, column=1, value=5)

Calling cell creates cells in memory when they are first accessed.

Parameters

• row (int) – row index of the cell (e.g. 4)

• column (int) – column index of the cell (e.g. 3)

• coordinate (string) – coordinates of the cell (e.g. ‘B12’)

• value (numeric or time or string or bool or none) – value of the cell(e.g. 5)

Raise InsufficientCoordinatesException when neither row nor column are not given

Return type openpyxl.cell.Cell

columnsIterate over all columns in the worksheet

dimensions

freeze_panes

get_cell_collection(*args, **kwargs)Return an unordered list of the cells in this worksheet.

get_named_range(*args, **kwargs)Returns a 2D array of cells, with optional row and column offsets.

Parameters range_name (string) – named range name

Return type tuple[tuple[openpyxl.cell.Cell]]

get_squared_range(*args, **kwargs)Returns a 2D array of cells. Will create any cells within the boundaries that do not already exist

Parameters

• min_col (int) – smallest column index (1-based index)

• min_row (int) – smallest row index (1-based index)

• max_col (int) – largest column index (1-based index)

• max_row (int) – smallest row index (1-based index)

Return type generator

9.1. openpyxl package 341

openpyxl Documentation, Release 2.4.9

iter_cols(min_col=None, max_col=None, min_row=None, max_row=None)Returns all cells in the worksheet from the first row as columns.

If no boundaries are passed in the cells will start at A1.

If no cells are in the worksheet an empty tuple will be returned.

Parameters

• min_col (int) – smallest column index (1-based index)

• min_row (int) – smallest row index (1-based index)

• max_col (int) – largest column index (1-based index)

• max_row (int) – smallest row index (1-based index)

Return type generator

iter_rows(range_string=None, min_row=None, max_row=None, min_col=None, max_col=None,row_offset=0, column_offset=0)

Return cells from the worksheet as rows. Boundaries for the cells can be passed in either as indices ofrows and columns.

If no boundaries are passed in the cells will start at A1.

If no cells are in the worksheet an empty tuple will be returned.

Additional rows and columns can be created using offsets.

Parameters

• range_string (string) – range string (e.g. ‘A1:B2’) deprecated

• min_col (int) – smallest column index (1-based index)

• min_row (int) – smallest row index (1-based index)

• max_col (int) – largest column index (1-based index)

• max_row (int) – smallest row index (1-based index)

• row_offset (int) – additional rows (e.g. 4)

• column_offset (int) – additional columns (e.g. 3)

Return type generator

max_columnGet the largest value for column currently stored.

Return type int

max_rowReturns the maximum row index containing data

Return type int

merge_cells(range_string=None, start_row=None, start_column=None, end_row=None,end_column=None)

Set merge on a cell range. Range is a cell range (e.g. A1:E1)

merged_cell_rangesReturn a copy of cell ranges

merged_cellsUtility for checking whether a cell has been merged or not

mime_type = ‘application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml’

342 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

min_column

min_row

point_pos(*args, **kwargs)tells which cell is under the given coordinates (in pixels) counting from the top-left corner of the sheet.Can be used to locate images and charts on the worksheet

print_areaReturn the print area for the worksheet, if set

print_title_cols

print_title_rows

print_titles

rowsIterate over all rows in the worksheet

selected_cell

set_printer_settings(paper_size, orientation)Set printer settings

sheet_view

show_gridlines

show_summary_below

show_summary_right

unmerge_cells(range_string=None, start_row=None, start_column=None, end_row=None,end_column=None)

Remove merge on a cell range. Range is a cell range (e.g. A1:E1)

valuesReturn the values of all the cells, row by row

vba_code

openpyxl.worksheet.worksheet.flatten(*args, **kwargs)Return cell values row-by-row

openpyxl.worksheet.worksheet.isgenerator(obj)

Module contents

openpyxl.writer package

Subpackages

openpyxl.writer.tests package

Submodules

openpyxl.writer.tests.conftest module

openpyxl.writer.tests.conftest.datadir()DATADIR as a LocalPath

9.1. openpyxl package 343

openpyxl Documentation, Release 2.4.9

openpyxl.writer.tests.test_excel module

openpyxl.writer.tests.test_excel.ExcelWriter()

openpyxl.writer.tests.test_excel.archive()

openpyxl.writer.tests.test_excel.test_chartsheet(ExcelWriter, archive)

openpyxl.writer.tests.test_excel.test_comment(ExcelWriter, archive)

openpyxl.writer.tests.test_excel.test_drawing(ExcelWriter, archive)

openpyxl.writer.tests.test_excel.test_duplicate_chart(ExcelWriter, archive, Work-book)

openpyxl.writer.tests.test_excel.test_merge_vba(ExcelWriter, archive, datadir)

openpyxl.writer.tests.test_excel.test_tables(ExcelWriter, archive)

openpyxl.writer.tests.test_excel.test_worksheet(ExcelWriter, archive)

openpyxl.writer.tests.test_excel.test_write_chart(ExcelWriter, archive)

openpyxl.writer.tests.test_excel.test_write_images(datadir, ExcelWriter, archive)

openpyxl.writer.tests.test_strings module

openpyxl.writer.tests.test_strings.test_preseve_space()

openpyxl.writer.tests.test_strings.test_write_string_table(datadir)

openpyxl.writer.tests.test_template module

openpyxl.writer.tests.test_template.check_content_type(workbook_type, archive)

openpyxl.writer.tests.test_template.test_save_xl_as_no_template(datadir, tmpl,keep_vba,wb_type)

openpyxl.writer.tests.test_template.test_save_xl_as_template(datadir, tmpl,keep_vba,wb_type)

openpyxl.writer.tests.test_template.test_workbook_is_template(datadir, tmpl,is_template)

openpyxl.writer.tests.test_template.test_xl_content_type(datadir, tmpl, wb_type)

openpyxl.writer.tests.test_theme module

openpyxl.writer.tests.test_theme.test_write_theme(datadir)

openpyxl.writer.tests.test_workbook module

openpyxl.writer.tests.test_workbook.Unicode_Workbook()

openpyxl.writer.tests.test_workbook.test_print_area(Unicode_Workbook)

openpyxl.writer.tests.test_workbook.test_print_autofilter(Unicode_Workbook)

344 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

openpyxl.writer.tests.test_workbook.test_print_titles(Unicode_Workbook)

openpyxl.writer.tests.test_workbook.test_write_auto_filter(datadir)

openpyxl.writer.tests.test_workbook.test_write_empty_workbook(tmpdir)

openpyxl.writer.tests.test_workbook.test_write_hidden_single_worksheet()

openpyxl.writer.tests.test_workbook.test_write_hidden_worksheet()

openpyxl.writer.tests.test_workbook.test_write_named_range()

openpyxl.writer.tests.test_workbook.test_write_root_rels()

openpyxl.writer.tests.test_workbook.test_write_virtual_workbook()

openpyxl.writer.tests.test_workbook.test_write_workbook(datadir)

openpyxl.writer.tests.test_workbook.test_write_workbook_code_name()

openpyxl.writer.tests.test_workbook.test_write_workbook_protection(datadir)

openpyxl.writer.tests.test_workbook.test_write_workbook_rels(datadir, vba, file-name)

openpyxl.writer.tests.test_worksheet module

openpyxl.writer.tests.test_worksheet.ColumnDimension()

openpyxl.writer.tests.test_worksheet.DummyWorksheet()

openpyxl.writer.tests.test_worksheet.etree_write_cell()

openpyxl.writer.tests.test_worksheet.lxml_write_cell()

openpyxl.writer.tests.test_worksheet.test_conditional_font(worksheet_with_cf,write_conditional_formatting)

Test to verify font style written correctly.

openpyxl.writer.tests.test_worksheet.test_conditional_formatting_customRule(worksheet_with_cf,write_conditional_formatting)

openpyxl.writer.tests.test_worksheet.test_external_hyperlink(worksheet)

openpyxl.writer.tests.test_worksheet.test_formula_rule(worksheet_with_cf,write_conditional_formatting)

openpyxl.writer.tests.test_worksheet.test_get_rows_to_write(worksheet)

openpyxl.writer.tests.test_worksheet.test_internal_hyperlink(worksheet)

openpyxl.writer.tests.test_worksheet.test_merge(worksheet)

openpyxl.writer.tests.test_worksheet.test_no_merge(worksheet)

openpyxl.writer.tests.test_worksheet.test_vba(worksheet, write_worksheet)

openpyxl.writer.tests.test_worksheet.test_vba_comments(datadir, write_worksheet)

openpyxl.writer.tests.test_worksheet.test_write_cell(worksheet,write_cell_implementation,value, expected)

openpyxl.writer.tests.test_worksheet.test_write_comment(worksheet,write_cell_implementation)

openpyxl.writer.tests.test_worksheet.test_write_comments(worksheet,write_worksheet)

9.1. openpyxl package 345

openpyxl Documentation, Release 2.4.9

openpyxl.writer.tests.test_worksheet.test_write_drawing(worksheet)

openpyxl.writer.tests.test_worksheet.test_write_empty(worksheet, write_worksheet)

openpyxl.writer.tests.test_worksheet.test_write_formula(worksheet, write_rows)

openpyxl.writer.tests.test_worksheet.test_write_height(worksheet, write_rows)

openpyxl.writer.tests.test_worksheet.test_write_hyperlink_image_rels(Workbook,Image,datadir)

openpyxl.writer.tests.test_worksheet.test_write_tables(worksheet,write_worksheet)

openpyxl.writer.tests.test_worksheet.worksheet()

openpyxl.writer.tests.test_worksheet.worksheet_with_cf(worksheet)

openpyxl.writer.tests.test_worksheet.write_cell_implementation(request,etree_write_cell,lxml_write_cell)

openpyxl.writer.tests.test_worksheet.write_conditional_formatting()

openpyxl.writer.tests.test_worksheet.write_rows()

openpyxl.writer.tests.test_worksheet.write_worksheet()

openpyxl.writer.tests.test_write_only module

class openpyxl.writer.tests.test_write_only.DummyWorkbook

openpyxl.writer.tests.test_write_only.WriteOnlyWorksheet()

openpyxl.writer.tests.test_write_only.doc()

openpyxl.writer.tests.test_write_only.test_append(WriteOnlyWorksheet, _writer, doc)

openpyxl.writer.tests.test_write_only.test_auto_filter(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_cannot_save_twice(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_cell_comment(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_close(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_conditional_formatting(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_data_validations(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_dirty_cell(WriteOnlyWorksheet, _writer,doc)

openpyxl.writer.tests.test_write_only.test_frozen_panes(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_invalid_append(WriteOnlyWorksheet,row)

openpyxl.writer.tests.test_write_only.test_path(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_save()

openpyxl.writer.tests.test_write_only.test_write_empty_row(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_write_header(WriteOnlyWorksheet)

openpyxl.writer.tests.test_write_only.test_write_height(WriteOnlyWorksheet)

346 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

Module contents

Submodules

openpyxl.writer.dump_worksheet module

openpyxl.writer.dump_worksheet.WriteOnlyCell(*args, **kwargs)

openpyxl.writer.etree_worksheet module

openpyxl.writer.etree_worksheet.etree_write_cell(xf, worksheet, cell, styled=None)

openpyxl.writer.etree_worksheet.get_rows_to_write(worksheet)Return all rows, and any cells that they contain

openpyxl.writer.etree_worksheet.lxml_write_cell(xf, worksheet, cell, styled=False)

openpyxl.writer.etree_worksheet.write_cell(xf, worksheet, cell, styled=False)

openpyxl.writer.etree_worksheet.write_row(xf, worksheet, row, row_idx, max_column)

openpyxl.writer.etree_worksheet.write_rows(xf, worksheet)Write worksheet data to xml.

openpyxl.writer.excel module

class openpyxl.writer.excel.ExcelWriter(workbook, archive)Bases: object

Write a workbook object to an Excel file.

save(filename)Write data into the archive.

write_data()Write the various xml files into the zip archive.

openpyxl.writer.excel.save_virtual_workbook(workbook)Return an in-memory workbook, suitable for a Django response.

openpyxl.writer.excel.save_workbook(workbook, filename)Save the given workbook on the filesystem under the name filename.

Parameters

• workbook (openpyxl.workbook.Workbook) – the workbook to save

• filename (string) – the path to which save the workbook

Return type bool

openpyxl.writer.strings module

openpyxl.writer.strings.write_string_table(string_table)Write the string table xml.

9.1. openpyxl package 347

openpyxl Documentation, Release 2.4.9

openpyxl.writer.theme module

openpyxl.writer.theme.write_theme()Write the theme xml.

openpyxl.writer.workbook module

openpyxl.writer.workbook.get_active_sheet(wb)Return the index of the active sheet. If the sheet set to active is hidden return the next visible sheet or None

openpyxl.writer.workbook.write_root_rels(workbook)Write the relationships xml.

openpyxl.writer.workbook.write_workbook(workbook)Write the core workbook xml.

openpyxl.writer.workbook.write_workbook_rels(workbook)Write the workbook relationships xml.

openpyxl.writer.worksheet module

openpyxl.writer.worksheet.write_conditional_formatting(worksheet)Write conditional formatting to xml.

openpyxl.writer.worksheet.write_drawing(worksheet)Add link to drawing if required

openpyxl.writer.worksheet.write_hyperlinks(worksheet)Write worksheet hyperlinks to xml.

openpyxl.writer.worksheet.write_mergecells(worksheet)Write merged cells to xml.

openpyxl.writer.worksheet.write_worksheet(worksheet)Write a worksheet to an xml file.

openpyxl.writer.write_only module

class openpyxl.writer.write_only.WriteOnlyWorksheet(parent, title)Bases: openpyxl.workbook.child._WorkbookChild

Streaming worksheet. Optimised to reduce memory by writing rows just in time. Cells can be styled and havecomments Styles for rows and columns must be applied before writing cells

append(row)

Parameters row (iterable) – iterable containing values to append

close()

filename

freeze_panes

mime_type = ‘application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml’

print_area

print_title_cols

348 Chapter 9. API Documentation

openpyxl Documentation, Release 2.4.9

print_title_rows

writer = None

openpyxl.writer.write_only.create_temporary_file(suffix=’‘)

openpyxl.writer.write_only.isgenerator(obj)

openpyxl.writer.write_only.save_dump(workbook, filename)

Module contents

openpyxl.xml package

Subpackages

openpyxl.xml.tests package

Submodules

openpyxl.xml.tests.test_functions module

openpyxl.xml.tests.test_functions.test_dont_resolve()

openpyxl.xml.tests.test_functions.test_localtag(xml, tag)

openpyxl.xml.tests.test_functions.test_safe_iterator_none()

Module contents

Submodules

openpyxl.xml.constants module

openpyxl.xml.functions module

openpyxl.xml.functions.iterparse(source, *args, **kw)

openpyxl.xml.functions.localname(node)

openpyxl.xml.functions.safe_iterator(node, tag=None)Return an iterator that is compatible with Python 2.6

openpyxl.xml.functions.safe_iterparse(source, *args, **kw)

openpyxl.xml.namespace module

Module contents

openpyxl.xml.lxml_available()

openpyxl.xml.lxml_env_set()

9.1. openpyxl package 349

openpyxl Documentation, Release 2.4.9

9.1.2 Submodules

openpyxl.conftest module

openpyxl.conftest.Workbook()Workbook Class

openpyxl.conftest.Worksheet()Worksheet Class

openpyxl.conftest.pytest_runtest_setup(item)

9.1.3 Module contents

350 Chapter 9. API Documentation

CHAPTER 10

Indices and tables

• genindex

• modindex

• search

351

openpyxl Documentation, Release 2.4.9

352 Chapter 10. Indices and tables

CHAPTER 11

Release Notes

11.1 2.4.9 (2017-10-19)

11.1.1 Bugfixes

• #809 Incomplete documentation of copy_worksheet method

• #811 Scoped definedNames not removed when worksheet is deleted

• #824 Raise an exception if a chart is used in multiple sheets

• #842 Non-ASCII table column headings cause an exception in Python 2

• #846 Conditional formats not supported in write-only mode

• #849 Conditional formats with no sqref cause an exception

• #859 Headers that start with a number conflict with font size

• #902 TableStyleElements don’t always have a condtional format

• #908 Read-only mode sometimes returns too many cells

11.1.2 Pull requests

• #179 Cells kept in a set

• #180 Support for Workbook protection

• #182 Read support for page breaks

• #183 Improve documentation of copy_worksheet method

• #198 Fix for #908

353

openpyxl Documentation, Release 2.4.9

11.2 2.4.8 (2017-05-30)

11.2.1 Bugfixes

• AutoFilter.sortState being assignd to the ws.sortState

• #766 Sheetnames with apostrophes need additional escaping

• #729 Cannot open files created by Microsoft Dynamics

• #819 Negative percents not case correctly

• #821 Runtime imports can cause deadlock

• #855 Print area containing only columns leads to corrupt file

11.2.2 Minor changes

• Preserve any table styles

11.3 2.4.7 (2017-04-24)

11.3.1 Bugfixes

• #807 Sample files being included by mistake in sdist

11.4 2.4.6 (2017-04-14)

11.4.1 Bugfixes

• #776 Cannot apply formatting to plot area

• #780 Exception when element attributes are Python keywords

• #781 Exception raised when saving files with styled columns

• #785 Number formats for data labels are incorrect

• #788 Worksheet titles not quoted in defined names

• #800 Font underlines not read correctly

11.5 2.4.5 (2017-03-07)

11.5.1 Bugfixes

• #750 Adding images keeps file handles open

• #772 Exception for column-only ranges

• #773 Cannot copy worksheets with non-ascii titles on Python 2

354 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

11.5.2 Pull requests

• 161 Support for non-standard names for Workbook part.

• 162 Documentation correction

11.6 2.4.4 (2017-02-23)

11.6.1 Bugfixes

• #673 Add close method to workbooks

• #762 openpyxl can create files with invalid style indices

• #729 Allow images in write-only mode

• #744 Rounded corners for charts

• #747 Use repr when handling non-convertible objects

• #764 Hashing function is incorrect

• #765 Named styles share underlying array

11.6.2 Minor Changes

• Add roundtrip support for worksheet tables.

11.6.3 Pull requests

• 160 Don’t init mimetypes more than once.

11.7 2.4.3 (unreleased)

bad release

11.8 2.4.2 (2017-01-31)

11.8.1 Bug fixes

• #727 DeprecationWarning is incorrect

• #734 Exception raised if userName is missing

• #739 Always provide a date1904 attribute

• #740 Hashes should be stored as Base64

• #743 Print titles broken on sheetnames with spaces

• #748 Workbook breaks when active sheet is removed

• #754 Incorrect descriptor for Filter values

11.6. 2.4.4 (2017-02-23) 355

openpyxl Documentation, Release 2.4.9

• #756 Potential XXE vulerability

• #758 Cannot create files with page breaks and charts

• #759 Problems with worksheets with commas in their titles

11.8.2 Minor Changes

• Add unicode support for sheet name incrementation.

11.9 2.4.1 (2016-11-23)

11.9.1 Bug fixes

• #643 Make checking for duplicate sheet titles case insensitive

• #647 Trouble handling LibreOffice files with named styles

• #687 Directly assigned new named styles always refer to “Normal”

• #690 Cannot parse print titles with multiple sheet names

• #691 Cannot work with macro files created by LibreOffice

• Prevent duplicate differential styles

• #694 Allow sheet titles longer than 31 characters

• #697 Cannot unset hyperlinks

• #699 Exception raised when format objects use cell references

• #703 Copy height and width when copying comments

• #705 Incorrect content type for VBA macros

• #707 IndexError raised in read-only mode when accessing individual cells

• #711 Files with external links become corrupted

• #715 Cannot read files containing macro sheets

• #717 Details from named styles not preserved when reading files

• #722 Remove broken Print Title and Print Area definitions

11.9.2 Minor changes

• Add support for Python 3.6

• Correct documentation for headers and footers

11.9.3 Deprecations

Worksheet methods get_named_range() and get_sqaured_range()

356 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

11.9.4 Bug fixes

11.10 2.4.0 (2016-09-15)

11.10.1 Bug fixes

• #652 Exception raised when epoch is 1904

• #642 Cannot handle unicode in headers and footers in Python 2

• #646 Cannot handle unicode sheetnames in Python 2

• #658 Chart styles, and axis units should not be 0

• #663 Strings in external workbooks not unicode

11.10.2 Major changes

• Add support for builtin styles and include one for Pandas

11.10.3 Minor changes

• Add a keep_links option to load_workbook. External links contain cached copies of the external workbooks. Ifthese are big it can be advantageous to be able to disable them.

• Provide an example for using cell ranges in DataValidation.

• PR 138 - add copy support to comments.

11.11 2.4.0-b1 (2016-06-08)

11.11.1 Minor changes

• Add an the alias hide_drop_down to DataValidation for showDropDown because that is how Excel works.

11.11.2 Bug fixes

• #625 Exception raises when inspecting EmptyCells in read-only mode

• #547 Functions for handling OOXML “escaped” ST_XStrings

• #629 Row Dimensions not supported in write-only mode

• #530 Problems when removing worksheets with charts

• #630 Cannot use SheetProtection in write-only mode

11.11.3 Features

• Add write support for worksheet tables

11.10. 2.4.0 (2016-09-15) 357

openpyxl Documentation, Release 2.4.9

11.12 2.4.0-a1 (2016-04-11)

11.12.1 Minor changes

• Remove deprecated methods from DataValidation

• Remove deprecated methods from PrintPageSetup

• Convert AutoFilter to Serialisable and extend support for filters

• Add support for SortState

• Removed use_iterators keyword when loading workbooks. Use read_only instead.

• Removed optimized_write keyword for new workbooks. Use write_only instead.

• Improve print title support

• Add print area support

• New implementation of defined names

• New implementation of page headers and footers

• Add support for Python’s NaN

• Added iter_cols method for worksheets

• ws.rows and ws.columns now always return generators and start at the top of the worksheet

• Add a values property for worksheets

• Default column width changed to 8 as per the specification

11.12.2 Deprecations

• Cell anchor method

• Worksheet point_pos method

• Worksheet add_print_title method

• Worksheet HeaderFooter attribute, replaced by individual ones

• Flatten function for cells

• Workbook get_named_range, add_named_range, remove_named_range, get_sheet_names, get_sheet_by_name

• Comment text attribute

• Use of range strings deprecated for ws.iter_rows()

• Use of coordinates deprecated for ws.cell()

• Deprecate .copy() method for StyleProxy objects

11.12.3 Bug fixes

• #152 Hyperlinks lost when reading files

• #171 Add function for copying worksheets

• #386 Cells with inline strings considered empty

358 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

• #397 Add support for ranges of rows and columns

• #446 Workbook with definedNames corrupted by openpyxl

• #481 “safe” reserved ranges are not read from workbooks

• #501 Discarding named ranges can lead to corrupt files

• #574 Exception raised when using the class method to parse Relationships

• #579 Crashes when reading defined names with no content

• #597 Cannot read worksheets without coordinates

• #617 Customised named styles not correctly preserved

11.13 2.3.5 (2016-04-11)

11.13.1 Bug fixes

• #618 Comments not written in write-only mode

11.14 2.3.4 (2016-03-16)

11.14.1 Bug fixes

• #594 Content types might be missing when keeping VBA

• #599 Cells with only one cell look empty

• #607 Serialise NaN as ‘’

11.14.2 Minor changes

• Preserve the order of external references because formualae use numerical indices.

• Typo corrected in cell unit tests (PR 118)

11.15 2.3.3 (2016-01-18)

11.15.1 Bug fixes

• #540 Cannot read merged cells in read-only mode

• #565 Empty styled text blocks cannot be parsed

• #569 Issue warning rather than raise Exception raised for unparsable definedNames

• #575 Cannot open workbooks with embdedded OLE files

• #584 Exception when saving borders with attributes

11.13. 2.3.5 (2016-04-11) 359

openpyxl Documentation, Release 2.4.9

11.15.2 Minor changes

• PR 103 Documentation about chart scaling and axis limits

• Raise an exception when trying to copy cells from other workbooks.

11.16 2.3.2 (2015-12-07)

11.16.1 Bug fixes

• #554 Cannot add comments to a worksheet when preserving VBA

• #561 Exception when reading phonetic text

• #562 DARKBLUE is the same as RED

• #563 Minimum for row and column indexes not enforced

11.16.2 Minor changes

• PR 97 One VML file per worksheet.

• PR 96 Correct descriptor for CharacterProperties.rtl

• #498 Metadata is not essential to use the package.

11.17 2.3.1 (2015-11-20)

11.17.1 Bug fixes

• #534 Exception when using columns property in read-only mode.

• #536 Incorrectly handle comments from Google Docs files.

• #539 Flexible value types for conditional formatting.

• #542 Missing content types for images.

• #543 Make sure images fit containers on all OSes.

• #544 Gracefully handle missing cell styles.

• #546 ExternalLink duplicated when editing a file with macros.

• #548 Exception with non-ASCII worksheet titles

• #551 Combine multiple LineCharts

11.17.2 Minor changes

• PR 88 Fix page margins in parser.

360 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

11.18 2.3.0 (2015-10-20)

11.18.1 Major changes

• Support the creation of chartsheets

11.18.2 Bug fixes

• #532 Problems when cells have no style in read-only mode.

11.18.3 Minor changes

• PR 79 Make PlotArea editable in charts

• Use graphicalProperties as the alias for spPr

11.19 2.3.0-b2 (2015-09-04)

11.19.1 Bug fixes

• #488 Support hashValue attribute for sheetProtection

• #493 Warn that unsupported extensions will be dropped

• #494 Cells with exponentials causes a ValueError

• #497 Scatter charts are broken

• #499 Inconsistent conversion of localised datetimes

• #500 Adding images leads to unreadable files

• #509 Improve handling of sheet names

• #515 Non-ascii titles have bad repr

• #516 Ignore unassigned worksheets

11.19.2 Minor changes

• Worksheets are now iterable by row.

• Assign individual cell styles only if they are explicitly set.

11.20 2.3.0-b1 (2015-06-29)

11.20.1 Major changes

• Shift to using (row, column) indexing for cells. Cells will at some point lose coordinates.

• New implementation of conditional formatting. Databars now partially preserved.

11.18. 2.3.0 (2015-10-20) 361

openpyxl Documentation, Release 2.4.9

• et_xmlfile is now a standalone library.

• Complete rewrite of chart package

• Include a tokenizer for fomulae to be able to adjust cell references in them. PR 63

11.20.2 Minor changes

• Read-only and write-only worksheets renamed.

• Write-only workbooks support charts and images.

• PR76 Prevent comment images from conflicting with VBA

11.20.3 Bug fixes

• #81 Support stacked bar charts

• #88 Charts break hyperlinks

• #97 Pie and combination charts

• #99 Quote worksheet names in chart references

• #150 Support additional chart options

• #172 Support surface charts

• #381 Preserve named styles

• #470 Adding more than 10 worksheets with the same name leads to duplicates sheet names and an invalid file

11.21 2.2.6 (unreleased)

11.21.1 Bug fixes

• #502 Unexpected keyword “mergeCell”

• #503 tostring missing in dump_worksheet

• #506 Non-ASCII formulae cannot be parsed

• #508 Cannot save files with coloured tabs

• Regex for ignoring named ranges is wrong (character class instead of prefix)

11.22 2.2.5 (2015-06-29)

11.22.1 Bug fixes

• #463 Unexpected keyword “mergeCell”

• #484 Unusual dimensions breaks read-only mode

• #485 Move return out of loop

362 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

11.23 2.2.4 (2015-06-17)

11.23.1 Bug fixes

• #464 Cannot use images when preserving macros

• #465 ws.cell() returns an empty cell on read-only workbooks

• #467 Cannot edit a file with ActiveX components

• #471 Sheet properties elements must be in order

• #475 Do not redefine class __slots__ in subclasses

• #477 Write-only support for SheetProtection

• #478 Write-only support for DataValidation

• Improved regex when checking for datetime formats

11.24 2.2.3 (2015-05-26)

11.24.1 Bug fixes

• #451 fitToPage setting ignored

• #458 Trailing spaces lost when saving files.

• #459 setup.py install fails with Python 3

• #462 Vestigial rId conflicts when adding charts, images or comments

• #455 Enable Zip64 extensions for all versions of Python

11.25 2.2.2 (2015-04-28)

11.25.1 Bug fixes

• #447 Uppercase datetime number formats not recognised.

• #453 Borders broken in shared_styles.

11.26 2.2.1 (2015-03-31)

11.26.1 Minor changes

• PR54 Improved precision on times near midnight.

• PR55 Preserve macro buttons

11.23. 2.2.4 (2015-06-17) 363

openpyxl Documentation, Release 2.4.9

11.26.2 Bug fixes

• #429 Workbook fails to load because header and footers cannot be parsed.

• #433 File-like object with encoding=None

• #434 SyntaxError when writing page breaks.

• #436 Read-only mode duplicates empty rows.

• #437 Cell.offset raises an exception

• #438 Cells with pivotButton and quotePrefix styles cannot be read

• #440 Error when customised versions of builtin formats

• #442 Exception raised when a fill element contains no children

• #444 Styles cannot be copied

11.27 2.2.0 (2015-03-11)

11.27.1 Bug fixes

• #415 Improved exception when passing in invalid in memory files.

11.28 2.2.0-b1 (2015-02-18)

11.28.1 Major changes

• Cell styles deprecated, use formatting objects (fonts, fills, borders, etc.) directly instead

• Charts will no longer try and calculate axes by default

• Support for template file types - PR21

• Moved ancillary functions and classes into utils package - single place of reference

• PR 34 Fully support page setup

• Removed SAX-based XML Generator. Special thanks to Elias Rabel for implementing xmlfile for xml.etree

• Preserve sheet view definitions in existing files (frozen panes, zoom, etc.)

11.28.2 Bug fixes

• #103 Set the zoom of a sheet

• #199 Hide gridlines

• #215 Preserve sheet view setings

• #262 Set the zoom of a sheet

• #392 Worksheet header not read

• #387 Cannot read files without styles.xml

• #410 Exception when preserving whitespace in strings

364 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

• #417 Cannot create print titles

• #420 Rename confusing constants

• #422 Preserve color index in a workbook if it differs from the standard

11.28.3 Minor changes

• Use a 2-way cache for column index lookups

• Clean up tests in cells

• PR 40 Support frozen panes and autofilter in write-only mode

• Use ws.calculate_dimension(force=True) in read-only mode for unsized worksheets

11.29 2.1.5 (2015-02-18)

11.29.1 Bug fixes

• #403 Cannot add comments in write-only mode

• #401 Creating cells in an empty row raises an exception

• #408 from_excel adjustment for Julian dates 1 < x < 60

• #409 refersTo is an optional attribute

11.29.2 Minor changes

• Allow cells to be appended to standard worksheets for code compatibility with write-only mode.

11.30 2.1.4 (2014-12-16)

11.30.1 Bug fixes

• #393 IterableWorksheet skips empty cells in rows

• #394 Date format is applied to all columns (while only first column contains dates)

• #395 temporary files not cleaned properly

• #396 Cannot write “=” in Excel file

• #398 Cannot write empty rows in write-only mode with LXML installed

11.30.2 Minor changes

• Add relation namespace to root element for compatibility with iWork

• Serialize comments relation in LXML-backend

11.29. 2.1.5 (2015-02-18) 365

openpyxl Documentation, Release 2.4.9

11.31 2.1.3 (2014-12-09)

11.31.1 Minor changes

• PR 31 Correct tutorial

• PR 32 See #380

• PR 37 Bind worksheet to ColumnDimension objects

11.31.2 Bug fixes

• #379 ws.append() doesn’t set RowDimension Correctly

• #380 empty cells formatted as datetimes raise exceptions

11.32 2.1.2 (2014-10-23)

11.32.1 Minor changes

• PR 30 Fix regex for positive exponentials

• PR 28 Fix for #328

11.32.2 Bug fixes

• #120, #168 defined names with formulae raise exceptions, #292

• #328 ValueError when reading cells with hyperlinks

• #369 IndexError when reading definedNames

• #372 number_format not consistently applied from styles

11.33 2.1.1 (2014-10-08)

11.33.1 Minor changes

• PR 20 Support different workbook code names

• Allow auto_axis keyword for ScatterCharts

11.33.2 Bug fixes

• #332 Fills lost in ConditionalFormatting

• #360 Support value=”none” in attributes

• #363 Support undocumented value for textRotation

• #364 Preserve integers in read-only mode

366 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

• #366 Complete read support for DataValidation

• #367 Iterate over unsized worksheets

11.34 2.1.0 (2014-09-21)

11.34.1 Major changes

• “read_only” and “write_only” new flags for workbooks

• Support for reading and writing worksheet protection

• Support for reading hidden rows

• Cells now manage their styles directly

• ColumnDimension and RowDimension object manage their styles directly

• Use xmlfile for writing worksheets if available - around 3 times faster

• Datavalidation now part of the worksheet package

11.34.2 Minor changes

• Number formats are now just strings

• Strings can be used for RGB and aRGB colours for Fonts, Fills and Borders

• Create all style tags in a single pass

• Performance improvement when appending rows

• Cleaner conversion of Python to Excel values

• PR6 reserve formatting for empty rows

• standard worksheets can append from ranges and generators

11.34.3 Bug fixes

• #153 Cannot read visibility of sheets and rows

• #181 No content type for worksheets

• 241 Cannot read sheets with inline strings

• 322 1-indexing for merged cells

• 339 Correctly handle removal of cell protection

• 341 Cells with formulae do not round-trip

• 347 Read DataValidations

• 353 Support Defined Named Ranges to external workbooks

11.34. 2.1.0 (2014-09-21) 367

openpyxl Documentation, Release 2.4.9

11.35 2.0.5 (2014-08-08)

11.35.1 Bug fixes

• #348 incorrect casting of boolean strings

• #349 roundtripping cells with formulae

11.36 2.0.4 (2014-06-25)

11.36.1 Minor changes

• Add a sample file illustrating colours

11.36.2 Bug fixes

• #331 DARKYELLOW was incorrect

• Correctly handle extend attribute for fonts

11.37 2.0.3 (2014-05-22)

11.37.1 Minor changes

• Updated docs

11.37.2 Bug fixes

• #319 Cannot load Workbooks with vertAlign styling for fonts

11.38 2.0.2 (2014-05-13)

11.39 2.0.1 (2014-05-13) brown bag

11.40 2.0.0 (2014-05-13) brown bag

11.40.1 Major changes

• This is last release that will support Python 3.2

• Cells are referenced with 1-indexing: A1 == cell(row=1, column=1)

• Use jdcal for more efficient and reliable conversion of datetimes

• Significant speed up when reading files

• Merged immutable styles

368 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

• Type inference is disabled by default

• RawCell renamed ReadOnlyCell

• ReadOnlyCell.internal_value and ReadOnlyCell.value now behave the same as Cell

• Provide no size information on unsized worksheets

• Lower memory footprint when reading files

11.40.2 Minor changes

• All tests converted to pytest

• Pyflakes used for static code analysis

• Sample code in the documentation is automatically run

• Support GradientFills

• BaseColWidth set

11.40.3 Pull requests

• #70 Add filterColumn, sortCondition support to AutoFilter

• #80 Reorder worksheets parts

• #82 Update API for conditional formatting

• #87 Add support for writing Protection styles, others

• #89 Better handling of content types when preserving macros

11.40.4 Bug fixes

• #46 ColumnDimension style error

• #86 reader.worksheet.fast_parse sets booleans to integers

• #98 Auto sizing column widths does not work

• #137 Workbooks with chartsheets

• #185 Invalid PageMargins

• #230 Using v in cells creates invalid files

• #243 - IndexError when loading workbook

• #263 - Forded conversion of line breaks

• #267 - Raise exceptions when passed invalid types

• #270 - Cannot open files which use non-standard sheet names or reference Ids

• #269 - Handling unsized worksheets in IterableWorksheet

• #270 - Handling Workbooks with non-standard references

• #275 - Handling auto filters where there are only custom filters

• #277 - Harmonise chart and cell coordinates

11.40. 2.0.0 (2014-05-13) brown bag 369

openpyxl Documentation, Release 2.4.9

• #280- Explicit exception raising for invalid characters

• #286 - Optimized writer can not handle a datetime.time value

• #296 - Cell coordinates not consistent with documentation

• #300 - Missing column width causes load_workbook() exception

• #304 - Handling Workbooks with absolute paths for worksheets (from Sharepoint)

11.41 1.8.6 (2014-05-05)

11.41.1 Minor changes

Fixed typo for import Elementtree

11.41.2 Bugfixes

• #279 Incorrect path for comments files on Windows

11.42 1.8.5 (2014-03-25)

11.42.1 Minor changes

• The ‘=’ string is no longer interpreted as a formula

• When a client writes empty xml tags for cells (e.g. <c r=’A1’></c>), reader will not crash

11.43 1.8.4 (2014-02-25)

11.43.1 Bugfixes

• #260 better handling of undimensioned worksheets

• #268 non-ascii in formualae

• #282 correct implementation of register_namepsace for Python 2.6

11.44 1.8.3 (2014-02-09)

11.44.1 Major changes

Always parse using cElementTree

370 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

11.44.2 Minor changes

Slight improvements in memory use when parsing

• #256 - error when trying to read comments with optimised reader

• #260 - unsized worksheets

• #264 - only numeric cells can be dates

11.45 1.8.2 (2014-01-17)

• #247 - iterable worksheets open too many files

• #252 - improved handling of lxml

• #253 - better handling of unique sheetnames

11.46 1.8.1 (2014-01-14)

• #246

11.47 1.8.0 (2014-01-08)

11.47.1 Compatibility

Support for Python 2.5 dropped.

11.47.2 Major changes

• Support conditional formatting

• Support lxml as backend

• Support reading and writing comments

• pytest as testrunner now required

• Improvements in charts: new types, more reliable

11.47.3 Minor changes

• load_workbook now accepts data_only to allow extracting values only from formulae. Default is false.

• Images can now be anchored to cells

• Docs updated

• Provisional benchmarking

• Added convenience methods for accessing worksheets and cells by key

11.45. 1.8.2 (2014-01-17) 371

openpyxl Documentation, Release 2.4.9

11.48 1.7.0 (2013-10-31)

11.48.1 Major changes

Drops support for Python < 2.5 and last version to support Python 2.5

11.48.2 Compatibility

Tests run on Python 2.5, 2.6, 2.7, 3.2, 3.3

11.48.3 Merged pull requests

• 27 Include more metadata

• 41 Able to read files with chart sheets

• 45 Configurable Worksheet classes

• 3 Correct serialisation of Decimal

• 36 Preserve VBA macros when reading files

• 44 Handle empty oddheader and oddFooter tags

• 43 Fixed issue that the reader never set the active sheet

• 33 Reader set value and type explicitly and TYPE_ERROR checking

• 22 added page breaks, fixed formula serialization

• 39 Fix Python 2.6 compatibility

• 47 Improvements in styling

11.48.4 Known bugfixes

• #109

• #165

• #179

• #209

• #112

• #166

• #109

• #223

• #124

• #157

372 Chapter 11. Release Notes

openpyxl Documentation, Release 2.4.9

11.48.5 Miscellaneous

Performance improvements in optimised writer

Docs updated

11.48. 1.7.0 (2013-10-31) 373

openpyxl Documentation, Release 2.4.9

374 Chapter 11. Release Notes

Python Module Index

oopenpyxl, 3openpyxl.cell, 101openpyxl.cell.cell, 96openpyxl.cell.interface, 97openpyxl.cell.read_only, 98openpyxl.cell.tests, 96openpyxl.cell.tests.test_cell, 93openpyxl.cell.tests.test_read_only, 94openpyxl.cell.tests.test_text, 95openpyxl.cell.text, 99openpyxl.chart, 150openpyxl.chart.area_chart, 113openpyxl.chart.axis, 114openpyxl.chart.bar_chart, 119openpyxl.chart.bubble_chart, 121openpyxl.chart.chartspace, 122openpyxl.chart.data_source, 127openpyxl.chart.descriptors, 129openpyxl.chart.error_bar, 129openpyxl.chart.label, 130openpyxl.chart.layout, 132openpyxl.chart.legend, 133openpyxl.chart.line_chart, 134openpyxl.chart.marker, 135openpyxl.chart.picture, 136openpyxl.chart.pie_chart, 136openpyxl.chart.print_settings, 138openpyxl.chart.radar_chart, 139openpyxl.chart.reader, 140openpyxl.chart.reference, 140openpyxl.chart.scatter_chart, 141openpyxl.chart.series, 141openpyxl.chart.series_factory, 144openpyxl.chart.shapes, 144openpyxl.chart.stock_chart, 145openpyxl.chart.surface_chart, 146openpyxl.chart.tests, 113openpyxl.chart.tests.conftest, 101

openpyxl.chart.tests.test_area_chart,101

openpyxl.chart.tests.test_axis, 102openpyxl.chart.tests.test_bar_chart, 103openpyxl.chart.tests.test_bubble_chart,

103openpyxl.chart.tests.test_chart, 103openpyxl.chart.tests.test_chartspace,

104openpyxl.chart.tests.test_data_source,

105openpyxl.chart.tests.test_error_bar, 106openpyxl.chart.tests.test_label, 106openpyxl.chart.tests.test_layout, 106openpyxl.chart.tests.test_legend, 106openpyxl.chart.tests.test_line_chart,

107openpyxl.chart.tests.test_marker, 107openpyxl.chart.tests.test_picture, 107openpyxl.chart.tests.test_pie_chart, 108openpyxl.chart.tests.test_print, 108openpyxl.chart.tests.test_radar_chart,

109openpyxl.chart.tests.test_reader, 109openpyxl.chart.tests.test_reference, 109openpyxl.chart.tests.test_scatter_chart,

109openpyxl.chart.tests.test_series, 109openpyxl.chart.tests.test_series_factory,

110openpyxl.chart.tests.test_shapes, 111openpyxl.chart.tests.test_stock_chart,

111openpyxl.chart.tests.test_surface_chart,

111openpyxl.chart.tests.test_text, 112openpyxl.chart.tests.test_title, 112openpyxl.chart.tests.test_trendline, 112openpyxl.chart.tests.test_updown_bars,

112

375

openpyxl Documentation, Release 2.4.9

openpyxl.chart.text, 147openpyxl.chart.title, 148openpyxl.chart.trendline, 148openpyxl.chart.updown_bars, 150openpyxl.chartsheet, 159openpyxl.chartsheet.chartsheet, 152openpyxl.chartsheet.custom, 153openpyxl.chartsheet.properties, 154openpyxl.chartsheet.protection, 154openpyxl.chartsheet.publish, 155openpyxl.chartsheet.relation, 156openpyxl.chartsheet.tests, 152openpyxl.chartsheet.tests.test_chartsheet,

150openpyxl.chartsheet.tests.test_custom,

151openpyxl.chartsheet.tests.test_properties,

151openpyxl.chartsheet.tests.test_protection,

151openpyxl.chartsheet.tests.test_publish,

151openpyxl.chartsheet.tests.test_relation,

152openpyxl.chartsheet.tests.test_views,

152openpyxl.chartsheet.views, 158openpyxl.comments, 163openpyxl.comments.author, 160openpyxl.comments.comment_sheet, 160openpyxl.comments.comments, 162openpyxl.comments.shape_writer, 163openpyxl.comments.tests, 160openpyxl.comments.tests.conftest, 159openpyxl.comments.tests.test_author, 159openpyxl.comments.tests.test_comment,

159openpyxl.comments.tests.test_comment_reader,

159openpyxl.comments.tests.test_comment_sheet,

159openpyxl.comments.tests.test_shape_writer,

160openpyxl.compat, 165openpyxl.compat.abc, 164openpyxl.compat.numbers, 164openpyxl.compat.odict, 164openpyxl.compat.singleton, 164openpyxl.compat.strings, 165openpyxl.compat.tests, 164openpyxl.compat.tests.test_compat, 163openpyxl.conftest, 350openpyxl.descriptors, 176openpyxl.descriptors.base, 171

openpyxl.descriptors.excel, 173openpyxl.descriptors.namespace, 174openpyxl.descriptors.nested, 174openpyxl.descriptors.sequence, 175openpyxl.descriptors.serialisable, 176openpyxl.descriptors.slots, 176openpyxl.descriptors.tests, 171openpyxl.descriptors.tests.test_base,

165openpyxl.descriptors.tests.test_excel,

167openpyxl.descriptors.tests.test_namespace,

168openpyxl.descriptors.tests.test_nested,

168openpyxl.descriptors.tests.test_sequence,

169openpyxl.descriptors.tests.test_serialisable,

170openpyxl.develop, 177openpyxl.develop.classify, 177openpyxl.develop.stub, 177openpyxl.develop.tests, 177openpyxl.develop.tests.test_classify,

176openpyxl.drawing, 230openpyxl.drawing.colors, 185openpyxl.drawing.drawing, 189openpyxl.drawing.effect, 190openpyxl.drawing.fill, 197openpyxl.drawing.graphic, 202openpyxl.drawing.image, 209openpyxl.drawing.line, 209openpyxl.drawing.shape, 211openpyxl.drawing.shapes, 212openpyxl.drawing.spreadsheet_drawing,

218openpyxl.drawing.tests, 185openpyxl.drawing.tests.conftest, 177openpyxl.drawing.tests.test_color, 178openpyxl.drawing.tests.test_descriptors,

178openpyxl.drawing.tests.test_drawing, 178openpyxl.drawing.tests.test_fill, 179openpyxl.drawing.tests.test_graphic, 180openpyxl.drawing.tests.test_image, 181openpyxl.drawing.tests.test_line, 182openpyxl.drawing.tests.test_shape, 182openpyxl.drawing.tests.test_shapes, 183openpyxl.drawing.tests.test_spreadsheet_drawing,

184openpyxl.drawing.tests.test_text, 184openpyxl.drawing.text, 220openpyxl.formatting, 235

376 Python Module Index

openpyxl Documentation, Release 2.4.9

openpyxl.formatting.formatting, 232openpyxl.formatting.rule, 232openpyxl.formatting.tests, 232openpyxl.formatting.tests.conftest, 230openpyxl.formatting.tests.test_formatting,

230openpyxl.formatting.tests.test_rule, 231openpyxl.formula, 239openpyxl.formula.tests, 237openpyxl.formula.tests.test_tokenizer,

235openpyxl.formula.tests.test_translate,

236openpyxl.formula.tokenizer, 237openpyxl.formula.translate, 238openpyxl.packaging, 247openpyxl.packaging.core, 242openpyxl.packaging.extended, 243openpyxl.packaging.interface, 245openpyxl.packaging.manifest, 245openpyxl.packaging.relationship, 246openpyxl.packaging.tests, 242openpyxl.packaging.tests.conftest, 239openpyxl.packaging.tests.test_core, 240openpyxl.packaging.tests.test_extended,

240openpyxl.packaging.tests.test_interface,

240openpyxl.packaging.tests.test_manifest,

240openpyxl.packaging.tests.test_relationship,

241openpyxl.packaging.tests.test_workbook,

241openpyxl.packaging.workbook, 247openpyxl.reader, 251openpyxl.reader.excel, 250openpyxl.reader.strings, 250openpyxl.reader.tests, 250openpyxl.reader.tests.conftest, 247openpyxl.reader.tests.test_excel, 248openpyxl.reader.tests.test_strings, 248openpyxl.reader.tests.test_style, 248openpyxl.reader.tests.test_worksheet,

248openpyxl.reader.worksheet, 251openpyxl.styles, 271openpyxl.styles.alignment, 257openpyxl.styles.borders, 258openpyxl.styles.builtins, 259openpyxl.styles.cell_style, 259openpyxl.styles.colors, 261openpyxl.styles.differential, 262openpyxl.styles.fills, 263

openpyxl.styles.fonts, 264openpyxl.styles.named_styles, 266openpyxl.styles.numbers, 267openpyxl.styles.protection, 268openpyxl.styles.proxy, 268openpyxl.styles.styleable, 268openpyxl.styles.stylesheet, 269openpyxl.styles.table, 270openpyxl.styles.tests, 257openpyxl.styles.tests.conftest, 251openpyxl.styles.tests.test_alignments,

252openpyxl.styles.tests.test_borders, 252openpyxl.styles.tests.test_cell_style,

252openpyxl.styles.tests.test_colors, 253openpyxl.styles.tests.test_differential,

253openpyxl.styles.tests.test_fills, 253openpyxl.styles.tests.test_fonts, 254openpyxl.styles.tests.test_named_style,

254openpyxl.styles.tests.test_number_style,

255openpyxl.styles.tests.test_protection,

255openpyxl.styles.tests.test_proxy, 255openpyxl.styles.tests.test_styleable,

255openpyxl.styles.tests.test_stylesheet,

256openpyxl.styles.tests.test_table, 256openpyxl.tests, 273openpyxl.tests.conftest, 271openpyxl.tests.helper, 271openpyxl.tests.schema, 271openpyxl.tests.test_backend, 271openpyxl.tests.test_iter, 272openpyxl.tests.test_read, 273openpyxl.tests.test_vba, 273openpyxl.utils, 280openpyxl.utils.bound_dictionary, 276openpyxl.utils.cell, 276openpyxl.utils.dataframe, 276openpyxl.utils.datetime, 277openpyxl.utils.escape, 277openpyxl.utils.exceptions, 277openpyxl.utils.formulas, 278openpyxl.utils.indexed_list, 278openpyxl.utils.protection, 278openpyxl.utils.tests, 276openpyxl.utils.tests.test_bound_dictionary,

273openpyxl.utils.tests.test_cell, 274

Python Module Index 377

openpyxl Documentation, Release 2.4.9

openpyxl.utils.tests.test_dataframe, 274openpyxl.utils.tests.test_datetime, 274openpyxl.utils.tests.test_escape, 275openpyxl.utils.tests.test_indexed_list,

275openpyxl.utils.tests.test_protection,

275openpyxl.utils.tests.test_units, 275openpyxl.utils.units, 278openpyxl.workbook, 303openpyxl.workbook.child, 288openpyxl.workbook.defined_name, 288openpyxl.workbook.external_link, 283openpyxl.workbook.external_link.external,

281openpyxl.workbook.external_link.tests,

281openpyxl.workbook.external_link.tests.conftest,

280openpyxl.workbook.external_link.tests.test_external,

280openpyxl.workbook.external_reference,

290openpyxl.workbook.function_group, 290openpyxl.workbook.parser, 290openpyxl.workbook.pivot, 292openpyxl.workbook.properties, 293openpyxl.workbook.protection, 295openpyxl.workbook.smart_tags, 297openpyxl.workbook.tests, 288openpyxl.workbook.tests.conftest, 283openpyxl.workbook.tests.test_child, 283openpyxl.workbook.tests.test_defined_name,

283openpyxl.workbook.tests.test_external_reference,

284openpyxl.workbook.tests.test_function_group,

284openpyxl.workbook.tests.test_parser, 285openpyxl.workbook.tests.test_pivot, 285openpyxl.workbook.tests.test_properties,

285openpyxl.workbook.tests.test_protection,

286openpyxl.workbook.tests.test_smart_tags,

286openpyxl.workbook.tests.test_views, 286openpyxl.workbook.tests.test_web, 287openpyxl.workbook.tests.test_workbook,

287openpyxl.workbook.views, 298openpyxl.workbook.web, 300openpyxl.workbook.workbook, 301openpyxl.worksheet, 343

openpyxl.worksheet.copier, 313openpyxl.worksheet.datavalidation, 313openpyxl.worksheet.dimensions, 315openpyxl.worksheet.drawing, 318openpyxl.worksheet.filters, 318openpyxl.worksheet.header_footer, 322openpyxl.worksheet.hyperlink, 323openpyxl.worksheet.merge, 324openpyxl.worksheet.page, 324openpyxl.worksheet.pagebreak, 326openpyxl.worksheet.pivot, 327openpyxl.worksheet.properties, 330openpyxl.worksheet.protection, 331openpyxl.worksheet.read_only, 332openpyxl.worksheet.related, 333openpyxl.worksheet.table, 333openpyxl.worksheet.tests, 313openpyxl.worksheet.tests.conftest, 303openpyxl.worksheet.tests.test_datavalidation,

303openpyxl.worksheet.tests.test_dimensions,

304openpyxl.worksheet.tests.test_filters,

305openpyxl.worksheet.tests.test_header,

306openpyxl.worksheet.tests.test_hyperlink,

307openpyxl.worksheet.tests.test_page, 307openpyxl.worksheet.tests.test_pagebreak,

308openpyxl.worksheet.tests.test_properties,

308openpyxl.worksheet.tests.test_protection,

309openpyxl.worksheet.tests.test_read_only,

309openpyxl.worksheet.tests.test_related,

309openpyxl.worksheet.tests.test_table, 309openpyxl.worksheet.tests.test_views, 310openpyxl.worksheet.tests.test_worksheet,

310openpyxl.worksheet.tests.test_worksheet_copy,

312openpyxl.worksheet.views, 337openpyxl.worksheet.worksheet, 339openpyxl.writer, 349openpyxl.writer.dump_worksheet, 347openpyxl.writer.etree_worksheet, 347openpyxl.writer.excel, 347openpyxl.writer.strings, 347openpyxl.writer.tests, 347openpyxl.writer.tests.conftest, 343

378 Python Module Index

openpyxl Documentation, Release 2.4.9

openpyxl.writer.tests.test_excel, 344openpyxl.writer.tests.test_strings, 344openpyxl.writer.tests.test_template, 344openpyxl.writer.tests.test_theme, 344openpyxl.writer.tests.test_workbook, 344openpyxl.writer.tests.test_worksheet,

345openpyxl.writer.tests.test_write_only,

346openpyxl.writer.theme, 348openpyxl.writer.workbook, 348openpyxl.writer.worksheet, 348openpyxl.writer.write_only, 348openpyxl.xml, 349openpyxl.xml.constants, 349openpyxl.xml.functions, 349openpyxl.xml.namespace, 349openpyxl.xml.tests, 349openpyxl.xml.tests.test_functions, 349

Python Module Index 379

openpyxl Documentation, Release 2.4.9

380 Python Module Index

Index

Aa (openpyxl.drawing.effect.AlphaReplaceEffect at-

tribute), 190aboveAverage (openpyxl.formatting.rule.Rule attribute),

234absolute_coordinate() (in module openpyxl.utils.cell),

276AbsoluteAnchor (class in open-

pyxl.drawing.spreadsheet_drawing), 218absoluteAnchor (openpyxl.drawing.spreadsheet_drawing.SpreadsheetDrawing

attribute), 219AbsoluteAnchor() (in module open-

pyxl.drawing.tests.test_spreadsheet_drawing),184

AbstractCell (class in openpyxl.cell.interface), 97accent1 (openpyxl.drawing.colors.ColorMapping at-

tribute), 186accent2 (openpyxl.drawing.colors.ColorMapping at-

tribute), 186accent3 (openpyxl.drawing.colors.ColorMapping at-

tribute), 186accent4 (openpyxl.drawing.colors.ColorMapping at-

tribute), 186accent5 (openpyxl.drawing.colors.ColorMapping at-

tribute), 186accent6 (openpyxl.drawing.colors.ColorMapping at-

tribute), 187action (openpyxl.drawing.text.Hyperlink attribute), 224active (openpyxl.workbook.parser.WorkbookPackage at-

tribute), 291active (openpyxl.workbook.workbook.Workbook at-

tribute), 301active_cell (openpyxl.worksheet.worksheet.Worksheet at-

tribute), 340activeCell (openpyxl.worksheet.views.Selection at-

tribute), 338activeCellId (openpyxl.worksheet.views.Selection at-

tribute), 338activeCol (openpyxl.worksheet.pivot.PivotSelection at-

tribute), 329activePane (openpyxl.worksheet.views.Pane attribute),

337activeRow (openpyxl.worksheet.pivot.PivotSelection at-

tribute), 329activeSheetId (openpyxl.workbook.views.CustomWorkbookView

attribute), 299activeTab (openpyxl.workbook.views.BookView at-

tribute), 298add() (openpyxl.formatting.formatting.ConditionalFormattingList

method), 232add() (openpyxl.styles.differential.DifferentialStyleList

method), 262add() (openpyxl.utils.indexed_list.IndexedList method),

278add() (openpyxl.worksheet.datavalidation.DataValidation

method), 313add_chart() (openpyxl.chartsheet.chartsheet.Chartsheet

method), 152add_chart() (openpyxl.worksheet.worksheet.Worksheet

method), 340add_comment_shape() (open-

pyxl.comments.shape_writer.ShapeWritermethod), 163

add_comment_shapetype() (open-pyxl.comments.shape_writer.ShapeWritermethod), 163

add_data_validation() (open-pyxl.worksheet.worksheet.Worksheet method),340

add_filter_column() (open-pyxl.worksheet.filters.AutoFilter method),318

add_image() (openpyxl.worksheet.worksheet.Worksheetmethod), 340

add_named_range() (open-pyxl.workbook.workbook.Workbook method),301

add_named_style() (open-pyxl.workbook.workbook.Workbook method),

381

openpyxl Documentation, Release 2.4.9

301add_print_title() (open-

pyxl.worksheet.worksheet.Worksheet method),340

add_sort_condition() (open-pyxl.worksheet.filters.AutoFilter method),318

add_table() (openpyxl.worksheet.worksheet.Worksheetmethod), 340

AdjPoint2D (class in openpyxl.drawing.shapes), 212AdjustHandleList (class in openpyxl.drawing.shapes),

212ahLst (openpyxl.drawing.shapes.CustomGeometry2D at-

tribute), 213algn (openpyxl.drawing.effect.OuterShadowEffect

attribute), 194algn (openpyxl.drawing.effect.ReflectionEffect attribute),

196algn (openpyxl.drawing.fill.TileInfoProperties attribute),

201algn (openpyxl.drawing.line.LineProperties attribute),

210algn (openpyxl.drawing.text.ParagraphProperties at-

tribute), 225algn (openpyxl.drawing.text.TabStop attribute), 229algorithmName (openpyxl.chartsheet.protection.ChartsheetProtection

attribute), 154algorithmName (openpyxl.workbook.protection.FileSharing

attribute), 295algorithmName (openpyxl.worksheet.protection.SheetProtection

attribute), 331Alias (class in openpyxl.descriptors.base), 171Alignment (class in openpyxl.styles.alignment), 257alignment (openpyxl.cell.read_only.EmptyCell attribute),

98alignment (openpyxl.cell.read_only.ReadOnlyCell

attribute), 98alignment (openpyxl.cell.text.PhoneticProperties at-

tribute), 100alignment (openpyxl.styles.cell_style.CellStyle attribute),

259alignment (openpyxl.styles.cell_style.CellStyleList at-

tribute), 260alignment (openpyxl.styles.differential.DifferentialStyle

attribute), 262alignment (openpyxl.styles.named_styles.NamedStyle at-

tribute), 266alignment (openpyxl.styles.styleable.StyleableObject at-

tribute), 269Alignment() (in module open-

pyxl.styles.tests.test_alignments), 252alignmentId (openpyxl.styles.cell_style.StyleArray

attribute), 260alignWithMargins (open-

pyxl.worksheet.header_footer.HeaderFooterattribute), 322

allow_blank (openpyxl.worksheet.datavalidation.DataValidationattribute), 313

allow_none (openpyxl.chart.descriptors.NestedGapAmountattribute), 129

allow_none (openpyxl.chart.descriptors.NestedOverlapattribute), 129

allow_none (openpyxl.chart.descriptors.NumberFormatDescriptorattribute), 129

allow_none (openpyxl.chart.title.TitleDescriptor at-tribute), 148

allow_none (openpyxl.descriptors.base.MatchPattern at-tribute), 172

allow_none (openpyxl.descriptors.base.Max attribute),172

allow_none (openpyxl.descriptors.base.Min attribute),172

allow_none (openpyxl.descriptors.base.Typed attribute),173

allow_none (openpyxl.descriptors.excel.CellRange at-tribute), 173

allow_none (openpyxl.descriptors.excel.Relation at-tribute), 173

allow_none (openpyxl.drawing.colors.ColorChoiceDescriptorattribute), 186

allow_none() (in module open-pyxl.descriptors.tests.test_base), 167

allowBlank (openpyxl.worksheet.datavalidation.DataValidationattribute), 313

allowPng (openpyxl.workbook.web.WebPublishing at-tribute), 301

allowRefreshQuery (open-pyxl.workbook.properties.WorkbookPropertiesattribute), 294

alpha (openpyxl.drawing.colors.SystemColor attribute),188

alphaBiLevel (openpyxl.drawing.fill.Blip attribute), 197AlphaBiLevelEffect (class in openpyxl.drawing.effect),

190alphaCeiling (openpyxl.drawing.fill.Blip attribute), 197AlphaCeilingEffect (class in openpyxl.drawing.effect),

190alphaFloor (openpyxl.drawing.fill.Blip attribute), 197AlphaFloorEffect (class in openpyxl.drawing.effect), 190alphaInv (openpyxl.drawing.fill.Blip attribute), 197AlphaInverseEffect (class in openpyxl.drawing.effect),

190alphaMod (openpyxl.drawing.colors.SystemColor at-

tribute), 188alphaMod (openpyxl.drawing.fill.Blip attribute), 197alphaModFix (openpyxl.drawing.fill.Blip attribute), 197AlphaModulateEffect (class in openpyxl.drawing.effect),

190

382 Index

openpyxl Documentation, Release 2.4.9

AlphaModulateFixedEffect (class in open-pyxl.drawing.effect), 190

alphaOff (openpyxl.drawing.colors.SystemColor at-tribute), 188

alphaRepl (openpyxl.drawing.fill.Blip attribute), 197AlphaReplaceEffect (class in openpyxl.drawing.effect),

190altLang (openpyxl.drawing.text.CharacterProperties at-

tribute), 221altText (openpyxl.comments.comment_sheet.Properties

attribute), 162amt (openpyxl.drawing.effect.AlphaModulateFixedEffect

attribute), 190amt (openpyxl.drawing.effect.TintEffect attribute), 197anchor (openpyxl.cell.cell.Cell attribute), 96anchor (openpyxl.comments.comment_sheet.Properties

attribute), 162anchor (openpyxl.drawing.drawing.Drawing attribute),

189anchor (openpyxl.drawing.shapes.Backdrop attribute),

212anchor (openpyxl.drawing.tests.test_image.DummyCell

attribute), 181anchor (openpyxl.drawing.text.RichTextProperties

attribute), 228anchor() (openpyxl.drawing.image.Image method), 209AnchorClientData (class in open-

pyxl.drawing.spreadsheet_drawing), 218anchorCtr (openpyxl.drawing.text.RichTextProperties at-

tribute), 228AnchorMarker (class in open-

pyxl.drawing.spreadsheet_drawing), 219ang (openpyxl.drawing.fill.LinearShadeProperties at-

tribute), 200ang (openpyxl.drawing.shapes.ConnectionSite attribute),

213angle_to_degrees() (in module openpyxl.utils.units), 279append() (openpyxl.packaging.manifest.Manifest

method), 245append() (openpyxl.packaging.relationship.RelationshipList

method), 247append() (openpyxl.styles.differential.DifferentialStyleList

method), 262append() (openpyxl.styles.named_styles.NamedStyleList

method), 267append() (openpyxl.utils.indexed_list.IndexedList

method), 278append() (openpyxl.workbook.defined_name.DefinedNameList

method), 289append() (openpyxl.worksheet.datavalidation.DataValidationList

method), 314append() (openpyxl.worksheet.hyperlink.HyperlinkList

method), 323append() (openpyxl.worksheet.pagebreak.PageBreak

method), 326append() (openpyxl.worksheet.table.TablePartList

method), 336append() (openpyxl.worksheet.worksheet.Worksheet

method), 340append() (openpyxl.writer.write_only.WriteOnlyWorksheet

method), 348Application (openpyxl.packaging.extended.ExtendedProperties

attribute), 244apply_stylesheet() (in module open-

pyxl.styles.stylesheet), 270applyAlignment (openpyxl.styles.cell_style.CellStyle at-

tribute), 259applyBorder (openpyxl.styles.cell_style.CellStyle at-

tribute), 259applyFill (openpyxl.styles.cell_style.CellStyle attribute),

259applyFont (openpyxl.styles.cell_style.CellStyle attribute),

259applyNumberFormat (open-

pyxl.styles.cell_style.CellStyle attribute),259

applyProtection (openpyxl.styles.cell_style.CellStyle at-tribute), 260

applyStyles (openpyxl.worksheet.properties.Outline at-tribute), 330

applyToEnd (openpyxl.chart.picture.PictureOptions at-tribute), 136

applyToFront (openpyxl.chart.picture.PictureOptions at-tribute), 136

applyToSides (openpyxl.chart.picture.PictureOptions at-tribute), 136

appName (openpyxl.workbook.properties.FileVersion at-tribute), 294

AppVersion (openpyxl.packaging.extended.ExtendedPropertiesattribute), 243

archive() (in module openpyxl.writer.tests.test_excel),344

area3DChart (openpyxl.chart.chartspace.PlotArea at-tribute), 125

AreaChart (class in openpyxl.chart.area_chart), 113areaChart (openpyxl.chart.chartspace.PlotArea attribute),

125AreaChart() (in module open-

pyxl.chart.tests.test_area_chart), 101AreaChart3D (class in openpyxl.chart.area_chart), 113AreaChart3D() (in module open-

pyxl.chart.tests.test_area_chart), 101ARG (openpyxl.formula.tokenizer.Token attribute), 237ARRAY (openpyxl.formula.tokenizer.Token attribute),

237array (openpyxl.worksheet.table.TableFormula attribute),

336ArrayDescriptor (class in openpyxl.styles.cell_style), 259

Index 383

openpyxl Documentation, Release 2.4.9

as_name() (openpyxl.styles.named_styles.NamedStylemethod), 266

as_tuple() (openpyxl.styles.named_styles.NamedStylemethod), 266

as_xf() (openpyxl.styles.named_styles.NamedStylemethod), 267

ASCII (class in openpyxl.descriptors.base), 171ascii() (in module openpyxl.descriptors.tests.test_base),

167assert_empty_token() (open-

pyxl.formula.tokenizer.Tokenizer method),238

assign_names() (openpyxl.packaging.workbook.WorkbookParsermethod), 247

attr_text (openpyxl.workbook.defined_name.DefinedNameattribute), 288

attr_text (openpyxl.worksheet.table.TableFormula at-tribute), 336

attribute (openpyxl.descriptors.nested.Nested attribute),174

attribute (openpyxl.descriptors.sequence.ValueSequenceattribute), 175

author (openpyxl.comments.author.AuthorList attribute),160

author (openpyxl.comments.comment_sheet.CommentRecordattribute), 160

authorId (openpyxl.comments.comment_sheet.CommentRecordattribute), 160

AuthorList (class in openpyxl.comments.author), 160AuthorList() (in module open-

pyxl.comments.tests.test_author), 159authors (openpyxl.comments.author.AuthorList at-

tribute), 160authors (openpyxl.comments.comment_sheet.CommentSheet

attribute), 161auto (openpyxl.chart.axis.DateAxis attribute), 114auto (openpyxl.chart.axis.TextAxis attribute), 118auto (openpyxl.styles.colors.Color attribute), 261auto_size (openpyxl.worksheet.dimensions.ColumnDimension

attribute), 315autoCompressPictures (open-

pyxl.workbook.properties.WorkbookPropertiesattribute), 294

autoFill (openpyxl.comments.comment_sheet.Propertiesattribute), 162

AutoFilter (class in openpyxl.worksheet.filters), 318autoFilter (openpyxl.worksheet.protection.SheetProtection

attribute), 331autoFilter (openpyxl.worksheet.table.Table attribute), 333AutoFilter() (in module open-

pyxl.worksheet.tests.test_filters), 305autoFilterDateGrouping (open-

pyxl.workbook.views.BookView attribute),298

autoLine (openpyxl.comments.comment_sheet.Propertiesattribute), 162

AutonumberBullet (class in openpyxl.drawing.text), 220autoPageBreaks (openpyxl.worksheet.page.PrintPageSetup

attribute), 325autoPageBreaks (openpyxl.worksheet.properties.PageSetupProperties

attribute), 330autoRecover (openpyxl.workbook.parser.FileRecoveryProperties

attribute), 291autoRepublish (openpyxl.chartsheet.publish.WebPublishItem

attribute), 155autoRepublish (openpyxl.workbook.web.WebPublishObject

attribute), 300autoScale (openpyxl.comments.comment_sheet.Properties

attribute), 162AutoSlotProperties (class in openpyxl.descriptors.slots),

176autoTitleDeleted (open-

pyxl.chart.chartspace.ChartContainer at-tribute), 122

autoUpdate (openpyxl.chart.chartspace.ExternalData at-tribute), 124

autoUpdate (openpyxl.workbook.views.CustomWorkbookViewattribute), 299

avgSubtotal (openpyxl.worksheet.pivot.PivotAreaReferenceattribute), 328

avLst (openpyxl.drawing.shapes.CustomGeometry2D at-tribute), 213

avLst (openpyxl.drawing.shapes.PresetGeometry2D at-tribute), 215

avLst (openpyxl.drawing.text.PresetTextShape attribute),227

avoid_duplicate_name() (in module open-pyxl.workbook.child), 288

AxDataSource (class in openpyxl.chart.data_source), 127axId (openpyxl.chart.axis.DateAxis attribute), 114axId (openpyxl.chart.axis.NumericAxis attribute), 116axId (openpyxl.chart.axis.SeriesAxis attribute), 117axId (openpyxl.chart.axis.TextAxis attribute), 118axis (openpyxl.worksheet.pivot.PivotArea attribute), 327axis (openpyxl.worksheet.pivot.PivotSelection attribute),

329axPos (openpyxl.chart.axis.DateAxis attribute), 114axPos (openpyxl.chart.axis.NumericAxis attribute), 116axPos (openpyxl.chart.axis.SeriesAxis attribute), 117axPos (openpyxl.chart.axis.TextAxis attribute), 118

Bb (openpyxl.cell.text.InlineFont attribute), 99b (openpyxl.chart.print_settings.PageMargins attribute),

138b (openpyxl.drawing.colors.RGBPercent attribute), 187b (openpyxl.drawing.fill.RelativeRect attribute), 201b (openpyxl.drawing.shapes.GeomRect attribute), 214

384 Index

openpyxl Documentation, Release 2.4.9

b (openpyxl.drawing.text.CharacterProperties attribute),221

b (openpyxl.styles.fonts.Font attribute), 264Backdrop (class in openpyxl.drawing.shapes), 212backdrop (openpyxl.drawing.shapes.Scene3D attribute),

216background (openpyxl.drawing.fill.PatternFillProperties

attribute), 200backupFile (openpyxl.workbook.properties.WorkbookProperties

attribute), 294backWall (openpyxl.chart.bar_chart.BarChart3D at-

tribute), 120backWall (openpyxl.chart.chartspace.ChartContainer at-

tribute), 122backward (openpyxl.chart.trendline.Trendline attribute),

148bandFmt (openpyxl.chart.surface_chart.BandFormatList

attribute), 146bandFmts (openpyxl.chart.surface_chart.SurfaceChart at-

tribute), 146bandFmts (openpyxl.chart.surface_chart.SurfaceChart3D

attribute), 147BandFormat (class in openpyxl.chart.surface_chart), 146BandFormat() (in module open-

pyxl.chart.tests.test_surface_chart), 111BandFormatList (class in openpyxl.chart.surface_chart),

146BandFormatList() (in module open-

pyxl.chart.tests.test_surface_chart), 111bar3DChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 125BarChart (class in openpyxl.chart.bar_chart), 119barChart (openpyxl.chart.chartspace.PlotArea attribute),

125BarChart() (in module open-

pyxl.chart.tests.test_bar_chart), 103BarChart3D (class in openpyxl.chart.bar_chart), 120BarChart3D() (in module open-

pyxl.chart.tests.test_bar_chart), 103barDir (openpyxl.chart.bar_chart.BarChart attribute), 119barDir (openpyxl.chart.bar_chart.BarChart3D attribute),

120Base64Binary (class in openpyxl.descriptors.excel), 173Base64Binary() (in module open-

pyxl.descriptors.tests.test_excel), 167base_date (openpyxl.cell.cell.Cell attribute), 96base_date (openpyxl.cell.interface.AbstractCell at-

tribute), 97base_date (openpyxl.cell.read_only.ReadOnlyCell

attribute), 98baseColWidth (openpyxl.worksheet.dimensions.SheetFormatProperties

attribute), 317baseline (openpyxl.drawing.text.CharacterProperties at-

tribute), 221

baseTimeUnit (openpyxl.chart.axis.DateAxis attribute),114

bestFit (openpyxl.worksheet.dimensions.ColumnDimensionattribute), 315

Bevel (class in openpyxl.drawing.shapes), 213bevel (openpyxl.drawing.line.LineProperties attribute),

210bevelB (openpyxl.drawing.shapes.Shape3D attribute),

216bevelT (openpyxl.drawing.shapes.Shape3D attribute),

217bg1 (openpyxl.drawing.colors.ColorMapping attribute),

187bg2 (openpyxl.drawing.colors.ColorMapping attribute),

187bgClr (openpyxl.drawing.fill.PatternFillProperties at-

tribute), 200bgColor (openpyxl.styles.fills.PatternFill attribute), 263biLevel (openpyxl.drawing.fill.Blip attribute), 197BiLevelEffect (class in openpyxl.drawing.effect), 190bind() (openpyxl.comments.comments.Comment

method), 162bind() (openpyxl.styles.named_styles.NamedStyle

method), 267bIns (openpyxl.drawing.text.RichTextProperties at-

tribute), 228blackAndWhite (openpyxl.worksheet.page.PrintPageSetup

attribute), 325blank (openpyxl.worksheet.filters.Filters attribute), 320blend (openpyxl.drawing.effect.FillOverlayEffect at-

tribute), 191Blip (class in openpyxl.drawing.fill), 197blip (openpyxl.drawing.fill.BlipFillProperties attribute),

199Blip() (in module openpyxl.drawing.tests.test_fill), 179blipFill (openpyxl.drawing.graphic.PictureFrame at-

tribute), 207blipFill (openpyxl.drawing.text.CharacterProperties at-

tribute), 221BlipFillProperties (class in openpyxl.drawing.fill), 199BlipFillProperties() (in module open-

pyxl.drawing.tests.test_fill), 179blue (openpyxl.drawing.colors.SystemColor attribute),

188blueMod (openpyxl.drawing.colors.SystemColor at-

tribute), 188blueOff (openpyxl.drawing.colors.SystemColor at-

tribute), 188blur (openpyxl.drawing.effect.EffectList attribute), 191blur (openpyxl.drawing.fill.Blip attribute), 197BlurEffect (class in openpyxl.drawing.effect), 190blurRad (openpyxl.drawing.effect.InnerShadowEffect at-

tribute), 193blurRad (openpyxl.drawing.effect.OuterShadowEffect at-

Index 385

openpyxl Documentation, Release 2.4.9

tribute), 194blurRad (openpyxl.drawing.effect.ReflectionEffect

attribute), 196bmk (openpyxl.drawing.text.CharacterProperties at-

tribute), 221body (openpyxl.chart.title.Title attribute), 148bodyPr (openpyxl.chart.text.RichText attribute), 147bold (openpyxl.styles.fonts.Font attribute), 264BookView (class in openpyxl.workbook.views), 298BookView() (in module open-

pyxl.workbook.tests.test_views), 286bookViews (openpyxl.workbook.parser.WorkbookPackage

attribute), 291Bool (class in openpyxl.descriptors.base), 171boolean() (in module open-

pyxl.descriptors.tests.test_base), 167Border (class in openpyxl.styles.borders), 258border (openpyxl.cell.read_only.EmptyCell attribute), 98border (openpyxl.cell.read_only.ReadOnlyCell attribute),

98border (openpyxl.styles.differential.DifferentialStyle at-

tribute), 262border (openpyxl.styles.named_styles.NamedStyle

attribute), 267border (openpyxl.styles.styleable.StyleableObject at-

tribute), 269Border() (in module openpyxl.styles.tests.test_borders),

252border_color (openpyxl.drawing.shape.Shape attribute),

212border_style (openpyxl.styles.borders.Side attribute), 259border_width (openpyxl.drawing.shape.Shape attribute),

212borderId (openpyxl.styles.cell_style.CellStyle attribute),

260borderId (openpyxl.styles.cell_style.StyleArray at-

tribute), 260borders (openpyxl.styles.stylesheet.Stylesheet attribute),

269bottom (openpyxl.chart.print_settings.PageMargins at-

tribute), 139bottom (openpyxl.drawing.fill.RelativeRect attribute),

201bottom (openpyxl.formatting.rule.Rule attribute), 234bottom (openpyxl.styles.borders.Border attribute), 258bottom (openpyxl.styles.fills.GradientFill attribute), 263bottom (openpyxl.worksheet.page.PageMargins at-

tribute), 324boundaries (openpyxl.worksheet.dimensions.SheetDimension

attribute), 317BoundDictionary (class in open-

pyxl.utils.bound_dictionary), 276BoundDictionary() (in module open-

pyxl.utils.tests.test_bound_dictionary), 273

bounding_box() (in module openpyxl.drawing.image),209

br (openpyxl.drawing.text.Paragraph attribute), 225Break (class in openpyxl.worksheet.pagebreak), 326Break() (in module open-

pyxl.worksheet.tests.test_pagebreak), 308BREAK_COLUMN (open-

pyxl.worksheet.worksheet.Worksheet at-tribute), 339

BREAK_NONE (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

BREAK_ROW (openpyxl.worksheet.worksheet.Worksheetattribute), 340

bright (openpyxl.drawing.effect.LuminanceEffect at-tribute), 193

brk (openpyxl.worksheet.pagebreak.PageBreak attribute),327

buAutoNum (openpyxl.drawing.text.ParagraphPropertiesattribute), 226

bubble3D (openpyxl.chart.bubble_chart.BubbleChart at-tribute), 121

bubble3D (openpyxl.chart.marker.DataPoint attribute),135

bubble3D (openpyxl.chart.series.Series attribute), 141bubble3D (openpyxl.chart.series.XYSeries attribute), 143BubbleChart (class in openpyxl.chart.bubble_chart), 121bubbleChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 125BubbleChart() (in module open-

pyxl.chart.tests.test_bubble_chart), 103bubbleScale (openpyxl.chart.bubble_chart.BubbleChart

attribute), 121bubbleSize (openpyxl.chart.series.Series attribute), 141bubbleSize (openpyxl.chart.series.XYSeries attribute),

143buBlip (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226buChar (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226buClr (openpyxl.drawing.text.ParagraphProperties

attribute), 226buClrTx (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226buFont (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226buFontTx (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226builtin_format_code() (in module open-

pyxl.styles.numbers), 268builtin_format_id() (in module openpyxl.styles.numbers),

268builtInGroupCount (open-

pyxl.workbook.function_group.FunctionGroupList

386 Index

openpyxl Documentation, Release 2.4.9

attribute), 290builtinId (openpyxl.styles.named_styles.NamedStyle at-

tribute), 267builtInUnit (openpyxl.chart.axis.DisplayUnitsLabelList

attribute), 116buNone (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226buSzPct (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226buSzPts (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226buSzTx (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226bwMode (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 144bwMode (openpyxl.drawing.graphic.GroupShapeProperties

attribute), 204byPosition (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328

CCached (class in openpyxl.compat.singleton), 164cacheId (openpyxl.workbook.pivot.PivotCache attribute),

292cacheIndex (openpyxl.worksheet.pivot.PivotArea at-

tribute), 327calcCompleted (openpyxl.workbook.properties.CalcProperties

attribute), 293calcId (openpyxl.workbook.properties.CalcProperties at-

tribute), 293calcMode (openpyxl.workbook.properties.CalcProperties

attribute), 293calcOnSave (openpyxl.workbook.properties.CalcProperties

attribute), 293calcPr (openpyxl.workbook.parser.WorkbookPackage at-

tribute), 291CalcProperties (class in openpyxl.workbook.properties),

293CalcProperties() (in module open-

pyxl.workbook.tests.test_properties), 285calculate_dimension() (open-

pyxl.worksheet.read_only.ReadOnlyWorksheetmethod), 332

calculate_dimension() (open-pyxl.worksheet.worksheet.Worksheet method),341

calculatedColumnFormula (open-pyxl.worksheet.table.TableColumn attribute),335

calendarType (openpyxl.worksheet.filters.Filters at-tribute), 320

Camera (class in openpyxl.drawing.shapes), 213camera (openpyxl.drawing.shapes.Scene3D attribute),

216

cap (openpyxl.drawing.line.LineProperties attribute), 210cap (openpyxl.drawing.text.CharacterProperties at-

tribute), 221caseSensitive (openpyxl.worksheet.filters.SortState at-

tribute), 321cat (openpyxl.chart.series.Series attribute), 142catAx (openpyxl.chart.chartspace.PlotArea attribute), 125category (openpyxl.packaging.core.DocumentProperties

attribute), 242Cell (class in openpyxl.cell.cell), 96cell (openpyxl.workbook.external_link.external.ExternalRow

attribute), 282Cell() (in module openpyxl.cell.tests.test_cell), 93cell() (openpyxl.worksheet.worksheet.Worksheet

method), 341CELL_REF_RE (openpyxl.formula.translate.Translator

attribute), 239CELL_TAG (openpyxl.reader.worksheet.WorkSheetParser

attribute), 251cellColor (openpyxl.worksheet.filters.ColorFilter at-

tribute), 318cellComments (openpyxl.worksheet.page.PrintPageSetup

attribute), 325CellCoordinatesException, 277CellIsRule() (in module openpyxl.formatting.rule), 232CellRange (class in openpyxl.descriptors.excel), 173CellRange() (in module open-

pyxl.descriptors.tests.test_excel), 167cells (openpyxl.chart.reference.Reference attribute), 140CellStyle (class in openpyxl.styles.cell_style), 259CellStyle() (in module open-

pyxl.styles.tests.test_cell_style), 252CellStyleList (class in openpyxl.styles.cell_style), 260CellStyleList() (in module open-

pyxl.styles.tests.test_cell_style), 252cellStyles (openpyxl.styles.stylesheet.Stylesheet at-

tribute), 269cellStyleXfs (openpyxl.styles.stylesheet.Stylesheet

attribute), 269cellXfs (openpyxl.styles.stylesheet.Stylesheet attribute),

269center (openpyxl.worksheet.header_footer.HeaderFooterItem

attribute), 323centerFooterEvenPages (open-

pyxl.chartsheet.relation.DrawingHF attribute),156

centerFooterFirstPage (open-pyxl.chartsheet.relation.DrawingHF attribute),156

centerFooterOddPages (open-pyxl.chartsheet.relation.DrawingHF attribute),156

centerHeaderEvenPages (open-pyxl.chartsheet.relation.DrawingHF attribute),

Index 387

openpyxl Documentation, Release 2.4.9

156centerHeaderFirstPage (open-

pyxl.chartsheet.relation.DrawingHF attribute),156

centerHeaderOddPages (open-pyxl.chartsheet.relation.DrawingHF attribute),156

centre (openpyxl.worksheet.header_footer.HeaderFooterItemattribute), 323

CET (class in openpyxl.utils.tests.test_datetime), 274cfe (openpyxl.chartsheet.relation.DrawingHF attribute),

156cff (openpyxl.chartsheet.relation.DrawingHF attribute),

156cfo (openpyxl.chartsheet.relation.DrawingHF attribute),

156cfRule (openpyxl.formatting.formatting.ConditionalFormatting

attribute), 232cfvo (openpyxl.formatting.rule.RuleType attribute), 235changesSavedWin (open-

pyxl.workbook.views.CustomWorkbookViewattribute), 299

CharacterProperties (class in openpyxl.drawing.text), 221CharacterProperties() (in module open-

pyxl.drawing.tests.test_text), 184Characters (openpyxl.packaging.extended.ExtendedProperties

attribute), 244characterSet (openpyxl.workbook.web.WebPublishing at-

tribute), 301CharactersWithSpaces (open-

pyxl.packaging.extended.ExtendedPropertiesattribute), 244

charset (openpyxl.cell.text.InlineFont attribute), 99charset (openpyxl.drawing.text.Font attribute), 223charset (openpyxl.styles.fonts.Font attribute), 264chart (openpyxl.chart.chartspace.ChartSpace attribute),

123chart (openpyxl.drawing.graphic.GraphicData attribute),

202ChartBase() (in module openpyxl.chart.tests.test_chart),

103ChartContainer (class in openpyxl.chart.chartspace), 122ChartContainer() (in module open-

pyxl.chart.tests.test_chartspace), 104ChartLines (class in openpyxl.chart.axis), 114ChartLines() (in module openpyxl.chart.tests.test_axis),

102chartObject (openpyxl.chart.chartspace.Protection at-

tribute), 127ChartRelation (class in openpyxl.drawing.graphic), 202ChartRelation() (in module open-

pyxl.drawing.tests.test_graphic), 180Chartsheet (class in openpyxl.chartsheet.chartsheet), 152Chartsheet() (in module open-

pyxl.chartsheet.tests.test_chartsheet), 150ChartsheetProperties (class in open-

pyxl.chartsheet.properties), 154ChartsheetProperties() (in module open-

pyxl.chartsheet.tests.test_properties), 151ChartsheetProtection (class in open-

pyxl.chartsheet.protection), 154ChartsheetProtection() (in module open-

pyxl.chartsheet.tests.test_protection), 151chartsheets (openpyxl.workbook.workbook.Workbook at-

tribute), 301ChartsheetView (class in openpyxl.chartsheet.views), 158ChartsheetView() (in module open-

pyxl.chartsheet.tests.test_views), 152ChartsheetViewList (class in openpyxl.chartsheet.views),

158ChartsheetViewList() (in module open-

pyxl.chartsheet.tests.test_views), 152ChartSpace (class in openpyxl.chart.chartspace), 122che (openpyxl.chartsheet.relation.DrawingHF attribute),

156check_content_type() (in module open-

pyxl.writer.tests.test_template), 344check_error() (openpyxl.cell.cell.Cell method), 96check_scientific_notation() (open-

pyxl.formula.tokenizer.Tokenizer method),238

check_string() (openpyxl.cell.cell.Cell method), 96checkCompatibility (open-

pyxl.workbook.properties.WorkbookPropertiesattribute), 294

chExt (openpyxl.drawing.graphic.GroupTransform2D at-tribute), 204

chf (openpyxl.chartsheet.relation.DrawingHF attribute),156

ChildSheet (class in openpyxl.workbook.parser), 290cho (openpyxl.chartsheet.relation.DrawingHF attribute),

156chOff (openpyxl.drawing.graphic.GroupTransform2D at-

tribute), 204classify() (in module openpyxl.develop.classify), 177ClassMaker (class in openpyxl.develop.classify), 177clear() (openpyxl.compat.odict.OrderedDict method),

164click (openpyxl.worksheet.pivot.PivotSelection attribute),

329clientData (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218clientData (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

attribute), 219clientData (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220CLOSE (openpyxl.formula.tokenizer.Token attribute),

237

388 Index

openpyxl Documentation, Release 2.4.9

close() (openpyxl.workbook.workbook.Workbookmethod), 301

close() (openpyxl.writer.write_only.WriteOnlyWorksheetmethod), 348

clrChange (openpyxl.drawing.fill.Blip attribute), 198clrFrom (openpyxl.drawing.effect.ColorChangeEffect at-

tribute), 190clrMapOvr (openpyxl.chart.chartspace.ChartSpace

attribute), 123clrRepl (openpyxl.drawing.fill.Blip attribute), 198clrTo (openpyxl.drawing.effect.ColorChangeEffect at-

tribute), 191cm_to_dxa() (in module openpyxl.utils.units), 279cm_to_EMU() (in module openpyxl.utils.units), 279cmpd (openpyxl.drawing.line.LineProperties attribute),

210cNvCxnSpPr (openpyxl.drawing.graphic.ConnectorNonVisual

attribute), 202cNvGraphicFramePr (open-

pyxl.drawing.graphic.NonVisualGraphicFrameattribute), 206

cNvGrpSpPr (openpyxl.drawing.graphic.NonVisualGroupShapeattribute), 206

cNvPicPr (openpyxl.drawing.graphic.PictureNonVisualattribute), 208

cNvPr (openpyxl.drawing.graphic.ConnectorNonVisualattribute), 202

cNvPr (openpyxl.drawing.graphic.NonVisualGraphicFrameattribute), 206

cNvPr (openpyxl.drawing.graphic.NonVisualGroupShapeattribute), 206

cNvPr (openpyxl.drawing.graphic.PictureNonVisual at-tribute), 208

cNvPr (openpyxl.drawing.graphic.ShapeMeta attribute),209

cNvSpPr (openpyxl.drawing.graphic.ShapeMeta at-tribute), 209

codeName (openpyxl.chartsheet.properties.ChartsheetPropertiesattribute), 154

codeName (openpyxl.workbook.properties.FileVersionattribute), 294

codeName (openpyxl.workbook.properties.WorkbookPropertiesattribute), 294

codeName (openpyxl.worksheet.properties.WorksheetPropertiesattribute), 330

codePage (openpyxl.workbook.web.WebPublishing at-tribute), 301

col (openpyxl.drawing.spreadsheet_drawing.AnchorMarkerattribute), 219

col_id (openpyxl.worksheet.filters.FilterColumn at-tribute), 320

col_idx (openpyxl.cell.cell.Cell attribute), 97col_idx (openpyxl.drawing.tests.test_image.DummyCell

attribute), 181

COL_RANGE_RE (open-pyxl.formula.translate.Translator attribute),239

colHidden (openpyxl.comments.comment_sheet.Propertiesattribute), 162

colId (openpyxl.worksheet.filters.FilterColumn attribute),320

collapse_cell_addresses() (in module open-pyxl.worksheet.datavalidation), 315

collapsed (openpyxl.worksheet.dimensions.ColumnDimensionattribute), 315

collapsed (openpyxl.worksheet.dimensions.Dimensionattribute), 316

collapsedLevelsAreSubtotals (open-pyxl.worksheet.pivot.PivotArea attribute),327

collection (openpyxl.styles.styleable.NamedStyleDescriptorattribute), 268

collection (openpyxl.styles.styleable.NumberFormatDescriptorattribute), 268

colOff (openpyxl.drawing.spreadsheet_drawing.AnchorMarkerattribute), 219

Color (class in openpyxl.drawing.effect), 190Color (class in openpyxl.styles.colors), 261color (openpyxl.cell.text.InlineFont attribute), 99color (openpyxl.drawing.shape.Shape attribute), 212color (openpyxl.formatting.rule.ColorScale attribute),

232color (openpyxl.formatting.rule.DataBar attribute), 232color (openpyxl.styles.borders.Side attribute), 259color (openpyxl.styles.colors.MRUColorList attribute),

262color (openpyxl.styles.fonts.Font attribute), 264ColorChangeEffect (class in openpyxl.drawing.effect),

190ColorChoice (class in openpyxl.drawing.colors), 185ColorChoice() (in module open-

pyxl.drawing.tests.test_color), 178ColorChoiceDescriptor (class in open-

pyxl.drawing.colors), 186ColorDescriptor (class in openpyxl.styles.colors), 261ColorFilter (class in openpyxl.worksheet.filters), 318colorFilter (openpyxl.worksheet.filters.FilterColumn at-

tribute), 320ColorFilter() (in module open-

pyxl.worksheet.tests.test_filters), 305colorId (openpyxl.worksheet.views.SheetView attribute),

338ColorList (class in openpyxl.styles.colors), 261ColorMapping (class in openpyxl.drawing.colors), 186ColorMapping() (in module open-

pyxl.drawing.tests.test_color), 178ColorReplaceEffect (class in openpyxl.drawing.effect),

191

Index 389

openpyxl Documentation, Release 2.4.9

colors (openpyxl.styles.stylesheet.Stylesheet attribute),269

ColorScale (class in openpyxl.formatting.rule), 232colorScale (openpyxl.formatting.rule.Rule attribute), 234ColorScale() (in module open-

pyxl.formatting.tests.test_rule), 231ColorScaleRule() (in module openpyxl.formatting.rule),

232ColorScaleRule() (in module open-

pyxl.formatting.tests.test_rule), 231cols (openpyxl.chart.reference.Reference attribute), 140cols_from_range() (in module openpyxl.utils.cell), 276column (openpyxl.cell.cell.Cell attribute), 97column (openpyxl.cell.read_only.ReadOnlyCell at-

tribute), 98column (openpyxl.drawing.tests.test_image.DummyCell

attribute), 181column_index_from_string() (in module open-

pyxl.utils.cell), 276ColumnDimension (class in open-

pyxl.worksheet.dimensions), 315ColumnDimension() (in module open-

pyxl.worksheet.tests.test_dimensions), 304ColumnDimension() (in module open-

pyxl.writer.tests.test_worksheet), 345columns (openpyxl.worksheet.worksheet.Worksheet at-

tribute), 341columnSort (openpyxl.worksheet.filters.SortState at-

tribute), 321Comment (class in openpyxl.comments.comments), 162comment (openpyxl.cell.cell.Cell attribute), 97comment (openpyxl.cell.interface.AbstractCell attribute),

97comment (openpyxl.workbook.defined_name.DefinedName

attribute), 288comment (openpyxl.worksheet.table.Table attribute), 333Comment() (in module open-

pyxl.comments.tests.test_comment), 159commentList (openpyxl.comments.comment_sheet.CommentSheet

attribute), 161commentPr (openpyxl.comments.comment_sheet.CommentRecord

attribute), 160CommentRecord (class in open-

pyxl.comments.comment_sheet), 160comments (openpyxl.comments.comment_sheet.CommentSheet

attribute), 161CommentSheet (class in open-

pyxl.comments.comment_sheet), 161comp (openpyxl.drawing.colors.SystemColor attribute),

188Company (openpyxl.packaging.extended.ExtendedProperties

attribute), 244compare_cells() (in module open-

pyxl.worksheet.tests.test_worksheet_copy),

313compare_xml() (in module openpyxl.tests.helper), 271compatLnSpc (openpyxl.drawing.text.RichTextProperties

attribute), 228ComplexObject() (in module open-

pyxl.descriptors.tests.test_sequence), 169concurrentCalc (openpyxl.workbook.properties.CalcProperties

attribute), 293concurrentManualCount (open-

pyxl.workbook.properties.CalcPropertiesattribute), 293

condense (openpyxl.cell.text.InlineFont attribute), 99condense (openpyxl.styles.fonts.Font attribute), 264ConditionalFormatting (class in open-

pyxl.formatting.formatting), 232ConditionalFormattingList (class in open-

pyxl.formatting.formatting), 232conformance (openpyxl.workbook.parser.WorkbookPackage

attribute), 291Connection (class in openpyxl.drawing.graphic), 202connectionId (openpyxl.worksheet.table.Table attribute),

333ConnectionSite (class in openpyxl.drawing.shapes), 213ConnectionSiteList (class in openpyxl.drawing.shapes),

213ConnectorLocking (class in openpyxl.drawing.graphic),

202ConnectorNonVisual (class in open-

pyxl.drawing.graphic), 202cont (openpyxl.drawing.effect.AlphaModulateEffect at-

tribute), 190content (openpyxl.cell.text.Text attribute), 100content (openpyxl.chartsheet.protection.ChartsheetProtection

attribute), 154content (openpyxl.comments.comment_sheet.CommentRecord

attribute), 160contentPart (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218contentPart (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

attribute), 219contentPart (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220contentStatus (openpyxl.packaging.core.DocumentProperties

attribute), 242ContentType (openpyxl.packaging.manifest.FileExtension

attribute), 245ContentType (openpyxl.packaging.manifest.Override at-

tribute), 246contourClr (openpyxl.drawing.shapes.Shape3D at-

tribute), 217contourW (openpyxl.drawing.shapes.Shape3D attribute),

217contrast (openpyxl.drawing.effect.LuminanceEffect at-

tribute), 194

390 Index

openpyxl Documentation, Release 2.4.9

Convertible (class in openpyxl.descriptors.base), 171coordinate (openpyxl.cell.cell.Cell attribute), 97coordinate (openpyxl.cell.interface.AbstractCell at-

tribute), 97coordinate (openpyxl.cell.read_only.ReadOnlyCell

attribute), 98coordinate_from_string() (in module openpyxl.utils.cell),

276coordinate_to_tuple() (in module openpyxl.utils.cell),

276coordinates (openpyxl.drawing.shape.Shape attribute),

212copier() (in module open-

pyxl.worksheet.tests.test_worksheet_copy),313

copies (openpyxl.worksheet.page.PrintPageSetup at-tribute), 325

copy() (openpyxl.compat.odict.OrderedDict method),164

copy() (openpyxl.styles.proxy.StyleProxy method), 268copy_worksheet() (open-

pyxl.workbook.workbook.Workbook method),301

copy_worksheet() (open-pyxl.worksheet.copier.WorksheetCopymethod), 313

count (openpyxl.chartsheet.publish.WebPublishItems at-tribute), 155

count (openpyxl.descriptors.sequence.NestedSequenceattribute), 175

count (openpyxl.drawing.drawing.Drawing attribute),189

count (openpyxl.styles.cell_style.CellStyleList attribute),260

count (openpyxl.styles.numbers.NumberFormatList at-tribute), 267

count (openpyxl.styles.table.TableStyle attribute), 270count (openpyxl.styles.table.TableStyleList attribute),

271count (openpyxl.workbook.web.WebPublishObjectList

attribute), 300count (openpyxl.worksheet.datavalidation.DataValidationList

attribute), 314count (openpyxl.worksheet.merge.MergeCells attribute),

324count (openpyxl.worksheet.pagebreak.PageBreak at-

tribute), 327count (openpyxl.worksheet.pivot.PivotAreaReference at-

tribute), 328count (openpyxl.worksheet.pivot.PivotAreaReferences

attribute), 329count (openpyxl.worksheet.pivot.PivotSelection at-

tribute), 329count (openpyxl.worksheet.table.TablePartList attribute),

336countASubtotal (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328countSubtotal (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328crashSave (openpyxl.workbook.parser.FileRecoveryProperties

attribute), 291create() (openpyxl.develop.classify.ClassMaker method),

177create_chartsheet() (open-

pyxl.workbook.workbook.Workbook method),302

create_comments() (in module open-pyxl.comments.tests.test_shape_writer),160

create_named_range() (open-pyxl.workbook.workbook.Workbook method),302

create_sheet() (openpyxl.workbook.workbook.Workbookmethod), 302

create_temporary_file() (in module open-pyxl.writer.write_only), 349

created (openpyxl.packaging.core.DocumentPropertiesattribute), 242

creator (openpyxl.packaging.core.DocumentPropertiesattribute), 242

crossAx (openpyxl.chart.axis.DateAxis attribute), 114crossAx (openpyxl.chart.axis.NumericAxis attribute),

116crossAx (openpyxl.chart.axis.SeriesAxis attribute), 117crossAx (openpyxl.chart.axis.TextAxis attribute), 118crossBetween (openpyxl.chart.axis.NumericAxis at-

tribute), 116crosses (openpyxl.chart.axis.DateAxis attribute), 114crosses (openpyxl.chart.axis.NumericAxis attribute), 116crosses (openpyxl.chart.axis.SeriesAxis attribute), 117crosses (openpyxl.chart.axis.TextAxis attribute), 118crossesAt (openpyxl.chart.axis.DateAxis attribute), 114crossesAt (openpyxl.chart.axis.NumericAxis attribute),

116crossesAt (openpyxl.chart.axis.SeriesAxis attribute), 117crossesAt (openpyxl.chart.axis.TextAxis attribute), 118cs (openpyxl.drawing.text.CharacterProperties attribute),

221css (openpyxl.workbook.web.WebPublishing attribute),

301cstate (openpyxl.drawing.fill.Blip attribute), 198custDash (openpyxl.drawing.line.LineProperties at-

tribute), 210custGeom (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 144custom_formats (openpyxl.styles.stylesheet.Stylesheet

attribute), 269CustomAttribute() (in module open-

Index 391

openpyxl Documentation, Release 2.4.9

pyxl.descriptors.tests.test_nested), 168CustomChartsheetView (class in open-

pyxl.chartsheet.custom), 153CustomChartsheetView() (in module open-

pyxl.chartsheet.tests.test_custom), 151CustomChartsheetViews (class in open-

pyxl.chartsheet.custom), 154CustomChartsheetViews() (in module open-

pyxl.chartsheet.tests.test_custom), 151CustomFilter (class in openpyxl.worksheet.filters), 319customFilter (openpyxl.worksheet.filters.CustomFilters

attribute), 319CustomFilter() (in module open-

pyxl.worksheet.tests.test_filters), 305CustomFilters (class in openpyxl.worksheet.filters), 319customFilters (openpyxl.worksheet.filters.FilterColumn

attribute), 320CustomFilters() (in module open-

pyxl.worksheet.tests.test_filters), 305customFormat (openpyxl.worksheet.dimensions.RowDimension

attribute), 316CustomGeometry2D (class in openpyxl.drawing.shapes),

213customHeight (openpyxl.worksheet.dimensions.RowDimension

attribute), 316customHeight (openpyxl.worksheet.dimensions.SheetFormatProperties

attribute), 317customList (openpyxl.worksheet.filters.SortCondition at-

tribute), 321customMenu (openpyxl.workbook.defined_name.DefinedName

attribute), 288customSheetView (open-

pyxl.chartsheet.custom.CustomChartsheetViewsattribute), 154

customSheetViews (open-pyxl.chartsheet.chartsheet.Chartsheet at-tribute), 153

CustomSplit (class in openpyxl.chart.pie_chart), 136CustomSplit() (in module open-

pyxl.chart.tests.test_pie_chart), 108customWidth (openpyxl.worksheet.dimensions.ColumnDimension

attribute), 315CustomWorkbookView (class in open-

pyxl.workbook.views), 298CustomWorkbookView() (in module open-

pyxl.workbook.tests.test_views), 286customWorkbookViews (open-

pyxl.workbook.parser.WorkbookPackageattribute), 291

custSplit (openpyxl.chart.pie_chart.ProjectedPieChart at-tribute), 138

custUnit (openpyxl.chart.axis.DisplayUnitsLabelList at-tribute), 116

cx (openpyxl.drawing.shapes.PositiveSize2D attribute),

215cxn (openpyxl.drawing.shapes.ConnectionSiteList

attribute), 213cxnLst (openpyxl.drawing.shapes.CustomGeometry2D

attribute), 213cxnSp (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218cxnSp (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

attribute), 219cxnSp (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220cxnSpLocks (openpyxl.drawing.graphic.NonVisualConnectorProperties

attribute), 205cy (openpyxl.drawing.shapes.PositiveSize2D attribute),

215

Dd (openpyxl.drawing.line.DashStop attribute), 209DashStop (class in openpyxl.drawing.line), 209DashStop() (in module openpyxl.drawing.tests.test_line),

182DashStopList (class in openpyxl.drawing.line), 209dashStyle (openpyxl.drawing.line.LineProperties at-

tribute), 210data (openpyxl.chart.chartspace.Protection attribute), 127data (openpyxl.worksheet.pivot.PivotSelection attribute),

329data_only (openpyxl.workbook.workbook.Workbook at-

tribute), 302data_points (openpyxl.chart.series.Series attribute), 142data_type (openpyxl.cell.cell.Cell attribute), 97data_type (openpyxl.cell.read_only.EmptyCell attribute),

98data_type (openpyxl.cell.read_only.ReadOnlyCell at-

tribute), 98DataBar (class in openpyxl.formatting.rule), 232dataBar (openpyxl.formatting.rule.Rule attribute), 234DataBar() (in module open-

pyxl.formatting.tests.test_rule), 231DataBarRule() (in module openpyxl.formatting.rule), 233dataCellStyle (openpyxl.worksheet.table.Table attribute),

333dataCellStyle (openpyxl.worksheet.table.TableColumn

attribute), 335datadir() (in module openpyxl.chart.tests.conftest), 101datadir() (in module openpyxl.comments.tests.conftest),

159datadir() (in module open-

pyxl.develop.tests.test_classify), 176datadir() (in module openpyxl.drawing.tests.conftest),

177datadir() (in module openpyxl.formatting.tests.conftest),

230

392 Index

openpyxl Documentation, Release 2.4.9

datadir() (in module openpyxl.packaging.tests.conftest),239

datadir() (in module openpyxl.reader.tests.conftest), 247datadir() (in module openpyxl.styles.tests.conftest), 251datadir() (in module openpyxl.tests.conftest), 271datadir() (in module open-

pyxl.workbook.external_link.tests.conftest),280

datadir() (in module openpyxl.workbook.tests.conftest),283

datadir() (in module openpyxl.worksheet.tests.conftest),303

datadir() (in module openpyxl.writer.tests.conftest), 343dataDxfId (openpyxl.worksheet.table.Table attribute),

333dataDxfId (openpyxl.worksheet.table.TableColumn at-

tribute), 335dataExtractLoad (open-

pyxl.workbook.parser.FileRecoveryPropertiesattribute), 291

dataframe_to_rows() (in module open-pyxl.utils.dataframe), 276

DataLabel (class in openpyxl.chart.label), 130DataLabel (openpyxl.chart.chartspace.PivotFormat

attribute), 124DataLabel() (in module openpyxl.chart.tests.test_label),

106DataLabelList (class in openpyxl.chart.label), 131DataLabelList() (in module open-

pyxl.chart.tests.test_label), 106dataLabels (openpyxl.chart.bubble_chart.BubbleChart at-

tribute), 121dataLabels (openpyxl.chart.radar_chart.RadarChart at-

tribute), 139dataLabels (openpyxl.chart.scatter_chart.ScatterChart at-

tribute), 141dataLabels (openpyxl.chart.stock_chart.StockChart at-

tribute), 145dataOnly (openpyxl.worksheet.pivot.PivotArea attribute),

327DataPoint (class in openpyxl.chart.marker), 135DataPoint() (in module openpyxl.chart.tests.test_marker),

107DataTable (class in openpyxl.chart.chartspace), 123DataTable() (in module open-

pyxl.chart.tests.test_chartspace), 104DataValidation (class in open-

pyxl.worksheet.datavalidation), 313dataValidation (openpyxl.worksheet.datavalidation.DataValidationList

attribute), 314DataValidation() (in module open-

pyxl.worksheet.tests.test_datavalidation),303

DataValidationList (class in open-

pyxl.worksheet.datavalidation), 314DataValidationList() (in module open-

pyxl.worksheet.tests.test_datavalidation),303

date1904 (openpyxl.chart.chartspace.ChartSpace at-tribute), 123

date1904 (openpyxl.workbook.properties.WorkbookPropertiesattribute), 294

dateAx (openpyxl.chart.chartspace.PlotArea attribute),126

DateAxis (class in openpyxl.chart.axis), 114DateAxis() (in module openpyxl.chart.tests.test_axis),

102dateCompatibility (open-

pyxl.workbook.properties.WorkbookPropertiesattribute), 294

DateGroupItem (class in openpyxl.worksheet.filters), 319dateGroupItem (openpyxl.worksheet.filters.Filters at-

tribute), 321DateGroupItem() (in module open-

pyxl.worksheet.tests.test_filters), 305DateTime (class in openpyxl.descriptors.base), 171datetime_to_W3CDTF() (in module open-

pyxl.utils.datetime), 277dateTimeGrouping (open-

pyxl.worksheet.filters.DateGroupItem at-tribute), 319

day (openpyxl.worksheet.filters.DateGroupItem at-tribute), 319

days_to_time() (in module openpyxl.utils.datetime), 277Default (class in openpyxl.descriptors.base), 171Default (openpyxl.packaging.manifest.Manifest at-

tribute), 245DEFAULT_HEADER (in module openpyxl.utils.units),

278defaultColWidth (open-

pyxl.worksheet.dimensions.SheetFormatPropertiesattribute), 317

defaultGridColor (openpyxl.worksheet.views.SheetViewattribute), 338

defaultPivotStyle (openpyxl.styles.table.TableStyleListattribute), 271

defaultRowHeight (open-pyxl.worksheet.dimensions.SheetFormatPropertiesattribute), 317

defaultSize (openpyxl.comments.comment_sheet.Propertiesattribute), 162

defaultSubtotal (openpyxl.worksheet.pivot.PivotAreaReferenceattribute), 328

defaultTableStyle (openpyxl.styles.table.TableStyleListattribute), 271

defaultThemeVersion (open-pyxl.workbook.properties.WorkbookPropertiesattribute), 294

Index 393

openpyxl Documentation, Release 2.4.9

DefinedName (class in open-pyxl.workbook.defined_name), 288

definedName (openpyxl.workbook.defined_name.DefinedNameListattribute), 289

DefinedName() (in module open-pyxl.workbook.tests.test_defined_name),283

DefinedNameList (class in open-pyxl.workbook.defined_name), 289

DefinedNameList() (in module open-pyxl.workbook.tests.test_defined_name),283

definedNames (openpyxl.workbook.external_link.external.ExternalBookattribute), 281

definedNames (openpyxl.workbook.parser.WorkbookPackageattribute), 291

defPPr (openpyxl.drawing.text.ListStyle attribute), 224defRPr (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226defTabSz (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226degree (openpyxl.styles.fills.GradientFill attribute), 263degrees_to_angle() (in module openpyxl.utils.units), 279delete (openpyxl.chart.axis.DateAxis attribute), 114delete (openpyxl.chart.axis.NumericAxis attribute), 116delete (openpyxl.chart.axis.SeriesAxis attribute), 117delete (openpyxl.chart.axis.TextAxis attribute), 119delete (openpyxl.chart.label.DataLabelList attribute), 131delete (openpyxl.chart.legend.LegendEntry attribute),

133delete() (openpyxl.workbook.defined_name.DefinedNameList

method), 289deleteColumns (openpyxl.worksheet.protection.SheetProtection

attribute), 331deleteRows (openpyxl.worksheet.protection.SheetProtection

attribute), 331denormalized (openpyxl.worksheet.table.XMLColumnProps

attribute), 337deprecated (class in openpyxl.compat), 165derived() (in module openpyxl.develop.classify), 177descending (openpyxl.worksheet.filters.SortCondition at-

tribute), 321descr (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205description (openpyxl.packaging.core.DocumentProperties

attribute), 242description (openpyxl.workbook.defined_name.DefinedName

attribute), 289Descriptor (class in openpyxl.descriptors.base), 171destinationFile (openpyxl.chartsheet.publish.WebPublishItem

attribute), 155destinationFile (openpyxl.workbook.web.WebPublishObject

attribute), 300destinations (openpyxl.workbook.defined_name.DefinedName

attribute), 289diagonal (openpyxl.styles.borders.Border attribute), 258diagonalDown (openpyxl.styles.borders.Border at-

tribute), 258diagonalUp (openpyxl.styles.borders.Border attribute),

258differentFirst (openpyxl.worksheet.header_footer.HeaderFooter

attribute), 322DifferentialStyle (class in openpyxl.styles.differential),

262DifferentialStyle() (in module open-

pyxl.styles.tests.test_differential), 253DifferentialStyleList (class in open-

pyxl.styles.differential), 262differentOddEven (open-

pyxl.worksheet.header_footer.HeaderFooterattribute), 322

DigSig (openpyxl.packaging.extended.ExtendedPropertiesattribute), 244

DigSigBlob (class in openpyxl.packaging.extended), 243Dimension (class in openpyxl.worksheet.dimensions),

316dimension (openpyxl.worksheet.pivot.PivotSelection at-

tribute), 329DimensionHolder (class in open-

pyxl.worksheet.dimensions), 316dimensions (openpyxl.worksheet.worksheet.Worksheet

attribute), 341dir (openpyxl.drawing.effect.InnerShadowEffect at-

tribute), 193dir (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 194dir (openpyxl.drawing.effect.PresetShadowEffect at-

tribute), 195dir (openpyxl.drawing.effect.ReflectionEffect attribute),

196dir (openpyxl.drawing.shapes.LightRig attribute), 214direction (openpyxl.chart.error_bar.ErrorBars attribute),

129dirty (openpyxl.drawing.text.CharacterProperties at-

tribute), 221disable() (openpyxl.worksheet.protection.SheetProtection

method), 331disabled (openpyxl.comments.comment_sheet.Properties

attribute), 162disablePrompts (openpyxl.worksheet.datavalidation.DataValidationList

attribute), 314dispBlanksAs (openpyxl.chart.chartspace.ChartContainer

attribute), 122dispEq (openpyxl.chart.trendline.Trendline attribute), 149display (openpyxl.worksheet.hyperlink.Hyperlink at-

tribute), 323displayName (openpyxl.worksheet.table.Table attribute),

333

394 Index

openpyxl Documentation, Release 2.4.9

DisplayUnitsLabel (class in openpyxl.chart.axis), 115DisplayUnitsLabel() (in module open-

pyxl.chart.tests.test_axis), 102DisplayUnitsLabelList (class in openpyxl.chart.axis), 116DisplayUnitsLabelList() (in module open-

pyxl.chart.tests.test_axis), 102dispRSqr (openpyxl.chart.trendline.Trendline attribute),

149dispUnits (openpyxl.chart.axis.NumericAxis attribute),

116dispUnitsLbl (openpyxl.chart.axis.DisplayUnitsLabelList

attribute), 116dist (openpyxl.drawing.effect.InnerShadowEffect at-

tribute), 193dist (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 194dist (openpyxl.drawing.effect.PresetShadowEffect

attribute), 195dist (openpyxl.drawing.effect.ReflectionEffect attribute),

196divId (openpyxl.chartsheet.publish.WebPublishItem at-

tribute), 155divId (openpyxl.workbook.web.WebPublishObject

attribute), 300dLbl (openpyxl.chart.chartspace.PivotFormat attribute),

124dLbl (openpyxl.chart.label.DataLabelList attribute), 131dLblPos (openpyxl.chart.label.DataLabel attribute), 130dLblPos (openpyxl.chart.label.DataLabelList attribute),

131dLbls (openpyxl.chart.area_chart.AreaChart attribute),

113dLbls (openpyxl.chart.area_chart.AreaChart3D attribute),

113dLbls (openpyxl.chart.bar_chart.BarChart attribute), 120dLbls (openpyxl.chart.bar_chart.BarChart3D attribute),

120dLbls (openpyxl.chart.bubble_chart.BubbleChart at-

tribute), 121dLbls (openpyxl.chart.line_chart.LineChart attribute),

134dLbls (openpyxl.chart.line_chart.LineChart3D attribute),

134dLbls (openpyxl.chart.pie_chart.DoughnutChart at-

tribute), 137dLbls (openpyxl.chart.pie_chart.PieChart attribute), 137dLbls (openpyxl.chart.pie_chart.PieChart3D attribute),

137dLbls (openpyxl.chart.pie_chart.ProjectedPieChart

attribute), 138dLbls (openpyxl.chart.radar_chart.RadarChart attribute),

139dLbls (openpyxl.chart.scatter_chart.ScatterChart at-

tribute), 141

dLbls (openpyxl.chart.series.Series attribute), 142dLbls (openpyxl.chart.series.XYSeries attribute), 143dLbls (openpyxl.chart.stock_chart.StockChart attribute),

145doc() (in module openpyxl.writer.tests.test_write_only),

346DocSecurity (openpyxl.packaging.extended.ExtendedProperties

attribute), 244DocumentProperties (class in openpyxl.packaging.core),

242DocumentSecurity (in module open-

pyxl.workbook.protection), 295DoughnutChart (class in openpyxl.chart.pie_chart), 136doughnutChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 126DoughnutChart() (in module open-

pyxl.chart.tests.test_pie_chart), 108downBars (openpyxl.chart.updown_bars.UpDownBars

attribute), 150dpi (openpyxl.drawing.fill.BlipFillProperties attribute),

199dpi (openpyxl.workbook.web.WebPublishing attribute),

301dPt (openpyxl.chart.series.Series attribute), 142dPt (openpyxl.chart.series.XYSeries attribute), 143draft (openpyxl.worksheet.page.PrintPageSetup at-

tribute), 325Drawing (class in openpyxl.drawing.drawing), 189Drawing (class in openpyxl.worksheet.drawing), 318drawing (openpyxl.chartsheet.chartsheet.Chartsheet at-

tribute), 153DrawingHF (class in openpyxl.chartsheet.relation), 156drawingHF (openpyxl.chartsheet.chartsheet.Chartsheet

attribute), 153DrawingHF() (in module open-

pyxl.chartsheet.tests.test_relation), 152dropLines (openpyxl.chart.area_chart.AreaChart at-

tribute), 113dropLines (openpyxl.chart.area_chart.AreaChart3D at-

tribute), 113dropLines (openpyxl.chart.line_chart.LineChart at-

tribute), 134dropLines (openpyxl.chart.line_chart.LineChart3D

attribute), 134dropLines (openpyxl.chart.stock_chart.StockChart

attribute), 145ds (openpyxl.drawing.line.DashStopList attribute), 209dst() (openpyxl.utils.datetime.GMT method), 277dst() (openpyxl.utils.tests.test_datetime.CET method),

274dTable (openpyxl.chart.chartspace.PlotArea attribute),

126Dummy() (in module open-

pyxl.descriptors.tests.test_sequence), 169

Index 395

openpyxl Documentation, Release 2.4.9

dummy_cell() (in module openpyxl.cell.tests.test_cell),93

dummy_object() (in module open-pyxl.styles.tests.test_proxy), 255

dummy_sheet() (in module open-pyxl.cell.tests.test_read_only), 95

DummyCell (class in openpyxl.drawing.tests.test_image),181

DummyCell() (in module open-pyxl.cell.tests.test_read_only), 94

DummyChart (class in open-pyxl.drawing.tests.test_shape), 182

DummyCode (class in openpyxl.compat), 165DummyDrawing (class in open-

pyxl.drawing.tests.test_shape), 183DummySheet (class in open-

pyxl.drawing.tests.test_image), 181DummyWorkbook (class in open-

pyxl.chartsheet.tests.test_chartsheet), 150DummyWorkbook (class in open-

pyxl.formatting.tests.test_formatting), 230DummyWorkbook (class in open-

pyxl.workbook.tests.test_child), 283DummyWorkbook (class in open-

pyxl.worksheet.tests.test_dimensions), 304DummyWorkbook (class in open-

pyxl.worksheet.tests.test_read_only), 309DummyWorkbook (class in open-

pyxl.worksheet.tests.test_worksheet), 310DummyWorkbook (class in open-

pyxl.writer.tests.test_write_only), 346DummyWorkbook() (in module openpyxl.tests.test_iter),

272DummyWorksheet (class in openpyxl.chart.reference),

140DummyWorksheet (class in open-

pyxl.formatting.tests.test_formatting), 230DummyWorksheet (class in open-

pyxl.worksheet.tests.test_dimensions), 304DummyWorksheet() (in module open-

pyxl.cell.tests.test_cell), 93DummyWorksheet() (in module open-

pyxl.worksheet.tests.test_page), 307DummyWorksheet() (in module open-

pyxl.writer.tests.test_worksheet), 345duotone (openpyxl.drawing.fill.Blip attribute), 198DuotoneEffect (class in openpyxl.drawing.effect), 191dx (openpyxl.drawing.shapes.Vector3D attribute), 218dxa_to_cm() (in module openpyxl.utils.units), 279dxa_to_inch() (in module openpyxl.utils.units), 279dxf (openpyxl.formatting.rule.Rule attribute), 234dxf (openpyxl.styles.differential.DifferentialStyleList at-

tribute), 262dxfId (openpyxl.formatting.rule.Rule attribute), 234

dxfId (openpyxl.styles.table.TableStyleElement at-tribute), 270

dxfId (openpyxl.worksheet.filters.ColorFilter attribute),319

dxfId (openpyxl.worksheet.filters.SortCondition at-tribute), 321

dxfs (openpyxl.styles.stylesheet.Stylesheet attribute), 269dy (openpyxl.drawing.shapes.Vector3D attribute), 218DynamicFilter (class in openpyxl.worksheet.filters), 319dynamicFilter (openpyxl.worksheet.filters.FilterColumn

attribute), 320DynamicFilter() (in module open-

pyxl.worksheet.tests.test_filters), 305dz (openpyxl.drawing.shapes.Vector3D attribute), 218

Eea (openpyxl.drawing.text.CharacterProperties attribute),

221eaLnBrk (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226eb (openpyxl.cell.text.PhoneticText attribute), 100editAs (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220EffectContainer (class in openpyxl.drawing.effect), 191effectDag (openpyxl.drawing.text.CharacterProperties at-

tribute), 221EffectList (class in openpyxl.drawing.effect), 191effectLst (openpyxl.drawing.text.CharacterProperties at-

tribute), 221effectRef (openpyxl.drawing.shapes.ShapeStyle at-

tribute), 217embed (openpyxl.drawing.fill.Blip attribute), 198embed (openpyxl.workbook.smart_tags.SmartTagProperties

attribute), 297EmbeddedWAVAudioFile (class in open-

pyxl.drawing.text), 223Empty() (in module open-

pyxl.descriptors.tests.test_nested), 168EmptyCell (class in openpyxl.cell.read_only), 98EmptyTag (class in openpyxl.descriptors.nested), 174EMU_to_cm() (in module openpyxl.utils.units), 279EMU_to_inch() (in module openpyxl.utils.units), 279EMU_to_pixels() (in module openpyxl.utils.units), 279enable() (openpyxl.worksheet.protection.SheetProtection

method), 331enabled (openpyxl.worksheet.protection.SheetProtection

attribute), 331enableFormatConditionsCalculation (open-

pyxl.worksheet.properties.WorksheetPropertiesattribute), 330

encoding (openpyxl.cell.cell.Cell attribute), 97encoding (openpyxl.cell.interface.AbstractCell attribute),

97

396 Index

openpyxl Documentation, Release 2.4.9

encoding (openpyxl.workbook.tests.test_child.DummyWorkbookattribute), 283

encoding (openpyxl.worksheet.tests.test_worksheet.DummyWorkbookattribute), 310

end (openpyxl.styles.borders.Border attribute), 258end_color (openpyxl.styles.fills.PatternFill attribute), 264endA (openpyxl.drawing.effect.ReflectionEffect at-

tribute), 196endCxn (openpyxl.drawing.graphic.NonVisualConnectorProperties

attribute), 205endParaRPr (openpyxl.drawing.text.Paragraph attribute),

225endPos (openpyxl.drawing.effect.ReflectionEffect at-

tribute), 196endSnd (openpyxl.drawing.text.Hyperlink attribute), 224equalAverage (openpyxl.formatting.rule.Rule attribute),

234err (openpyxl.drawing.text.CharacterProperties attribute),

221errBars (openpyxl.chart.series.Series attribute), 142errBars (openpyxl.chart.series.XYSeries attribute), 143errBarType (openpyxl.chart.error_bar.ErrorBars at-

tribute), 129errDir (openpyxl.chart.error_bar.ErrorBars attribute), 129ERROR (openpyxl.formula.tokenizer.Token attribute),

237error (openpyxl.worksheet.datavalidation.DataValidation

attribute), 313ERROR_CODES (openpyxl.cell.cell.Cell attribute), 96ERROR_CODES (openpyxl.formula.tokenizer.Tokenizer

attribute), 238ErrorBars (class in openpyxl.chart.error_bar), 129ErrorBars() (in module open-

pyxl.chart.tests.test_error_bar), 106errors (openpyxl.worksheet.page.PrintPageSetup at-

tribute), 325errorStyle (openpyxl.worksheet.datavalidation.DataValidation

attribute), 313errorTitle (openpyxl.worksheet.datavalidation.DataValidation

attribute), 314errValType (openpyxl.chart.error_bar.ErrorBars at-

tribute), 130escape() (in module openpyxl.utils.escape), 277etree_write_cell() (in module open-

pyxl.writer.etree_worksheet), 347etree_write_cell() (in module open-

pyxl.writer.tests.test_worksheet), 345evenFooter (openpyxl.worksheet.header_footer.HeaderFooter

attribute), 322evenHeader (openpyxl.worksheet.header_footer.HeaderFooter

attribute), 322excel_base_date (open-

pyxl.worksheet.tests.test_read_only.DummyWorkbookattribute), 309

ExcelWriter (class in openpyxl.writer.excel), 347ExcelWriter() (in module open-

pyxl.writer.tests.test_excel), 344expand_cell_ranges() (in module open-

pyxl.worksheet.datavalidation), 315expected (openpyxl.tests.test_iter.TestRead attribute), 272expected_type (openpyxl.chart.descriptors.NumberFormatDescriptor

attribute), 129expected_type (openpyxl.chart.title.TitleDescriptor at-

tribute), 148expected_type (openpyxl.descriptors.base.ASCII at-

tribute), 171expected_type (openpyxl.descriptors.base.Bool attribute),

171expected_type (openpyxl.descriptors.base.DateTime at-

tribute), 171expected_type (openpyxl.descriptors.base.Float at-

tribute), 171expected_type (openpyxl.descriptors.base.Integer at-

tribute), 171expected_type (openpyxl.descriptors.base.Max attribute),

172expected_type (openpyxl.descriptors.base.Min attribute),

172expected_type (openpyxl.descriptors.base.String at-

tribute), 172expected_type (openpyxl.descriptors.base.Tuple at-

tribute), 172expected_type (openpyxl.descriptors.base.Typed at-

tribute), 173expected_type (openpyxl.descriptors.excel.TextPoint at-

tribute), 173expected_type (openpyxl.descriptors.sequence.Sequence

attribute), 175expected_type (openpyxl.drawing.colors.ColorChoiceDescriptor

attribute), 186expected_type (openpyxl.packaging.core.NestedDateTime

attribute), 243expected_type (openpyxl.styles.colors.ColorDescriptor

attribute), 261expected_type (openpyxl.styles.colors.RGB attribute),

262explosion (openpyxl.chart.marker.DataPoint attribute),

135explosion (openpyxl.chart.series.Series attribute), 142ext (openpyxl.descriptors.excel.ExtensionList attribute),

173ext (openpyxl.drawing.graphic.GroupTransform2D at-

tribute), 204ext (openpyxl.drawing.shapes.Transform2D attribute),

217ext (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218ext (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

Index 397

openpyxl Documentation, Release 2.4.9

attribute), 219extend (openpyxl.cell.text.InlineFont attribute), 99extend (openpyxl.styles.fonts.Font attribute), 264extendable (openpyxl.worksheet.pivot.PivotSelection at-

tribute), 329ExtendedProperties (class in open-

pyxl.packaging.extended), 243ExtendedProperties() (in module open-

pyxl.packaging.tests.test_extended), 240extends() (in module openpyxl.develop.classify), 177Extension (class in openpyxl.descriptors.excel), 173Extension (openpyxl.packaging.manifest.FileExtension

attribute), 245ExtensionList (class in openpyxl.descriptors.excel), 173extensions (openpyxl.packaging.manifest.Manifest

attribute), 246ExternalBook (class in open-

pyxl.workbook.external_link.external), 281externalBook (openpyxl.workbook.external_link.external.ExternalLink

attribute), 282ExternalBook() (in module open-

pyxl.workbook.external_link.tests.test_external),280

ExternalCell (class in open-pyxl.workbook.external_link.external), 281

ExternalCell() (in module open-pyxl.workbook.external_link.tests.test_external),280

ExternalData (class in openpyxl.chart.chartspace), 124externalData (openpyxl.chart.chartspace.ChartSpace at-

tribute), 123ExternalData() (in module open-

pyxl.chart.tests.test_chartspace), 104ExternalDefinedName (class in open-

pyxl.workbook.external_link.external), 281ExternalLink (class in open-

pyxl.workbook.external_link.external), 281ExternalLink() (in module open-

pyxl.workbook.external_link.tests.test_external),280

ExternalReference (class in open-pyxl.workbook.external_reference), 290

ExternalReference() (in module open-pyxl.workbook.tests.test_external_reference),284

externalReferences (open-pyxl.workbook.parser.WorkbookPackageattribute), 292

ExternalRow (class in open-pyxl.workbook.external_link.external), 282

ExternalSheetData (class in open-pyxl.workbook.external_link.external), 282

ExternalSheetDataSet (class in open-pyxl.workbook.external_link.external), 282

ExternalSheetNames (class in open-pyxl.workbook.external_link.external), 282

extLst (openpyxl.chart.area_chart.AreaChart attribute),113

extLst (openpyxl.chart.axis.DateAxis attribute), 114extLst (openpyxl.chart.axis.DisplayUnitsLabelList

attribute), 116extLst (openpyxl.chart.axis.NumericAxis attribute), 116extLst (openpyxl.chart.axis.Scaling attribute), 117extLst (openpyxl.chart.axis.SeriesAxis attribute), 118extLst (openpyxl.chart.axis.TextAxis attribute), 119extLst (openpyxl.chart.bar_chart.BarChart attribute), 120extLst (openpyxl.chart.bar_chart.BarChart3D attribute),

120extLst (openpyxl.chart.bubble_chart.BubbleChart at-

tribute), 121extLst (openpyxl.chart.chartspace.ChartContainer at-

tribute), 122extLst (openpyxl.chart.chartspace.ChartSpace attribute),

123extLst (openpyxl.chart.chartspace.DataTable attribute),

124extLst (openpyxl.chart.chartspace.PivotFormat attribute),

124extLst (openpyxl.chart.chartspace.PivotSource attribute),

125extLst (openpyxl.chart.chartspace.PlotArea attribute),

126extLst (openpyxl.chart.data_source.NumData attribute),

127extLst (openpyxl.chart.data_source.NumRef attribute),

128extLst (openpyxl.chart.data_source.StrData attribute),

128extLst (openpyxl.chart.data_source.StrRef attribute), 128extLst (openpyxl.chart.error_bar.ErrorBars attribute), 130extLst (openpyxl.chart.label.DataLabel attribute), 130extLst (openpyxl.chart.label.DataLabelList attribute), 131extLst (openpyxl.chart.layout.Layout attribute), 132extLst (openpyxl.chart.layout.ManualLayout attribute),

132extLst (openpyxl.chart.legend.Legend attribute), 133extLst (openpyxl.chart.legend.LegendEntry attribute),

133extLst (openpyxl.chart.line_chart.LineChart attribute),

134extLst (openpyxl.chart.line_chart.LineChart3D attribute),

134extLst (openpyxl.chart.marker.DataPoint attribute), 135extLst (openpyxl.chart.marker.Marker attribute), 136extLst (openpyxl.chart.pie_chart.DoughnutChart at-

tribute), 137extLst (openpyxl.chart.pie_chart.PieChart attribute), 137extLst (openpyxl.chart.pie_chart.PieChart3D attribute),

398 Index

openpyxl Documentation, Release 2.4.9

137extLst (openpyxl.chart.pie_chart.ProjectedPieChart at-

tribute), 138extLst (openpyxl.chart.radar_chart.RadarChart attribute),

140extLst (openpyxl.chart.scatter_chart.ScatterChart at-

tribute), 141extLst (openpyxl.chart.series.Series attribute), 142extLst (openpyxl.chart.shapes.GraphicalProperties

attribute), 144extLst (openpyxl.chart.stock_chart.StockChart attribute),

145extLst (openpyxl.chart.surface_chart.SurfaceChart

attribute), 146extLst (openpyxl.chart.surface_chart.SurfaceChart3D at-

tribute), 147extLst (openpyxl.chart.title.Title attribute), 148extLst (openpyxl.chart.trendline.Trendline attribute), 149extLst (openpyxl.chart.trendline.TrendlineLabel at-

tribute), 149extLst (openpyxl.chart.updown_bars.UpDownBars

attribute), 150extLst (openpyxl.chartsheet.chartsheet.Chartsheet at-

tribute), 153extLst (openpyxl.chartsheet.views.ChartsheetView

attribute), 158extLst (openpyxl.chartsheet.views.ChartsheetViewList

attribute), 158extLst (openpyxl.comments.comment_sheet.CommentSheet

attribute), 161extLst (openpyxl.drawing.colors.ColorMapping at-

tribute), 187extLst (openpyxl.drawing.fill.Blip attribute), 198extLst (openpyxl.drawing.graphic.ConnectorLocking at-

tribute), 202extLst (openpyxl.drawing.graphic.GraphicFrameLocking

attribute), 203extLst (openpyxl.drawing.graphic.GroupLocking at-

tribute), 203extLst (openpyxl.drawing.graphic.GroupShapeProperties

attribute), 204extLst (openpyxl.drawing.graphic.NonVisualConnectorProperties

attribute), 205extLst (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205extLst (openpyxl.drawing.graphic.NonVisualDrawingShapeProps

attribute), 206extLst (openpyxl.drawing.graphic.NonVisualGraphicFrameProperties

attribute), 206extLst (openpyxl.drawing.graphic.NonVisualGroupDrawingShapeProps

attribute), 206extLst (openpyxl.drawing.graphic.NonVisualPictureProperties

attribute), 206extLst (openpyxl.drawing.graphic.PictureLocking at-

tribute), 207extLst (openpyxl.drawing.line.LineProperties attribute),

210extLst (openpyxl.drawing.shapes.Backdrop attribute),

212extLst (openpyxl.drawing.shapes.Scene3D attribute), 216extLst (openpyxl.drawing.shapes.Shape3D attribute), 217extLst (openpyxl.drawing.text.CharacterProperties

attribute), 221extLst (openpyxl.drawing.text.Hyperlink attribute), 224extLst (openpyxl.drawing.text.ListStyle attribute), 224extLst (openpyxl.drawing.text.ParagraphProperties

attribute), 226extLst (openpyxl.drawing.text.RichTextProperties at-

tribute), 228extLst (openpyxl.formatting.rule.FormatObject attribute),

233extLst (openpyxl.formatting.rule.Rule attribute), 234extLst (openpyxl.styles.cell_style.CellStyle attribute),

260extLst (openpyxl.styles.stylesheet.Stylesheet attribute),

269extLst (openpyxl.workbook.parser.WorkbookPackage at-

tribute), 291extLst (openpyxl.workbook.views.BookView attribute),

298extLst (openpyxl.workbook.views.CustomWorkbookView

attribute), 299extLst (openpyxl.worksheet.filters.AutoFilter attribute),

318extLst (openpyxl.worksheet.filters.FilterColumn at-

tribute), 320extLst (openpyxl.worksheet.filters.SortState attribute),

321extLst (openpyxl.worksheet.table.Table attribute), 333extLst (openpyxl.worksheet.table.TableColumn at-

tribute), 335extLst (openpyxl.worksheet.table.XMLColumnProps at-

tribute), 337extLst (openpyxl.worksheet.views.SheetViewList at-

tribute), 339extrusionClr (openpyxl.drawing.shapes.Shape3D at-

tribute), 217extrusionH (openpyxl.drawing.shapes.Shape3D at-

tribute), 217extrusionOk (openpyxl.drawing.shapes.Path2D attribute),

214

Ff (openpyxl.chart.data_source.NumRef attribute), 128f (openpyxl.chart.data_source.StrRef attribute), 128fadeDir (openpyxl.drawing.effect.ReflectionEffect

attribute), 196family (openpyxl.cell.text.InlineFont attribute), 99

Index 399

openpyxl Documentation, Release 2.4.9

family (openpyxl.styles.fonts.Font attribute), 265fgClr (openpyxl.drawing.fill.PatternFillProperties at-

tribute), 200fgColor (openpyxl.styles.fills.PatternFill attribute), 264field (openpyxl.worksheet.pivot.PivotArea attribute), 327field (openpyxl.worksheet.pivot.PivotAreaReference at-

tribute), 328fieldPosition (openpyxl.worksheet.pivot.PivotArea

attribute), 327file_link (openpyxl.workbook.external_link.external.ExternalLink

attribute), 282FileExtension (class in openpyxl.packaging.manifest),

245FileExtension() (in module open-

pyxl.packaging.tests.test_manifest), 240filename (openpyxl.writer.write_only.WriteOnlyWorksheet

attribute), 348filenames (openpyxl.packaging.manifest.Manifest at-

tribute), 246fileRecoveryPr (openpyxl.workbook.parser.WorkbookPackage

attribute), 292FileRecoveryProperties (class in open-

pyxl.workbook.parser), 291FileSharing (class in openpyxl.workbook.protection), 295fileSharing (openpyxl.workbook.parser.WorkbookPackage

attribute), 292FileSharing() (in module open-

pyxl.workbook.tests.test_protection), 286FileVersion (class in openpyxl.workbook.properties), 293fileVersion (openpyxl.workbook.parser.WorkbookPackage

attribute), 292FileVersion() (in module open-

pyxl.workbook.tests.test_properties), 285Fill (class in openpyxl.styles.fills), 263fill (openpyxl.cell.read_only.EmptyCell attribute), 98fill (openpyxl.cell.read_only.ReadOnlyCell attribute), 98fill (openpyxl.drawing.shapes.Path2D attribute), 214fill (openpyxl.styles.differential.DifferentialStyle at-

tribute), 262fill (openpyxl.styles.named_styles.NamedStyle attribute),

267fill (openpyxl.styles.styleable.StyleableObject attribute),

269fill_type (openpyxl.styles.fills.GradientFill attribute), 263fill_type (openpyxl.styles.fills.PatternFill attribute), 264fillId (openpyxl.styles.cell_style.CellStyle attribute), 260fillId (openpyxl.styles.cell_style.StyleArray attribute),

260fillOverlay (openpyxl.drawing.effect.EffectList attribute),

191fillOverlay (openpyxl.drawing.fill.Blip attribute), 198FillOverlayEffect (class in openpyxl.drawing.effect), 191fillRect (openpyxl.drawing.fill.StretchInfoProperties at-

tribute), 201

fillRef (openpyxl.drawing.shapes.ShapeStyle attribute),217

fills (openpyxl.styles.stylesheet.Stylesheet attribute), 269fillToRect (openpyxl.drawing.fill.PathShadeProperties at-

tribute), 200filter (openpyxl.worksheet.filters.Filters attribute), 321FilterColumn (class in openpyxl.worksheet.filters), 320filterColumn (openpyxl.worksheet.filters.AutoFilter at-

tribute), 318FilterColumn() (in module open-

pyxl.worksheet.tests.test_filters), 305filterMode (openpyxl.worksheet.properties.WorksheetProperties

attribute), 330filterPrivacy (openpyxl.workbook.properties.WorkbookProperties

attribute), 295Filters (class in openpyxl.worksheet.filters), 320filters (openpyxl.worksheet.filters.FilterColumn at-

tribute), 320Filters() (in module open-

pyxl.worksheet.tests.test_filters), 305filterVal (openpyxl.worksheet.filters.Top10 attribute), 322find() (openpyxl.packaging.manifest.Manifest method),

246find() (openpyxl.packaging.relationship.RelationshipList

method), 247find_sheets() (openpyxl.packaging.workbook.WorkbookParser

method), 247firstFooter (openpyxl.worksheet.header_footer.HeaderFooter

attribute), 322firstHeader (openpyxl.worksheet.header_footer.HeaderFooter

attribute), 322firstPageNumber (open-

pyxl.worksheet.page.PrintPageSetup attribute),325

firstSheet (openpyxl.workbook.views.BookView at-tribute), 298

firstSliceAng (openpyxl.chart.pie_chart.DoughnutChartattribute), 137

firstSliceAng (openpyxl.chart.pie_chart.PieChart at-tribute), 137

fitToHeight (openpyxl.worksheet.page.PrintPageSetup at-tribute), 325

fitToPage (openpyxl.worksheet.page.PrintPageSetup at-tribute), 325

fitToPage (openpyxl.worksheet.properties.PageSetupPropertiesattribute), 330

fitToWidth (openpyxl.worksheet.page.PrintPageSetup at-tribute), 325

flatten() (in module openpyxl.worksheet.worksheet), 343flatTx (openpyxl.drawing.text.RichTextProperties at-

tribute), 228fld (openpyxl.drawing.text.Paragraph attribute), 225flip (openpyxl.drawing.fill.GradientFillProperties at-

tribute), 199

400 Index

openpyxl Documentation, Release 2.4.9

flip (openpyxl.drawing.fill.TileInfoProperties attribute),201

flipH (openpyxl.drawing.graphic.GroupTransform2D at-tribute), 205

flipH (openpyxl.drawing.shapes.Transform2D attribute),218

flipV (openpyxl.drawing.graphic.GroupTransform2D at-tribute), 205

flipV (openpyxl.drawing.shapes.Transform2D attribute),218

Float (class in openpyxl.descriptors.base), 171float() (in module openpyxl.descriptors.tests.test_base),

167fLocksWithSheet (open-

pyxl.drawing.spreadsheet_drawing.AnchorClientDataattribute), 219

floor (openpyxl.chart.bar_chart.BarChart3D attribute),120

floor (openpyxl.chart.chartspace.ChartContainer at-tribute), 122

fmla (openpyxl.drawing.shapes.GeomGuide attribute),214

fmla (openpyxl.drawing.text.GeomGuide attribute), 223fmtId (openpyxl.chart.chartspace.PivotSource attribute),

125folHlink (openpyxl.drawing.colors.ColorMapping at-

tribute), 187Font (class in openpyxl.drawing.text), 223Font (class in openpyxl.styles.fonts), 264font (openpyxl.cell.read_only.EmptyCell attribute), 98font (openpyxl.cell.read_only.ReadOnlyCell attribute), 98font (openpyxl.cell.text.RichText attribute), 100font (openpyxl.styles.differential.DifferentialStyle at-

tribute), 262font (openpyxl.styles.named_styles.NamedStyle at-

tribute), 267font (openpyxl.styles.styleable.StyleableObject attribute),

269Font() (in module openpyxl.styles.tests.test_fonts), 254FONT_HEIGHT (openpyxl.drawing.shape.Shape at-

tribute), 211FONT_WIDTH (openpyxl.drawing.shape.Shape at-

tribute), 211fontAlgn (openpyxl.drawing.text.ParagraphProperties at-

tribute), 226fontId (openpyxl.cell.text.PhoneticProperties attribute),

100fontId (openpyxl.styles.cell_style.CellStyle attribute),

260fontId (openpyxl.styles.cell_style.StyleArray attribute),

260fontRef (openpyxl.drawing.shapes.ShapeStyle attribute),

217FontReference (class in openpyxl.drawing.shapes), 214

fonts (openpyxl.styles.stylesheet.Stylesheet attribute),269

fontScale (openpyxl.drawing.text.TextNormalAutofit at-tribute), 230

footer (openpyxl.chart.print_settings.PageMarginsattribute), 139

footer (openpyxl.worksheet.page.PageMargins attribute),324

forceAA (openpyxl.drawing.text.RichTextProperties at-tribute), 228

forceFullCalc (openpyxl.workbook.properties.CalcPropertiesattribute), 293

foreground (openpyxl.drawing.fill.PatternFillPropertiesattribute), 200

formatCells (openpyxl.worksheet.protection.SheetProtectionattribute), 332

formatCode (openpyxl.chart.data_source.NumData at-tribute), 127

formatCode (openpyxl.chart.data_source.NumFmtattribute), 128

formatCode (openpyxl.chart.data_source.NumVal at-tribute), 128

formatCode (openpyxl.styles.numbers.NumberFormat at-tribute), 267

formatColumns (openpyxl.worksheet.protection.SheetProtectionattribute), 332

FormatObject (class in openpyxl.formatting.rule), 233FormatObject() (in module open-

pyxl.formatting.tests.test_rule), 231formatRows (openpyxl.worksheet.protection.SheetProtection

attribute), 332FormatRule() (in module open-

pyxl.formatting.tests.conftest), 230FormatRule() (in module openpyxl.styles.tests.conftest),

251formatted (openpyxl.cell.text.Text attribute), 100formatting (openpyxl.chart.chartspace.Protection at-

tribute), 127formula (openpyxl.formatting.rule.Rule attribute), 234formula1 (openpyxl.worksheet.datavalidation.DataValidation

attribute), 314formula2 (openpyxl.worksheet.datavalidation.DataValidation

attribute), 314FORMULA_TAG (open-

pyxl.reader.worksheet.WorkSheetParser at-tribute), 251

FormulaRule() (in module openpyxl.formatting.rule), 233forward (openpyxl.chart.trendline.Trendline attribute),

149fov (openpyxl.drawing.shapes.Camera attribute), 213fPrintsWithSheet (open-

pyxl.drawing.spreadsheet_drawing.AnchorClientDataattribute), 219

fPublished (openpyxl.drawing.graphic.GraphicFrame at-

Index 401

openpyxl Documentation, Release 2.4.9

tribute), 203fPublished (openpyxl.drawing.graphic.PictureFrame at-

tribute), 207fPublished (openpyxl.drawing.graphic.Shape attribute),

208freeze_panes (openpyxl.worksheet.worksheet.Worksheet

attribute), 341freeze_panes (openpyxl.writer.write_only.WriteOnlyWorksheet

attribute), 348from_array() (openpyxl.styles.cell_style.CellStyle class

method), 260from_cell() (openpyxl.comments.comment_sheet.CommentRecord

class method), 161from_comments() (open-

pyxl.comments.comment_sheet.CommentSheetclass method), 161

from_excel() (in module openpyxl.utils.datetime), 277from_tree() (openpyxl.descriptors.nested.EmptyTag

method), 174from_tree() (openpyxl.descriptors.nested.Nested

method), 174from_tree() (openpyxl.descriptors.nested.NestedBool

method), 174from_tree() (openpyxl.descriptors.nested.NestedText

method), 175from_tree() (openpyxl.descriptors.sequence.NestedSequence

method), 175from_tree() (openpyxl.descriptors.sequence.ValueSequence

method), 175from_tree() (openpyxl.descriptors.serialisable.Serialisable

class method), 176from_tree() (openpyxl.styles.fills.Fill class method), 263from_tree() (openpyxl.styles.fonts.Font class method),

265from_tree() (openpyxl.styles.stylesheet.Stylesheet class

method), 270from_tree() (openpyxl.workbook.protection.WorkbookProtection

class method), 296from_tree() (openpyxl.worksheet.header_footer.HeaderFooterItem

class method), 323from_tree() (openpyxl.worksheet.page.PrintPageSetup

class method), 325from_tree() (openpyxl.worksheet.table.TableColumn

class method), 335from_xml() (openpyxl.chart.tests.test_axis.TestTextAxis

method), 102fromkeys() (openpyxl.compat.odict.OrderedDict class

method), 164fromWordArt (openpyxl.drawing.text.RichTextProperties

attribute), 228fullCalcOnLoad (open-

pyxl.workbook.properties.CalcPropertiesattribute), 293

fullPrecision (openpyxl.workbook.properties.CalcProperties

attribute), 293FUNC (openpyxl.formula.tokenizer.Token attribute), 237function (openpyxl.workbook.defined_name.DefinedName

attribute), 289FunctionGroup (class in open-

pyxl.workbook.function_group), 290functionGroup (openpyxl.workbook.function_group.FunctionGroupList

attribute), 290FunctionGroup() (in module open-

pyxl.workbook.tests.test_function_group),284

functionGroupId (open-pyxl.workbook.defined_name.DefinedNameattribute), 289

FunctionGroupList (class in open-pyxl.workbook.function_group), 290

FunctionGroupList() (in module open-pyxl.workbook.tests.test_function_group),284

functionGroups (openpyxl.workbook.parser.WorkbookPackageattribute), 292

Gg (openpyxl.drawing.colors.RGBPercent attribute), 187gamma (openpyxl.drawing.colors.SystemColor attribute),

188gapDepth (openpyxl.chart.area_chart.AreaChart3D at-

tribute), 113gapDepth (openpyxl.chart.bar_chart.BarChart3D at-

tribute), 120gapDepth (openpyxl.chart.line_chart.LineChart3D

attribute), 134gapWidth (openpyxl.chart.bar_chart.BarChart attribute),

120gapWidth (openpyxl.chart.bar_chart.BarChart3D at-

tribute), 120gapWidth (openpyxl.chart.pie_chart.ProjectedPieChart

attribute), 138gapWidth (openpyxl.chart.updown_bars.UpDownBars at-

tribute), 150gd (openpyxl.drawing.shapes.GeomGuideList attribute),

214gd (openpyxl.drawing.text.GeomGuideList attribute), 223gdLst (openpyxl.drawing.shapes.CustomGeometry2D at-

tribute), 213generate() (in module openpyxl.develop.stub), 177GeomGuide (class in openpyxl.drawing.shapes), 214GeomGuide (class in openpyxl.drawing.text), 223GeomGuideList (class in openpyxl.drawing.shapes), 214GeomGuideList (class in openpyxl.drawing.text), 223GeomRect (class in openpyxl.drawing.shapes), 214get() (openpyxl.workbook.defined_name.DefinedNameList

method), 290

402 Index

openpyxl Documentation, Release 2.4.9

get_active_sheet() (in module open-pyxl.writer.workbook), 348

get_active_sheet() (open-pyxl.workbook.workbook.Workbook method),302

get_attribute_group() (in module open-pyxl.develop.classify), 177

get_cell_collection() (open-pyxl.worksheet.worksheet.Worksheet method),341

get_closer() (openpyxl.formula.tokenizer.Token method),237

get_column_interval() (in module openpyxl.utils.cell),276

get_column_letter() (in module openpyxl.utils.cell), 276get_dependents() (in module open-

pyxl.packaging.relationship), 247get_element_group() (in module open-

pyxl.develop.classify), 177get_emu_dimensions() (open-

pyxl.drawing.drawing.Drawing method),189

get_index() (openpyxl.workbook.workbook.Workbookmethod), 302

get_named_range() (open-pyxl.workbook.workbook.Workbook method),302

get_named_range() (open-pyxl.worksheet.worksheet.Worksheet method),341

get_named_ranges() (open-pyxl.workbook.workbook.Workbook method),302

get_rels_path() (in module open-pyxl.packaging.relationship), 247

get_rows_to_write() (in module open-pyxl.writer.etree_worksheet), 347

get_sheet_by_name() (open-pyxl.workbook.workbook.Workbook method),302

get_sheet_names() (open-pyxl.workbook.workbook.Workbook method),302

get_squared_range() (open-pyxl.worksheet.read_only.ReadOnlyWorksheetmethod), 332

get_squared_range() (open-pyxl.worksheet.worksheet.Worksheet method),341

get_tokens() (openpyxl.formula.translate.Translatormethod), 239

get_x_units() (openpyxl.drawing.tests.test_shape.DummyChartmethod), 183

get_y_units() (openpyxl.drawing.tests.test_shape.DummyChart

method), 183glow (openpyxl.drawing.effect.EffectList attribute), 191GlowEffect (class in openpyxl.drawing.effect), 191GMT (class in openpyxl.utils.datetime), 277gradFill (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145gradFill (openpyxl.drawing.line.LineProperties attribute),

210gradFill (openpyxl.drawing.text.CharacterProperties at-

tribute), 221GradientFill (class in openpyxl.styles.fills), 263GradientFill() (in module openpyxl.styles.tests.test_fills),

253GradientFillProperties (class in openpyxl.drawing.fill),

199GradientFillProperties() (in module open-

pyxl.drawing.tests.test_fill), 179GradientFillProperties() (in module open-

pyxl.drawing.tests.test_shapes), 183GradientStop (class in openpyxl.drawing.fill), 200GradientStop() (in module open-

pyxl.drawing.tests.test_fill), 179GradientStopList (class in openpyxl.drawing.fill), 200GradientStopList() (in module open-

pyxl.drawing.tests.test_fill), 179grandCol (openpyxl.worksheet.pivot.PivotArea attribute),

327grandRow (openpyxl.worksheet.pivot.PivotArea at-

tribute), 327graphic (openpyxl.drawing.graphic.GraphicFrame

attribute), 203GraphicalProperties (class in openpyxl.chart.shapes), 144graphicalProperties (openpyxl.chart.axis.ChartLines at-

tribute), 114graphicalProperties (open-

pyxl.chart.axis.DisplayUnitsLabel attribute),115

graphicalProperties (open-pyxl.chart.chartspace.ChartSpace attribute),123

graphicalProperties (open-pyxl.chart.chartspace.DataTable attribute),124

graphicalProperties (open-pyxl.chart.chartspace.PivotFormat attribute),124

graphicalProperties (openpyxl.chart.chartspace.PlotAreaattribute), 126

graphicalProperties (openpyxl.chart.error_bar.ErrorBarsattribute), 130

graphicalProperties (openpyxl.chart.legend.Legend at-tribute), 133

graphicalProperties (openpyxl.chart.marker.DataPoint at-tribute), 135

Index 403

openpyxl Documentation, Release 2.4.9

graphicalProperties (openpyxl.chart.marker.Marker at-tribute), 136

graphicalProperties (openpyxl.chart.series.Series at-tribute), 142

graphicalProperties (open-pyxl.chart.surface_chart.BandFormat attribute),146

graphicalProperties (openpyxl.chart.title.Title attribute),148

graphicalProperties (openpyxl.chart.trendline.Trendlineattribute), 149

graphicalProperties (open-pyxl.chart.trendline.TrendlineLabel attribute),149

graphicalProperties (open-pyxl.drawing.graphic.PictureFrame attribute),207

graphicalProperties (openpyxl.drawing.graphic.Shape at-tribute), 208

GraphicalProperties() (in module open-pyxl.chart.tests.test_shapes), 111

GraphicData (class in openpyxl.drawing.graphic), 202graphicData (openpyxl.drawing.graphic.GraphicObject

attribute), 203GraphicData() (in module open-

pyxl.drawing.tests.test_graphic), 180GraphicFrame (class in openpyxl.drawing.graphic), 202graphicFrame (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218graphicFrame (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

attribute), 219graphicFrame (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220GraphicFrame() (in module open-

pyxl.drawing.tests.test_graphic), 180GraphicFrameLocking (class in open-

pyxl.drawing.graphic), 203graphicFrameLocks (open-

pyxl.drawing.graphic.NonVisualGraphicFramePropertiesattribute), 206

GraphicObject (class in openpyxl.drawing.graphic), 203GraphicObject() (in module open-

pyxl.drawing.tests.test_graphic), 180gray (openpyxl.drawing.colors.SystemColor attribute),

188GrayscaleEffect (class in openpyxl.drawing.effect), 192grayscl (openpyxl.drawing.fill.Blip attribute), 198green (openpyxl.drawing.colors.SystemColor attribute),

188greenMod (openpyxl.drawing.colors.SystemColor

attribute), 188greenOff (openpyxl.drawing.colors.SystemColor at-

tribute), 188gridLines (openpyxl.worksheet.page.PrintOptions at-

tribute), 325gridLinesSet (openpyxl.worksheet.page.PrintOptions at-

tribute), 325group() (openpyxl.worksheet.dimensions.DimensionHolder

method), 316grouping (openpyxl.chart.area_chart.AreaChart at-

tribute), 113grouping (openpyxl.chart.area_chart.AreaChart3D

attribute), 113grouping (openpyxl.chart.bar_chart.BarChart attribute),

120grouping (openpyxl.chart.bar_chart.BarChart3D at-

tribute), 120grouping (openpyxl.chart.line_chart.LineChart attribute),

134grouping (openpyxl.chart.line_chart.LineChart3D at-

tribute), 134GroupLocking (class in openpyxl.drawing.graphic), 203GroupShape (class in openpyxl.drawing.graphic), 204GroupShapeProperties (class in open-

pyxl.drawing.graphic), 204GroupTransform2D (class in openpyxl.drawing.graphic),

204grow (openpyxl.drawing.effect.BlurEffect attribute), 190grpFill (openpyxl.drawing.text.CharacterProperties at-

tribute), 222grpSp (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218grpSp (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

attribute), 219grpSp (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220grpSpLocks (openpyxl.drawing.graphic.NonVisualGroupDrawingShapeProps

attribute), 206grpSpPr (openpyxl.drawing.graphic.GroupShape at-

tribute), 204gs (openpyxl.drawing.fill.GradientStopList attribute), 200gsLst (openpyxl.drawing.fill.GradientFillProperties at-

tribute), 199gte (openpyxl.formatting.rule.FormatObject attribute),

233guess_types (openpyxl.cell.cell.Cell attribute), 97guess_types (openpyxl.cell.interface.AbstractCell at-

tribute), 98guess_types() (in module openpyxl.cell.tests.test_cell), 93Guid (class in openpyxl.descriptors.excel), 173guid (openpyxl.chartsheet.custom.CustomChartsheetView

attribute), 153guid (openpyxl.comments.comment_sheet.CommentRecord

attribute), 161guid (openpyxl.workbook.views.CustomWorkbookView

attribute), 299Guid() (in module openpyxl.descriptors.tests.test_excel),

167

404 Index

openpyxl Documentation, Release 2.4.9

Hh (openpyxl.chart.layout.ManualLayout attribute), 132h (openpyxl.drawing.shapes.Bevel attribute), 213h (openpyxl.drawing.shapes.Path2D attribute), 215hangingPunct (openpyxl.drawing.text.ParagraphProperties

attribute), 226has_style (openpyxl.styles.styleable.StyleableObject at-

tribute), 269hash_password() (in module openpyxl.utils.protection),

278hashValue (openpyxl.chartsheet.protection.ChartsheetProtection

attribute), 154hashValue (openpyxl.workbook.protection.FileSharing

attribute), 295hashValue (openpyxl.worksheet.protection.SheetProtection

attribute), 332headEnd (openpyxl.drawing.line.LineProperties at-

tribute), 210header (openpyxl.chart.print_settings.PageMargins at-

tribute), 139header (openpyxl.worksheet.page.PageMargins attribute),

324HeaderFooter (class in open-

pyxl.worksheet.header_footer), 322headerFooter (openpyxl.chart.print_settings.PrintSettings

attribute), 139headerFooter (openpyxl.chartsheet.custom.CustomChartsheetView

attribute), 153HeaderFooter() (in module open-

pyxl.worksheet.tests.test_header), 306HeaderFooterItem (class in open-

pyxl.worksheet.header_footer), 323HeaderFooterItem() (in module open-

pyxl.worksheet.tests.test_header), 306headerRowBorderDxfId (openpyxl.worksheet.table.Table

attribute), 334headerRowCellStyle (openpyxl.worksheet.table.Table at-

tribute), 334headerRowCellStyle (open-

pyxl.worksheet.table.TableColumn attribute),335

headerRowCount (openpyxl.worksheet.table.Tableattribute), 334

headerRowDxfId (openpyxl.worksheet.table.Tableattribute), 334

headerRowDxfId (open-pyxl.worksheet.table.TableColumn attribute),335

HeadingPairs (openpyxl.packaging.extended.ExtendedPropertiesattribute), 244

headings (openpyxl.worksheet.page.PrintOptions at-tribute), 325

height (openpyxl.chart.layout.ManualLayout attribute),132

height (openpyxl.drawing.drawing.Drawing attribute),189

height (openpyxl.drawing.shapes.PositiveSize2D at-tribute), 215

height (openpyxl.drawing.tests.test_shape.DummyChartattribute), 183

height (openpyxl.drawing.tests.test_shape.DummyDrawingattribute), 183

height (openpyxl.worksheet.dimensions.RowDimensionattribute), 317

help (openpyxl.workbook.defined_name.DefinedNameattribute), 289

HexBinary (class in openpyxl.descriptors.excel), 173HexBinary() (in module open-

pyxl.descriptors.tests.test_excel), 167hidden (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205hidden (openpyxl.styles.named_styles.NamedStyle at-

tribute), 267hidden (openpyxl.styles.protection.Protection attribute),

268hidden (openpyxl.workbook.defined_name.DefinedName

attribute), 289hidden (openpyxl.worksheet.dimensions.Dimension at-

tribute), 316hiddenButton (openpyxl.worksheet.filters.FilterColumn

attribute), 320HiddenSlides (openpyxl.packaging.extended.ExtendedProperties

attribute), 244hide_drop_down (open-

pyxl.worksheet.datavalidation.DataValidationattribute), 314

hidePivotFieldList (open-pyxl.workbook.properties.WorkbookPropertiesattribute), 295

highlight (openpyxl.drawing.text.CharacterProperties at-tribute), 222

highlightClick (openpyxl.drawing.text.Hyperlink at-tribute), 224

hiLowLines (openpyxl.chart.line_chart.LineChart at-tribute), 134

hiLowLines (openpyxl.chart.line_chart.LineChart3D at-tribute), 135

hiLowLines (openpyxl.chart.stock_chart.StockChart at-tribute), 146

history (openpyxl.drawing.text.Hyperlink attribute), 224hlink (openpyxl.drawing.colors.ColorMapping attribute),

187hlinkClick (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205hlinkClick (openpyxl.drawing.text.CharacterProperties

attribute), 222hlinkHover (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205

Index 405

openpyxl Documentation, Release 2.4.9

hlinkMouseOver (open-pyxl.drawing.text.CharacterProperties at-tribute), 222

HLinks (openpyxl.packaging.extended.ExtendedPropertiesattribute), 244

hMode (openpyxl.chart.layout.ManualLayout attribute),132

holeSize (openpyxl.chart.pie_chart.DoughnutChart at-tribute), 137

horizontal (openpyxl.styles.alignment.Alignment at-tribute), 257

horizontal (openpyxl.styles.borders.Border attribute), 258horizontalCentered (open-

pyxl.worksheet.page.PrintOptions attribute),325

horizontalDpi (openpyxl.worksheet.page.PrintPageSetupattribute), 325

horzOverflow (openpyxl.drawing.text.RichTextPropertiesattribute), 228

hour (openpyxl.worksheet.filters.DateGroupItem at-tribute), 319

hsl (openpyxl.drawing.fill.Blip attribute), 198hslClr (openpyxl.drawing.colors.ColorChoice attribute),

185hslClr (openpyxl.drawing.effect.GlowEffect attribute),

191hslClr (openpyxl.drawing.effect.InnerShadowEffect at-

tribute), 193hslClr (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 194hslClr (openpyxl.drawing.effect.PresetShadowEffect at-

tribute), 195HSLColor (class in openpyxl.drawing.colors), 187HSLColor() (in module open-

pyxl.drawing.tests.test_color), 178HSLEffect (class in openpyxl.drawing.effect), 192ht (openpyxl.worksheet.dimensions.RowDimension at-

tribute), 317hue (openpyxl.drawing.colors.HSLColor attribute), 187hue (openpyxl.drawing.colors.SystemColor attribute),

188hue (openpyxl.drawing.effect.HSLEffect attribute), 192hue (openpyxl.drawing.effect.TintEffect attribute), 197hueMod (openpyxl.drawing.colors.SystemColor at-

tribute), 188hueOff (openpyxl.drawing.colors.SystemColor attribute),

188Hyperlink (class in openpyxl.drawing.text), 224Hyperlink (class in openpyxl.worksheet.hyperlink), 323hyperlink (openpyxl.cell.cell.Cell attribute), 97hyperlink (openpyxl.worksheet.hyperlink.HyperlinkList

attribute), 324Hyperlink() (in module open-

pyxl.worksheet.tests.test_hyperlink), 307

HyperlinkBase (openpyxl.packaging.extended.ExtendedPropertiesattribute), 244

HyperlinkList (class in openpyxl.worksheet.hyperlink),323

HyperlinkList() (in module open-pyxl.worksheet.tests.test_hyperlink), 307

HyperlinksChanged (open-pyxl.packaging.extended.ExtendedPropertiesattribute), 244

Ii (openpyxl.cell.text.InlineFont attribute), 99i (openpyxl.drawing.text.CharacterProperties attribute),

222i (openpyxl.formula.tests.test_tokenizer.TestTokenizer at-

tribute), 235i (openpyxl.styles.fonts.Font attribute), 265IconFilter (class in openpyxl.worksheet.filters), 321iconFilter (openpyxl.worksheet.filters.FilterColumn at-

tribute), 320IconFilter() (in module open-

pyxl.worksheet.tests.test_filters), 305iconId (openpyxl.worksheet.filters.IconFilter attribute),

321iconId (openpyxl.worksheet.filters.SortCondition at-

tribute), 321IconSet (class in openpyxl.formatting.rule), 233iconSet (openpyxl.formatting.rule.IconSet attribute), 233iconSet (openpyxl.formatting.rule.Rule attribute), 234iconSet (openpyxl.worksheet.filters.IconFilter attribute),

321iconSet (openpyxl.worksheet.filters.SortCondition

attribute), 321IconSet() (in module openpyxl.formatting.tests.test_rule),

231IconSetRule() (in module openpyxl.formatting.rule), 233id (openpyxl.chart.chartspace.ExternalData attribute),

124id (openpyxl.chartsheet.publish.WebPublishItem at-

tribute), 155id (openpyxl.chartsheet.relation.DrawingHF attribute),

156id (openpyxl.chartsheet.relation.SheetBackgroundPicture

attribute), 158id (openpyxl.drawing.graphic.ChartRelation attribute),

202id (openpyxl.drawing.graphic.Connection attribute), 202id (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205id (openpyxl.drawing.text.TextField attribute), 229id (openpyxl.packaging.interface.ISerialisableFile at-

tribute), 245Id (openpyxl.packaging.relationship.Relationship at-

tribute), 246

406 Index

openpyxl Documentation, Release 2.4.9

id (openpyxl.packaging.relationship.Relationship at-tribute), 246

id (openpyxl.workbook.external_link.external.ExternalBookattribute), 281

id (openpyxl.workbook.external_reference.ExternalReferenceattribute), 290

id (openpyxl.workbook.parser.ChildSheet attribute), 290id (openpyxl.workbook.web.WebPublishObject at-

tribute), 300id (openpyxl.worksheet.drawing.Drawing attribute), 318id (openpyxl.worksheet.hyperlink.Hyperlink attribute),

323id (openpyxl.worksheet.page.PrintPageSetup attribute),

326id (openpyxl.worksheet.pagebreak.Break attribute), 326id (openpyxl.worksheet.related.Related attribute), 333id (openpyxl.worksheet.table.Table attribute), 334id (openpyxl.worksheet.table.TableColumn attribute),

335identifier (openpyxl.packaging.core.DocumentProperties

attribute), 242identifiers (openpyxl.chart.series.Series attribute), 142idx (openpyxl.chart.chartspace.PivotFormat attribute),

124idx (openpyxl.chart.data_source.NumVal attribute), 128idx (openpyxl.chart.data_source.StrVal attribute), 129idx (openpyxl.chart.label.DataLabel attribute), 130idx (openpyxl.chart.legend.LegendEntry attribute), 133idx (openpyxl.chart.marker.DataPoint attribute), 135idx (openpyxl.chart.series.Series attribute), 142idx (openpyxl.chart.series.XYSeries attribute), 144idx (openpyxl.chart.surface_chart.BandFormat attribute),

146idx (openpyxl.drawing.graphic.Connection attribute), 202idx (openpyxl.drawing.shapes.FontReference attribute),

214idx (openpyxl.drawing.shapes.StyleMatrixReference at-

tribute), 217idx_base (openpyxl.descriptors.sequence.Sequence at-

tribute), 175idx_base (openpyxl.descriptors.serialisable.Serialisable

attribute), 176Ignorable (openpyxl.workbook.parser.WorkbookPackage

attribute), 291IllegalCharacterError, 277Image (class in openpyxl.drawing.image), 209Image() (in module openpyxl.drawing.tests.test_image),

182Image() (in module openpyxl.tests.conftest), 271imeMode (openpyxl.worksheet.datavalidation.DataValidation

attribute), 314Immutable() (in module open-

pyxl.descriptors.tests.test_serialisable), 170inch_to_dxa() (in module openpyxl.utils.units), 279

inch_to_EMU() (in module openpyxl.utils.units), 279includeHiddenRowCol (open-

pyxl.workbook.views.CustomWorkbookViewattribute), 299

includePrintSettings (open-pyxl.workbook.views.CustomWorkbookViewattribute), 299

indent (openpyxl.drawing.text.ParagraphProperties at-tribute), 226

indent (openpyxl.styles.alignment.Alignment attribute),257

Index (class in openpyxl.worksheet.pivot), 327index (openpyxl.styles.colors.Color attribute), 261index (openpyxl.styles.colors.ColorList attribute), 261index (openpyxl.worksheet.dimensions.ColumnDimension

attribute), 315index (openpyxl.worksheet.dimensions.Dimension

attribute), 316index() (openpyxl.utils.indexed_list.IndexedList method),

278index() (openpyxl.workbook.workbook.Workbook

method), 302indexed (openpyxl.styles.colors.Color attribute), 261IndexedColorList (class in openpyxl.styles.colors), 261indexedColors (openpyxl.styles.colors.ColorList at-

tribute), 261IndexedList (class in openpyxl.utils.indexed_list), 278INLINE_STRING (open-

pyxl.reader.worksheet.WorkSheetParser at-tribute), 251

InlineFont (class in openpyxl.cell.text), 99InlineFont() (in module openpyxl.cell.tests.test_text), 95InnerShadowEffect (class in openpyxl.drawing.effect),

192innerShdw (openpyxl.drawing.effect.EffectList attribute),

191insertColumns (openpyxl.worksheet.protection.SheetProtection

attribute), 332insertHyperlinks (open-

pyxl.worksheet.protection.SheetProtectionattribute), 332

insertRow (openpyxl.worksheet.table.Table attribute),334

insertRows (openpyxl.worksheet.protection.SheetProtectionattribute), 332

insertRowShift (openpyxl.worksheet.table.Table at-tribute), 334

InsufficientCoordinatesException, 277Integer (class in openpyxl.descriptors.base), 171integer() (in module openpyxl.descriptors.tests.test_base),

167intercept (openpyxl.chart.trendline.Trendline attribute),

149internal_value (openpyxl.cell.cell.Cell attribute), 97

Index 407

openpyxl Documentation, Release 2.4.9

internal_value (openpyxl.cell.interface.AbstractCell at-tribute), 98

internal_value (openpyxl.cell.read_only.ReadOnlyCellattribute), 98

inv (openpyxl.drawing.colors.SystemColor attribute), 188InvalidFileException, 277invalidUrl (openpyxl.drawing.text.Hyperlink attribute),

224invertIfNegative (openpyxl.chart.marker.DataPoint

attribute), 135invertIfNegative (openpyxl.chart.series.Series attribute),

142invertIfNegative (openpyxl.chart.series.XYSeries at-

tribute), 144invGamma (openpyxl.drawing.colors.SystemColor

attribute), 188is_builtin() (in module openpyxl.styles.numbers), 268is_date (openpyxl.cell.cell.Cell attribute), 97is_date (openpyxl.cell.interface.AbstractCell attribute),

98is_date (openpyxl.cell.read_only.EmptyCell attribute), 98is_date (openpyxl.cell.read_only.ReadOnlyCell at-

tribute), 98is_date_format() (in module openpyxl.styles.numbers),

268is_external (openpyxl.workbook.defined_name.DefinedName

attribute), 289is_reserved (openpyxl.workbook.defined_name.DefinedName

attribute), 289ISerialisableFile (class in openpyxl.packaging.interface),

245isgenerator() (in module openpyxl.worksheet.worksheet),

343isgenerator() (in module openpyxl.writer.write_only), 349italic (openpyxl.styles.fonts.Font attribute), 265items() (openpyxl.compat.odict.OrderedDict method),

164iter_cols() (openpyxl.worksheet.worksheet.Worksheet

method), 341iter_rows() (openpyxl.worksheet.worksheet.Worksheet

method), 342iterate (openpyxl.workbook.properties.CalcProperties at-

tribute), 293iterateCount (openpyxl.workbook.properties.CalcProperties

attribute), 293iterateDelta (openpyxl.workbook.properties.CalcProperties

attribute), 293iteritems() (openpyxl.compat.odict.OrderedDict method),

164iterkeys() (openpyxl.compat.odict.OrderedDict method),

164iterparse() (in module openpyxl.xml.functions), 349itervalues() (openpyxl.compat.odict.OrderedDict

method), 164

Jjoin_lines (openpyxl.chart.pie_chart.ProjectedPieChart

attribute), 138justifyLastLine (openpyxl.styles.alignment.Alignment at-

tribute), 257justLastX (openpyxl.comments.comment_sheet.Properties

attribute), 162

Kkeep_links (openpyxl.workbook.workbook.Workbook at-

tribute), 302kern (openpyxl.drawing.text.CharacterProperties at-

tribute), 222key (openpyxl.styles.styleable.NamedStyleDescriptor at-

tribute), 268key (openpyxl.styles.styleable.NumberFormatDescriptor

attribute), 268keys() (openpyxl.compat.odict.OrderedDict method), 164KeywordAttribute() (in module open-

pyxl.descriptors.tests.test_serialisable), 170KeywordNode() (in module open-

pyxl.descriptors.tests.test_serialisable), 170keywords (openpyxl.packaging.core.DocumentProperties

attribute), 242kumimoji (openpyxl.drawing.text.CharacterProperties at-

tribute), 222kx (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 194kx (openpyxl.drawing.effect.ReflectionEffect attribute),

196ky (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 194ky (openpyxl.drawing.effect.ReflectionEffect attribute),

196

Ll (openpyxl.chart.print_settings.PageMargins attribute),

139l (openpyxl.drawing.fill.RelativeRect attribute), 201l (openpyxl.drawing.shapes.GeomRect attribute), 214label (openpyxl.worksheet.pivot.PivotSelection attribute),

329labelOnly (openpyxl.worksheet.pivot.PivotArea at-

tribute), 327labels (openpyxl.chart.series.Series attribute), 142lang (openpyxl.chart.chartspace.ChartSpace attribute),

123lang (openpyxl.drawing.text.CharacterProperties at-

tribute), 222language (openpyxl.packaging.core.DocumentProperties

attribute), 242last_modified_by (open-

pyxl.packaging.core.DocumentPropertiesattribute), 242

408 Index

openpyxl Documentation, Release 2.4.9

lastClr (openpyxl.drawing.colors.SystemColor attribute),189

lastEdited (openpyxl.workbook.properties.FileVersion at-tribute), 294

lastModifiedBy (openpyxl.packaging.core.DocumentPropertiesattribute), 242

lastPrinted (openpyxl.packaging.core.DocumentPropertiesattribute), 242

lat (openpyxl.drawing.shapes.SphereCoords attribute),217

latin (openpyxl.drawing.text.CharacterProperties at-tribute), 222

latinLnBrk (openpyxl.drawing.text.ParagraphPropertiesattribute), 226

Layout (class in openpyxl.chart.layout), 132layout (openpyxl.chart.axis.DisplayUnitsLabel attribute),

115layout (openpyxl.chart.chartspace.PlotArea attribute),

126layout (openpyxl.chart.legend.Legend attribute), 133layout (openpyxl.chart.title.Title attribute), 148layout (openpyxl.chart.trendline.TrendlineLabel at-

tribute), 149layoutTarget (openpyxl.chart.layout.ManualLayout at-

tribute), 132lblAlgn (openpyxl.chart.axis.TextAxis attribute), 119lblOffset (openpyxl.chart.axis.DateAxis attribute), 114lblOffset (openpyxl.chart.axis.TextAxis attribute), 119left (openpyxl.chart.print_settings.PageMargins at-

tribute), 139left (openpyxl.drawing.fill.RelativeRect attribute), 201left (openpyxl.styles.borders.Border attribute), 258left (openpyxl.styles.fills.GradientFill attribute), 263left (openpyxl.worksheet.header_footer.HeaderFooterItem

attribute), 323left (openpyxl.worksheet.page.PageMargins attribute),

324leftFooterEvenPages (open-

pyxl.chartsheet.relation.DrawingHF attribute),156

leftFooterFirstPage (open-pyxl.chartsheet.relation.DrawingHF attribute),156

leftFooterOddPages (open-pyxl.chartsheet.relation.DrawingHF attribute),156

leftHeaderEvenPages (open-pyxl.chartsheet.relation.DrawingHF attribute),157

leftHeaderFirstPage (open-pyxl.chartsheet.relation.DrawingHF attribute),157

leftHeaderOddPages (open-pyxl.chartsheet.relation.DrawingHF attribute),

157Legend (class in openpyxl.chart.legend), 133legend (openpyxl.chart.chartspace.ChartContainer

attribute), 122Legend() (in module openpyxl.chart.tests.test_legend),

106LegendEntry (class in openpyxl.chart.legend), 133legendEntry (openpyxl.chart.legend.Legend attribute),

133LegendEntry() (in module open-

pyxl.chart.tests.test_legend), 106legendPos (openpyxl.chart.legend.Legend attribute), 133len (openpyxl.drawing.line.LineEndProperties attribute),

210Length (class in openpyxl.descriptors.base), 172length (openpyxl.drawing.line.DashStop attribute), 209Length() (in module open-

pyxl.descriptors.tests.test_base), 165lfe (openpyxl.chartsheet.relation.DrawingHF attribute),

157lff (openpyxl.chartsheet.relation.DrawingHF attribute),

157lfo (openpyxl.chartsheet.relation.DrawingHF attribute),

157lhe (openpyxl.chartsheet.relation.DrawingHF attribute),

157lhf (openpyxl.chartsheet.relation.DrawingHF attribute),

157lho (openpyxl.chartsheet.relation.DrawingHF attribute),

157LightRig (class in openpyxl.drawing.shapes), 214lightRig (openpyxl.drawing.shapes.Scene3D attribute),

216lim (openpyxl.drawing.line.LineJoinMiterProperties at-

tribute), 210lin (openpyxl.drawing.fill.GradientFillProperties at-

tribute), 199line (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145line3DChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 126linear (openpyxl.drawing.fill.GradientFillProperties at-

tribute), 199LinearShadeProperties (class in openpyxl.drawing.fill),

200LineBreak (class in openpyxl.drawing.text), 224LineChart (class in openpyxl.chart.line_chart), 134lineChart (openpyxl.chart.chartspace.PlotArea attribute),

126LineChart() (in module open-

pyxl.chart.tests.test_line_chart), 107LineChart3D (class in openpyxl.chart.line_chart), 134LineChart3D() (in module open-

pyxl.chart.tests.test_line_chart), 107

Index 409

openpyxl Documentation, Release 2.4.9

LineEndProperties (class in openpyxl.drawing.line), 210LineEndProperties() (in module open-

pyxl.drawing.tests.test_line), 182LineJoinMiterProperties (class in openpyxl.drawing.line),

210LineJoinMiterProperties() (in module open-

pyxl.drawing.tests.test_line), 182LineProperties (class in openpyxl.drawing.line), 210LineProperties() (in module open-

pyxl.drawing.tests.test_line), 182Lines (openpyxl.packaging.extended.ExtendedProperties

attribute), 244link (openpyxl.drawing.fill.Blip attribute), 198LinksUpToDate (openpyxl.packaging.extended.ExtendedProperties

attribute), 244lIns (openpyxl.drawing.text.RichTextProperties at-

tribute), 228list() (in module openpyxl.utils.tests.test_indexed_list),

275ListStyle (class in openpyxl.drawing.text), 224LITERAL (openpyxl.formula.tokenizer.Token attribute),

237ln (openpyxl.chart.shapes.GraphicalProperties attribute),

145ln (openpyxl.drawing.text.CharacterProperties attribute),

222lnRef (openpyxl.drawing.shapes.ShapeStyle attribute),

217lnSpc (openpyxl.drawing.text.ParagraphProperties

attribute), 226lnSpcReduction (openpyxl.drawing.text.TextNormalAutofit

attribute), 230load_workbook() (in module openpyxl.reader.excel), 250load_workbook() (in module open-

pyxl.reader.tests.test_excel), 248localname() (in module openpyxl.xml.functions), 349localnames() (openpyxl.workbook.defined_name.DefinedNameList

method), 290localSheetId (openpyxl.workbook.defined_name.DefinedName

attribute), 289location (openpyxl.worksheet.hyperlink.Hyperlink

attribute), 323lock_revision (openpyxl.workbook.protection.WorkbookProtection

attribute), 296lock_structure (openpyxl.workbook.protection.WorkbookProtection

attribute), 296lock_windows (openpyxl.workbook.protection.WorkbookProtection

attribute), 296locked (openpyxl.comments.comment_sheet.Properties

attribute), 162locked (openpyxl.styles.protection.Protection attribute),

268lockRevision (openpyxl.workbook.protection.WorkbookProtection

attribute), 296

lockStructure (openpyxl.workbook.protection.WorkbookProtectionattribute), 296

lockText (openpyxl.comments.comment_sheet.Propertiesattribute), 162

lockWindows (openpyxl.workbook.protection.WorkbookProtectionattribute), 296

logBase (openpyxl.chart.axis.Scaling attribute), 117LOGICAL (openpyxl.formula.tokenizer.Token attribute),

237lon (openpyxl.drawing.shapes.SphereCoords attribute),

217longFileNames (openpyxl.workbook.web.WebPublishing

attribute), 301lowestEdited (openpyxl.workbook.properties.FileVersion

attribute), 294lstStyle (openpyxl.chart.text.RichText attribute), 147lum (openpyxl.drawing.colors.HSLColor attribute), 187lum (openpyxl.drawing.colors.SystemColor attribute),

189lum (openpyxl.drawing.effect.HSLEffect attribute), 192lum (openpyxl.drawing.fill.Blip attribute), 198LuminanceEffect (class in openpyxl.drawing.effect), 193lumMod (openpyxl.drawing.colors.SystemColor at-

tribute), 189lumOff (openpyxl.drawing.colors.SystemColor attribute),

189lvl (openpyxl.drawing.text.ParagraphProperties attribute),

226lvl1pPr (openpyxl.drawing.text.ListStyle attribute), 224lvl2pPr (openpyxl.drawing.text.ListStyle attribute), 224lvl3pPr (openpyxl.drawing.text.ListStyle attribute), 224lvl4pPr (openpyxl.drawing.text.ListStyle attribute), 224lvl5pPr (openpyxl.drawing.text.ListStyle attribute), 224lvl6pPr (openpyxl.drawing.text.ListStyle attribute), 224lvl7pPr (openpyxl.drawing.text.ListStyle attribute), 225lvl8pPr (openpyxl.drawing.text.ListStyle attribute), 225lvl9pPr (openpyxl.drawing.text.ListStyle attribute), 225lxml_available() (in module openpyxl.xml), 349lxml_env_set() (in module openpyxl.xml), 349lxml_write_cell() (in module open-

pyxl.writer.etree_worksheet), 347lxml_write_cell() (in module open-

pyxl.writer.tests.test_worksheet), 345

Mmacro (openpyxl.drawing.graphic.GraphicFrame at-

tribute), 203macro (openpyxl.drawing.graphic.PictureFrame at-

tribute), 207macro (openpyxl.drawing.graphic.Shape attribute), 208majorGridlines (openpyxl.chart.axis.DateAxis attribute),

114majorGridlines (openpyxl.chart.axis.NumericAxis

attribute), 116

410 Index

openpyxl Documentation, Release 2.4.9

majorGridlines (openpyxl.chart.axis.SeriesAxis at-tribute), 118

majorGridlines (openpyxl.chart.axis.TextAxis attribute),119

majorTickMark (openpyxl.chart.axis.DateAxis attribute),114

majorTickMark (openpyxl.chart.axis.NumericAxisattribute), 116

majorTickMark (openpyxl.chart.axis.SeriesAxis at-tribute), 118

majorTickMark (openpyxl.chart.axis.TextAxis attribute),119

majorTimeUnit (openpyxl.chart.axis.DateAxis attribute),114

majorUnit (openpyxl.chart.axis.DateAxis attribute), 115majorUnit (openpyxl.chart.axis.NumericAxis attribute),

116make() (in module openpyxl.develop.classify), 177make_operand() (openpyxl.formula.tokenizer.Token class

method), 237make_separator() (openpyxl.formula.tokenizer.Token

class method), 237make_subexp() (openpyxl.formula.tokenizer.Token class

method), 238man (openpyxl.worksheet.pagebreak.Break attribute),

326Manager (openpyxl.packaging.extended.ExtendedProperties

attribute), 244Manifest (class in openpyxl.packaging.manifest), 245Manifest() (in module open-

pyxl.packaging.tests.test_manifest), 240manualBreakCount (open-

pyxl.worksheet.pagebreak.PageBreak at-tribute), 327

ManualLayout (class in openpyxl.chart.layout), 132manualLayout (openpyxl.chart.layout.Layout attribute),

132ManualLayout() (in module open-

pyxl.chart.tests.test_layout), 106mapId (openpyxl.worksheet.table.XMLColumnProps at-

tribute), 337MARGIN_BOTTOM (openpyxl.drawing.shape.Shape at-

tribute), 211MARGIN_LEFT (openpyxl.drawing.shape.Shape at-

tribute), 211Marker (class in openpyxl.chart.marker), 136marker (openpyxl.chart.chartspace.PivotFormat at-

tribute), 125marker (openpyxl.chart.line_chart.LineChart attribute),

134marker (openpyxl.chart.line_chart.LineChart3D at-

tribute), 135marker (openpyxl.chart.marker.DataPoint attribute), 135marker (openpyxl.chart.series.Series attribute), 142

marker (openpyxl.chart.series.XYSeries attribute), 144Marker() (in module openpyxl.chart.tests.test_marker),

107marL (openpyxl.drawing.text.ParagraphProperties at-

tribute), 227marR (openpyxl.drawing.text.ParagraphProperties

attribute), 227MatchPattern (class in openpyxl.descriptors.base), 172Max (class in openpyxl.descriptors.base), 172max (openpyxl.chart.axis.Scaling attribute), 117max (openpyxl.chart.descriptors.NestedGapAmount at-

tribute), 129max (openpyxl.chart.descriptors.NestedOverlap at-

tribute), 129max (openpyxl.descriptors.excel.TextPoint attribute), 174max (openpyxl.worksheet.dimensions.ColumnDimension

attribute), 315max (openpyxl.worksheet.pagebreak.Break attribute),

326max (openpyxl.worksheet.pivot.PivotSelection attribute),

329max_col (openpyxl.chart.reference.Reference attribute),

140max_column (openpyxl.worksheet.read_only.ReadOnlyWorksheet

attribute), 333max_column (openpyxl.worksheet.worksheet.Worksheet

attribute), 342max_row (openpyxl.chart.reference.Reference attribute),

140max_row (openpyxl.worksheet.read_only.ReadOnlyWorksheet

attribute), 333max_row (openpyxl.worksheet.worksheet.Worksheet at-

tribute), 342maximized (openpyxl.workbook.views.CustomWorkbookView

attribute), 299maximum() (in module open-

pyxl.descriptors.tests.test_base), 167maxLength (openpyxl.formatting.rule.DataBar attribute),

233maxSubtotal (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328maxVal (openpyxl.worksheet.filters.DynamicFilter

attribute), 319maxValIso (openpyxl.worksheet.filters.DynamicFilter at-

tribute), 319merge_cells() (openpyxl.worksheet.worksheet.Worksheet

method), 342MERGE_TAG (openpyxl.reader.worksheet.WorkSheetParser

attribute), 251MergeCell (class in openpyxl.worksheet.merge), 324mergeCell (openpyxl.worksheet.merge.MergeCells at-

tribute), 324MergeCells (class in openpyxl.worksheet.merge), 324merged_cell_ranges (open-

Index 411

openpyxl Documentation, Release 2.4.9

pyxl.worksheet.worksheet.Worksheet at-tribute), 342

merged_cells (openpyxl.worksheet.worksheet.Worksheetattribute), 342

mergeInterval (openpyxl.workbook.views.CustomWorkbookViewattribute), 299

meta (openpyxl.drawing.graphic.Shape attribute), 208MetaSerialisable (class in openpyxl.descriptors), 176MetaStrict (class in openpyxl.descriptors), 176mime_type (openpyxl.chartsheet.chartsheet.Chartsheet

attribute), 153mime_type (openpyxl.comments.comment_sheet.CommentSheet

attribute), 161mime_type (openpyxl.drawing.spreadsheet_drawing.SpreadsheetDrawing

attribute), 220mime_type (openpyxl.workbook.external_link.external.ExternalLink

attribute), 282mime_type (openpyxl.workbook.workbook.Workbook

attribute), 302mime_type (openpyxl.worksheet.table.Table attribute),

334mime_type (openpyxl.worksheet.worksheet.Worksheet

attribute), 342mime_type (openpyxl.writer.write_only.WriteOnlyWorksheet

attribute), 348Min (class in openpyxl.descriptors.base), 172min (openpyxl.chart.axis.Scaling attribute), 117min (openpyxl.chart.descriptors.NestedGapAmount at-

tribute), 129min (openpyxl.chart.descriptors.NestedOverlap at-

tribute), 129min (openpyxl.descriptors.excel.TextPoint attribute), 174min (openpyxl.worksheet.dimensions.ColumnDimension

attribute), 315min (openpyxl.worksheet.pagebreak.Break attribute), 326min (openpyxl.worksheet.pivot.PivotSelection attribute),

329min_col (openpyxl.chart.reference.Reference attribute),

140min_column (openpyxl.worksheet.read_only.ReadOnlyWorksheet

attribute), 333min_column (openpyxl.worksheet.worksheet.Worksheet

attribute), 342min_max() (in module open-

pyxl.descriptors.tests.test_base), 167min_row (openpyxl.chart.reference.Reference attribute),

140min_row (openpyxl.worksheet.read_only.ReadOnlyWorksheet

attribute), 333min_row (openpyxl.worksheet.worksheet.Worksheet at-

tribute), 343minimized (openpyxl.workbook.views.BookView at-

tribute), 298minimized (openpyxl.workbook.views.CustomWorkbookView

attribute), 299minimum() (in module open-

pyxl.descriptors.tests.test_base), 167minLength (openpyxl.formatting.rule.DataBar attribute),

233MinMax (class in openpyxl.descriptors.base), 172minorGridlines (openpyxl.chart.axis.DateAxis attribute),

115minorGridlines (openpyxl.chart.axis.NumericAxis

attribute), 116minorGridlines (openpyxl.chart.axis.SeriesAxis at-

tribute), 118minorGridlines (openpyxl.chart.axis.TextAxis attribute),

119minorTickMark (openpyxl.chart.axis.DateAxis attribute),

115minorTickMark (openpyxl.chart.axis.NumericAxis at-

tribute), 116minorTickMark (openpyxl.chart.axis.SeriesAxis at-

tribute), 118minorTickMark (openpyxl.chart.axis.TextAxis attribute),

119minorTimeUnit (openpyxl.chart.axis.DateAxis attribute),

115minorUnit (openpyxl.chart.axis.DateAxis attribute), 115minorUnit (openpyxl.chart.axis.NumericAxis attribute),

117minSubtotal (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328minus (openpyxl.chart.error_bar.ErrorBars attribute), 130minute (openpyxl.worksheet.filters.DateGroupItem at-

tribute), 319miter (openpyxl.drawing.line.LineProperties attribute),

210MMClips (openpyxl.packaging.extended.ExtendedProperties

attribute), 244modified (openpyxl.packaging.core.DocumentProperties

attribute), 242month (openpyxl.worksheet.filters.DateGroupItem

attribute), 319moveWithCells (openpyxl.comments.comment_sheet.ObjectAnchor

attribute), 161MRUColorList (class in openpyxl.styles.colors), 262mruColors (openpyxl.styles.colors.ColorList attribute),

261

Nname (openpyxl.chart.chartspace.PivotSource attribute),

125name (openpyxl.chart.trendline.Trendline attribute), 149name (openpyxl.drawing.effect.EffectContainer at-

tribute), 191name (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205

412 Index

openpyxl Documentation, Release 2.4.9

name (openpyxl.drawing.shapes.GeomGuide attribute),214

name (openpyxl.drawing.text.EmbeddedWAVAudioFileattribute), 223

name (openpyxl.drawing.text.GeomGuide attribute), 223name (openpyxl.styles.fonts.Font attribute), 265name (openpyxl.styles.named_styles.NamedStyle at-

tribute), 267name (openpyxl.styles.table.TableStyle attribute), 270name (openpyxl.workbook.defined_name.DefinedName

attribute), 289name (openpyxl.workbook.external_link.external.ExternalDefinedName

attribute), 281name (openpyxl.workbook.function_group.FunctionGroup

attribute), 290name (openpyxl.workbook.parser.ChildSheet attribute),

290name (openpyxl.workbook.smart_tags.SmartTag at-

tribute), 297name (openpyxl.workbook.views.CustomWorkbookView

attribute), 299name (openpyxl.worksheet.table.Table attribute), 334name (openpyxl.worksheet.table.TableColumn attribute),

335name (openpyxl.worksheet.table.TableStyleInfo at-

tribute), 336named_styles (openpyxl.workbook.workbook.Workbook

attribute), 302NamedRangeException, 277NamedStyle (class in openpyxl.styles.named_styles), 266NamedStyle() (in module open-

pyxl.styles.tests.test_named_style), 254NamedStyleDescriptor (class in open-

pyxl.styles.styleable), 268NamedStyleList (class in openpyxl.styles.named_styles),

267NamedStyleList() (in module open-

pyxl.styles.tests.test_named_style), 254names (openpyxl.styles.named_styles.NamedStyleList

attribute), 267namespace (openpyxl.descriptors.excel.Relation at-

tribute), 173namespace (openpyxl.descriptors.serialisable.Serialisable

attribute), 176namespace (openpyxl.drawing.colors.ColorChoice

attribute), 185namespace (openpyxl.drawing.fill.Blip attribute), 198namespace (openpyxl.drawing.fill.PatternFillProperties

attribute), 200namespace (openpyxl.drawing.fill.RelativeRect attribute),

201namespace (openpyxl.drawing.fill.StretchInfoProperties

attribute), 201namespace (openpyxl.drawing.graphic.ChartRelation at-

tribute), 202namespace (openpyxl.drawing.graphic.GraphicData at-

tribute), 202namespace (openpyxl.drawing.graphic.GraphicObject at-

tribute), 203namespace (openpyxl.drawing.graphic.PictureLocking

attribute), 207namespace (openpyxl.drawing.line.DashStop attribute),

209namespace (openpyxl.drawing.line.LineEndProperties at-

tribute), 210namespace (openpyxl.drawing.line.LineJoinMiterProperties

attribute), 210namespace (openpyxl.drawing.line.LineProperties

attribute), 211namespace (openpyxl.drawing.shapes.PresetGeometry2D

attribute), 215namespace (openpyxl.drawing.text.CharacterProperties

attribute), 222namespace (openpyxl.drawing.text.Font attribute), 223namespace (openpyxl.drawing.text.ListStyle attribute),

225namespace (openpyxl.drawing.text.Paragraph attribute),

225namespace (openpyxl.drawing.text.ParagraphProperties

attribute), 227namespace (openpyxl.drawing.text.RegularTextRun at-

tribute), 227namespace (openpyxl.drawing.text.RichTextProperties

attribute), 228namespace (openpyxl.packaging.core.DocumentProperties

attribute), 242namespaced() (in module open-

pyxl.descriptors.namespace), 174namespaceUri (openpyxl.workbook.smart_tags.SmartTag

attribute), 297Nested (class in openpyxl.descriptors.nested), 174nested (openpyxl.descriptors.base.Typed attribute), 173nested (openpyxl.descriptors.nested.Nested attribute),

174NestedBool (class in openpyxl.descriptors.nested), 174NestedDateTime (class in openpyxl.packaging.core), 243NestedFloat (class in openpyxl.descriptors.nested), 174NestedGapAmount (class in openpyxl.chart.descriptors),

129NestedInteger (class in openpyxl.descriptors.nested), 174NestedMinMax (class in openpyxl.descriptors.nested),

174NestedNoneSet (class in openpyxl.descriptors.nested),

174NestedOverlap (class in openpyxl.chart.descriptors), 129NestedSequence (class in open-

pyxl.descriptors.sequence), 175NestedSequence() (in module open-

Index 413

openpyxl Documentation, Release 2.4.9

pyxl.descriptors.tests.test_sequence), 169NestedSet (class in openpyxl.descriptors.nested), 174NestedString (class in openpyxl.descriptors.nested), 174NestedText (class in openpyxl.descriptors.nested), 175NestedText() (in module open-

pyxl.descriptors.tests.test_nested), 168NestedValue (class in openpyxl.descriptors.nested), 175NestedValue() (in module open-

pyxl.descriptors.tests.test_nested), 168noAdjustHandles (openpyxl.drawing.fill.Blip attribute),

198noAdjustHandles (open-

pyxl.drawing.graphic.PictureLocking at-tribute), 207

noAutofit (openpyxl.drawing.text.RichTextProperties at-tribute), 228

noChangeArrowheads (openpyxl.drawing.fill.Blip at-tribute), 198

noChangeArrowheads (open-pyxl.drawing.graphic.GroupLocking attribute),204

noChangeArrowheads (open-pyxl.drawing.graphic.PictureLocking at-tribute), 207

noChangeAspect (openpyxl.drawing.fill.Blip attribute),198

noChangeAspect (open-pyxl.drawing.graphic.GraphicFrameLockingattribute), 203

noChangeAspect (open-pyxl.drawing.graphic.GroupLocking attribute),204

noChangeAspect (open-pyxl.drawing.graphic.PictureLocking at-tribute), 207

noChangeShapeType (openpyxl.drawing.fill.Blip at-tribute), 198

noChangeShapeType (open-pyxl.drawing.graphic.PictureLocking at-tribute), 207

noCrop (openpyxl.drawing.graphic.PictureLocking at-tribute), 208

Node() (in module open-pyxl.descriptors.tests.test_serialisable), 170

noDrilldown (openpyxl.drawing.graphic.GraphicFrameLockingattribute), 203

noEditPoints (openpyxl.drawing.fill.Blip attribute), 198noEditPoints (openpyxl.drawing.graphic.PictureLocking

attribute), 208noEndCap (openpyxl.chart.error_bar.ErrorBars attribute),

130noFill (openpyxl.chart.shapes.GraphicalProperties

attribute), 145noFill (openpyxl.drawing.line.LineProperties attribute),

211noFill (openpyxl.drawing.text.CharacterProperties

attribute), 222noGrp (openpyxl.drawing.fill.Blip attribute), 198noGrp (openpyxl.drawing.graphic.GraphicFrameLocking

attribute), 203noGrp (openpyxl.drawing.graphic.GroupLocking at-

tribute), 204noGrp (openpyxl.drawing.graphic.PictureLocking at-

tribute), 208noMove (openpyxl.drawing.fill.Blip attribute), 198noMove (openpyxl.drawing.graphic.GraphicFrameLocking

attribute), 203noMove (openpyxl.drawing.graphic.GroupLocking at-

tribute), 204noMove (openpyxl.drawing.graphic.PictureLocking at-

tribute), 208noMultiLvlLbl (openpyxl.chart.axis.TextAxis attribute),

119NoneSet (class in openpyxl.descriptors.base), 172NonVisualConnectorProperties (class in open-

pyxl.drawing.graphic), 205NonVisualDrawingProps (class in open-

pyxl.drawing.graphic), 205NonVisualDrawingProps() (in module open-

pyxl.drawing.tests.test_graphic), 180NonVisualDrawingShapeProps (class in open-

pyxl.drawing.graphic), 205NonVisualGraphicFrame (class in open-

pyxl.drawing.graphic), 206NonVisualGraphicFrame() (in module open-

pyxl.drawing.tests.test_graphic), 180NonVisualGraphicFrameProperties (class in open-

pyxl.drawing.graphic), 206NonVisualGraphicFrameProperties() (in module open-

pyxl.drawing.tests.test_graphic), 180NonVisualGroupDrawingShapeProps (class in open-

pyxl.drawing.graphic), 206NonVisualGroupShape (class in open-

pyxl.drawing.graphic), 206NonVisualPictureProperties (class in open-

pyxl.drawing.graphic), 206NonVisualPictureProperties() (in module open-

pyxl.drawing.tests.test_graphic), 180noProof (openpyxl.drawing.text.CharacterProperties at-

tribute), 222noResize (openpyxl.drawing.fill.Blip attribute), 198noResize (openpyxl.drawing.graphic.GraphicFrameLocking

attribute), 203noResize (openpyxl.drawing.graphic.GroupLocking at-

tribute), 204noResize (openpyxl.drawing.graphic.PictureLocking at-

tribute), 208norm (openpyxl.drawing.shapes.Backdrop attribute), 213

414 Index

openpyxl Documentation, Release 2.4.9

normalizeH (openpyxl.drawing.text.CharacterPropertiesattribute), 222

normAutofit (openpyxl.drawing.text.RichTextPropertiesattribute), 228

noRot (openpyxl.drawing.fill.Blip attribute), 198noRot (openpyxl.drawing.graphic.GroupLocking at-

tribute), 204noRot (openpyxl.drawing.graphic.PictureLocking at-

tribute), 208noSelect (openpyxl.drawing.fill.Blip attribute), 198noSelect (openpyxl.drawing.graphic.GraphicFrameLocking

attribute), 203noSelect (openpyxl.drawing.graphic.GroupLocking at-

tribute), 204noSelect (openpyxl.drawing.graphic.PictureLocking at-

tribute), 208Notes (openpyxl.packaging.extended.ExtendedProperties

attribute), 244noUngrp (openpyxl.drawing.graphic.GroupLocking at-

tribute), 204NUMBER (openpyxl.formula.tokenizer.Token attribute),

237number_format (openpyxl.cell.interface.AbstractCell at-

tribute), 98number_format (openpyxl.cell.read_only.EmptyCell at-

tribute), 98number_format (openpyxl.cell.read_only.ReadOnlyCell

attribute), 98number_format (openpyxl.styles.named_styles.NamedStyle

attribute), 267number_format (openpyxl.styles.styleable.StyleableObject

attribute), 269number_formats (openpyxl.styles.stylesheet.Stylesheet

attribute), 270NumberFormat (class in openpyxl.styles.numbers), 267NumberFormatDescriptor (class in open-

pyxl.chart.descriptors), 129NumberFormatDescriptor (class in open-

pyxl.styles.numbers), 267NumberFormatDescriptor (class in open-

pyxl.styles.styleable), 268NumberFormatList (class in openpyxl.styles.numbers),

267numCache (openpyxl.chart.data_source.NumRef at-

tribute), 128numCol (openpyxl.drawing.text.RichTextProperties at-

tribute), 228NumData (class in openpyxl.chart.data_source), 127NumDataSource (class in openpyxl.chart.data_source),

127NumericAxis (class in openpyxl.chart.axis), 116NumericAxis() (in module open-

pyxl.chart.tests.test_axis), 102NumFmt (class in openpyxl.chart.data_source), 128

numFmt (openpyxl.chart.axis.DateAxis attribute), 115numFmt (openpyxl.chart.axis.NumericAxis attribute),

117numFmt (openpyxl.chart.axis.SeriesAxis attribute), 118numFmt (openpyxl.chart.axis.TextAxis attribute), 119numFmt (openpyxl.chart.label.DataLabel attribute), 130numFmt (openpyxl.chart.label.DataLabelList attribute),

131numFmt (openpyxl.chart.trendline.TrendlineLabel

attribute), 149numFmt (openpyxl.styles.differential.DifferentialStyle

attribute), 262numFmt (openpyxl.styles.numbers.NumberFormatList

attribute), 268numFmtId (openpyxl.styles.cell_style.CellStyle at-

tribute), 260numFmtId (openpyxl.styles.cell_style.StyleArray at-

tribute), 261numFmtId (openpyxl.styles.numbers.NumberFormat at-

tribute), 267numFmts (openpyxl.styles.stylesheet.Stylesheet at-

tribute), 270numLit (openpyxl.chart.data_source.AxDataSource at-

tribute), 127numLit (openpyxl.chart.data_source.NumDataSource at-

tribute), 127NumRef (class in openpyxl.chart.data_source), 128numRef (openpyxl.chart.data_source.AxDataSource at-

tribute), 127numRef (openpyxl.chart.data_source.NumDataSource at-

tribute), 128NumRef() (in module open-

pyxl.chart.tests.test_data_source), 105NumVal (class in openpyxl.chart.data_source), 128nvGraphicFramePr (open-

pyxl.drawing.graphic.GraphicFrame attribute),203

nvGrpSpPr (openpyxl.drawing.graphic.GroupShape at-tribute), 204

nvPicPr (openpyxl.drawing.graphic.PictureFrame at-tribute), 207

nvSpPr (openpyxl.drawing.graphic.Shape attribute), 208

OObjectAnchor (class in open-

pyxl.comments.comment_sheet), 161objects (openpyxl.chartsheet.protection.ChartsheetProtection

attribute), 154objects (openpyxl.worksheet.protection.SheetProtection

attribute), 332oddFooter (openpyxl.worksheet.header_footer.HeaderFooter

attribute), 322oddHeader (openpyxl.worksheet.header_footer.HeaderFooter

attribute), 323

Index 415

openpyxl Documentation, Release 2.4.9

off (openpyxl.drawing.graphic.GroupTransform2D at-tribute), 205

off (openpyxl.drawing.shapes.Transform2D attribute),218

offset (openpyxl.worksheet.pivot.PivotArea attribute),327

offset() (openpyxl.cell.cell.Cell method), 97offset() (openpyxl.cell.interface.AbstractCell method), 98ofPieChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 126ofPieType (openpyxl.chart.pie_chart.ProjectedPieChart

attribute), 138oleSize (openpyxl.workbook.parser.WorkbookPackage

attribute), 292OneCellAnchor (class in open-

pyxl.drawing.spreadsheet_drawing), 219oneCellAnchor (openpyxl.drawing.spreadsheet_drawing.SpreadsheetDrawing

attribute), 220OneCellAnchor() (in module open-

pyxl.drawing.tests.test_spreadsheet_drawing),184

onlySync (openpyxl.workbook.views.CustomWorkbookViewattribute), 299

OP_IN (openpyxl.formula.tokenizer.Token attribute), 237OP_POST (openpyxl.formula.tokenizer.Token attribute),

237OP_PRE (openpyxl.formula.tokenizer.Token attribute),

237OPEN (openpyxl.formula.tokenizer.Token attribute), 237openpyxl (module), 1, 350openpyxl.cell (module), 101openpyxl.cell.cell (module), 96openpyxl.cell.interface (module), 97openpyxl.cell.read_only (module), 98openpyxl.cell.tests (module), 96openpyxl.cell.tests.test_cell (module), 93openpyxl.cell.tests.test_read_only (module), 94openpyxl.cell.tests.test_text (module), 95openpyxl.cell.text (module), 99openpyxl.chart (module), 150openpyxl.chart.area_chart (module), 113openpyxl.chart.axis (module), 114openpyxl.chart.bar_chart (module), 119openpyxl.chart.bubble_chart (module), 121openpyxl.chart.chartspace (module), 122openpyxl.chart.data_source (module), 127openpyxl.chart.descriptors (module), 129openpyxl.chart.error_bar (module), 129openpyxl.chart.label (module), 130openpyxl.chart.layout (module), 132openpyxl.chart.legend (module), 133openpyxl.chart.line_chart (module), 134openpyxl.chart.marker (module), 135openpyxl.chart.picture (module), 136

openpyxl.chart.pie_chart (module), 136openpyxl.chart.print_settings (module), 138openpyxl.chart.radar_chart (module), 139openpyxl.chart.reader (module), 140openpyxl.chart.reference (module), 140openpyxl.chart.scatter_chart (module), 141openpyxl.chart.series (module), 141openpyxl.chart.series_factory (module), 144openpyxl.chart.shapes (module), 144openpyxl.chart.stock_chart (module), 145openpyxl.chart.surface_chart (module), 146openpyxl.chart.tests (module), 113openpyxl.chart.tests.conftest (module), 101openpyxl.chart.tests.test_area_chart (module), 101openpyxl.chart.tests.test_axis (module), 102openpyxl.chart.tests.test_bar_chart (module), 103openpyxl.chart.tests.test_bubble_chart (module), 103openpyxl.chart.tests.test_chart (module), 103openpyxl.chart.tests.test_chartspace (module), 104openpyxl.chart.tests.test_data_source (module), 105openpyxl.chart.tests.test_error_bar (module), 106openpyxl.chart.tests.test_label (module), 106openpyxl.chart.tests.test_layout (module), 106openpyxl.chart.tests.test_legend (module), 106openpyxl.chart.tests.test_line_chart (module), 107openpyxl.chart.tests.test_marker (module), 107openpyxl.chart.tests.test_picture (module), 107openpyxl.chart.tests.test_pie_chart (module), 108openpyxl.chart.tests.test_print (module), 108openpyxl.chart.tests.test_radar_chart (module), 109openpyxl.chart.tests.test_reader (module), 109openpyxl.chart.tests.test_reference (module), 109openpyxl.chart.tests.test_scatter_chart (module), 109openpyxl.chart.tests.test_series (module), 109openpyxl.chart.tests.test_series_factory (module), 110openpyxl.chart.tests.test_shapes (module), 111openpyxl.chart.tests.test_stock_chart (module), 111openpyxl.chart.tests.test_surface_chart (module), 111openpyxl.chart.tests.test_text (module), 112openpyxl.chart.tests.test_title (module), 112openpyxl.chart.tests.test_trendline (module), 112openpyxl.chart.tests.test_updown_bars (module), 112openpyxl.chart.text (module), 147openpyxl.chart.title (module), 148openpyxl.chart.trendline (module), 148openpyxl.chart.updown_bars (module), 150openpyxl.chartsheet (module), 159openpyxl.chartsheet.chartsheet (module), 152openpyxl.chartsheet.custom (module), 153openpyxl.chartsheet.properties (module), 154openpyxl.chartsheet.protection (module), 154openpyxl.chartsheet.publish (module), 155openpyxl.chartsheet.relation (module), 156openpyxl.chartsheet.tests (module), 152

416 Index

openpyxl Documentation, Release 2.4.9

openpyxl.chartsheet.tests.test_chartsheet (module), 150openpyxl.chartsheet.tests.test_custom (module), 151openpyxl.chartsheet.tests.test_properties (module), 151openpyxl.chartsheet.tests.test_protection (module), 151openpyxl.chartsheet.tests.test_publish (module), 151openpyxl.chartsheet.tests.test_relation (module), 152openpyxl.chartsheet.tests.test_views (module), 152openpyxl.chartsheet.views (module), 158openpyxl.comments (module), 163openpyxl.comments.author (module), 160openpyxl.comments.comment_sheet (module), 160openpyxl.comments.comments (module), 162openpyxl.comments.shape_writer (module), 163openpyxl.comments.tests (module), 160openpyxl.comments.tests.conftest (module), 159openpyxl.comments.tests.test_author (module), 159openpyxl.comments.tests.test_comment (module), 159openpyxl.comments.tests.test_comment_reader (mod-

ule), 159openpyxl.comments.tests.test_comment_sheet (module),

159openpyxl.comments.tests.test_shape_writer (module),

160openpyxl.compat (module), 165openpyxl.compat.abc (module), 164openpyxl.compat.numbers (module), 164openpyxl.compat.odict (module), 164openpyxl.compat.singleton (module), 164openpyxl.compat.strings (module), 165openpyxl.compat.tests (module), 164openpyxl.compat.tests.test_compat (module), 163openpyxl.conftest (module), 350openpyxl.descriptors (module), 176openpyxl.descriptors.base (module), 171openpyxl.descriptors.excel (module), 173openpyxl.descriptors.namespace (module), 174openpyxl.descriptors.nested (module), 174openpyxl.descriptors.sequence (module), 175openpyxl.descriptors.serialisable (module), 176openpyxl.descriptors.slots (module), 176openpyxl.descriptors.tests (module), 171openpyxl.descriptors.tests.test_base (module), 165openpyxl.descriptors.tests.test_excel (module), 167openpyxl.descriptors.tests.test_namespace (module), 168openpyxl.descriptors.tests.test_nested (module), 168openpyxl.descriptors.tests.test_sequence (module), 169openpyxl.descriptors.tests.test_serialisable (module), 170openpyxl.develop (module), 177openpyxl.develop.classify (module), 177openpyxl.develop.stub (module), 177openpyxl.develop.tests (module), 177openpyxl.develop.tests.test_classify (module), 176openpyxl.drawing (module), 230openpyxl.drawing.colors (module), 185

openpyxl.drawing.drawing (module), 189openpyxl.drawing.effect (module), 190openpyxl.drawing.fill (module), 197openpyxl.drawing.graphic (module), 202openpyxl.drawing.image (module), 209openpyxl.drawing.line (module), 209openpyxl.drawing.shape (module), 211openpyxl.drawing.shapes (module), 212openpyxl.drawing.spreadsheet_drawing (module), 218openpyxl.drawing.tests (module), 185openpyxl.drawing.tests.conftest (module), 177openpyxl.drawing.tests.test_color (module), 178openpyxl.drawing.tests.test_descriptors (module), 178openpyxl.drawing.tests.test_drawing (module), 178openpyxl.drawing.tests.test_fill (module), 179openpyxl.drawing.tests.test_graphic (module), 180openpyxl.drawing.tests.test_image (module), 181openpyxl.drawing.tests.test_line (module), 182openpyxl.drawing.tests.test_shape (module), 182openpyxl.drawing.tests.test_shapes (module), 183openpyxl.drawing.tests.test_spreadsheet_drawing (mod-

ule), 184openpyxl.drawing.tests.test_text (module), 184openpyxl.drawing.text (module), 220openpyxl.formatting (module), 235openpyxl.formatting.formatting (module), 232openpyxl.formatting.rule (module), 232openpyxl.formatting.tests (module), 232openpyxl.formatting.tests.conftest (module), 230openpyxl.formatting.tests.test_formatting (module), 230openpyxl.formatting.tests.test_rule (module), 231openpyxl.formula (module), 239openpyxl.formula.tests (module), 237openpyxl.formula.tests.test_tokenizer (module), 235openpyxl.formula.tests.test_translate (module), 236openpyxl.formula.tokenizer (module), 237openpyxl.formula.translate (module), 238openpyxl.packaging (module), 247openpyxl.packaging.core (module), 242openpyxl.packaging.extended (module), 243openpyxl.packaging.interface (module), 245openpyxl.packaging.manifest (module), 245openpyxl.packaging.relationship (module), 246openpyxl.packaging.tests (module), 242openpyxl.packaging.tests.conftest (module), 239openpyxl.packaging.tests.test_core (module), 240openpyxl.packaging.tests.test_extended (module), 240openpyxl.packaging.tests.test_interface (module), 240openpyxl.packaging.tests.test_manifest (module), 240openpyxl.packaging.tests.test_relationship (module), 241openpyxl.packaging.tests.test_workbook (module), 241openpyxl.packaging.workbook (module), 247openpyxl.reader (module), 251openpyxl.reader.excel (module), 250

Index 417

openpyxl Documentation, Release 2.4.9

openpyxl.reader.strings (module), 250openpyxl.reader.tests (module), 250openpyxl.reader.tests.conftest (module), 247openpyxl.reader.tests.test_excel (module), 248openpyxl.reader.tests.test_strings (module), 248openpyxl.reader.tests.test_style (module), 248openpyxl.reader.tests.test_worksheet (module), 248openpyxl.reader.worksheet (module), 251openpyxl.styles (module), 271openpyxl.styles.alignment (module), 257openpyxl.styles.borders (module), 258openpyxl.styles.builtins (module), 259openpyxl.styles.cell_style (module), 259openpyxl.styles.colors (module), 261openpyxl.styles.differential (module), 262openpyxl.styles.fills (module), 263openpyxl.styles.fonts (module), 264openpyxl.styles.named_styles (module), 266openpyxl.styles.numbers (module), 267openpyxl.styles.protection (module), 268openpyxl.styles.proxy (module), 268openpyxl.styles.styleable (module), 268openpyxl.styles.stylesheet (module), 269openpyxl.styles.table (module), 270openpyxl.styles.tests (module), 257openpyxl.styles.tests.conftest (module), 251openpyxl.styles.tests.test_alignments (module), 252openpyxl.styles.tests.test_borders (module), 252openpyxl.styles.tests.test_cell_style (module), 252openpyxl.styles.tests.test_colors (module), 253openpyxl.styles.tests.test_differential (module), 253openpyxl.styles.tests.test_fills (module), 253openpyxl.styles.tests.test_fonts (module), 254openpyxl.styles.tests.test_named_style (module), 254openpyxl.styles.tests.test_number_style (module), 255openpyxl.styles.tests.test_protection (module), 255openpyxl.styles.tests.test_proxy (module), 255openpyxl.styles.tests.test_styleable (module), 255openpyxl.styles.tests.test_stylesheet (module), 256openpyxl.styles.tests.test_table (module), 256openpyxl.tests (module), 273openpyxl.tests.conftest (module), 271openpyxl.tests.helper (module), 271openpyxl.tests.schema (module), 271openpyxl.tests.test_backend (module), 271openpyxl.tests.test_iter (module), 272openpyxl.tests.test_read (module), 273openpyxl.tests.test_vba (module), 273openpyxl.utils (module), 280openpyxl.utils.bound_dictionary (module), 276openpyxl.utils.cell (module), 276openpyxl.utils.dataframe (module), 276openpyxl.utils.datetime (module), 277openpyxl.utils.escape (module), 277

openpyxl.utils.exceptions (module), 277openpyxl.utils.formulas (module), 278openpyxl.utils.indexed_list (module), 278openpyxl.utils.protection (module), 278openpyxl.utils.tests (module), 276openpyxl.utils.tests.test_bound_dictionary (module), 273openpyxl.utils.tests.test_cell (module), 274openpyxl.utils.tests.test_dataframe (module), 274openpyxl.utils.tests.test_datetime (module), 274openpyxl.utils.tests.test_escape (module), 275openpyxl.utils.tests.test_indexed_list (module), 275openpyxl.utils.tests.test_protection (module), 275openpyxl.utils.tests.test_units (module), 275openpyxl.utils.units (module), 278openpyxl.workbook (module), 303openpyxl.workbook.child (module), 288openpyxl.workbook.defined_name (module), 288openpyxl.workbook.external_link (module), 283openpyxl.workbook.external_link.external (module), 281openpyxl.workbook.external_link.tests (module), 281openpyxl.workbook.external_link.tests.conftest (mod-

ule), 280openpyxl.workbook.external_link.tests.test_external

(module), 280openpyxl.workbook.external_reference (module), 290openpyxl.workbook.function_group (module), 290openpyxl.workbook.parser (module), 290openpyxl.workbook.pivot (module), 292openpyxl.workbook.properties (module), 293openpyxl.workbook.protection (module), 295openpyxl.workbook.smart_tags (module), 297openpyxl.workbook.tests (module), 288openpyxl.workbook.tests.conftest (module), 283openpyxl.workbook.tests.test_child (module), 283openpyxl.workbook.tests.test_defined_name (module),

283openpyxl.workbook.tests.test_external_reference (mod-

ule), 284openpyxl.workbook.tests.test_function_group (module),

284openpyxl.workbook.tests.test_parser (module), 285openpyxl.workbook.tests.test_pivot (module), 285openpyxl.workbook.tests.test_properties (module), 285openpyxl.workbook.tests.test_protection (module), 286openpyxl.workbook.tests.test_smart_tags (module), 286openpyxl.workbook.tests.test_views (module), 286openpyxl.workbook.tests.test_web (module), 287openpyxl.workbook.tests.test_workbook (module), 287openpyxl.workbook.views (module), 298openpyxl.workbook.web (module), 300openpyxl.workbook.workbook (module), 301openpyxl.worksheet (module), 343openpyxl.worksheet.copier (module), 313openpyxl.worksheet.datavalidation (module), 313

418 Index

openpyxl Documentation, Release 2.4.9

openpyxl.worksheet.dimensions (module), 315openpyxl.worksheet.drawing (module), 318openpyxl.worksheet.filters (module), 318openpyxl.worksheet.header_footer (module), 322openpyxl.worksheet.hyperlink (module), 323openpyxl.worksheet.merge (module), 324openpyxl.worksheet.page (module), 324openpyxl.worksheet.pagebreak (module), 326openpyxl.worksheet.pivot (module), 327openpyxl.worksheet.properties (module), 330openpyxl.worksheet.protection (module), 331openpyxl.worksheet.read_only (module), 332openpyxl.worksheet.related (module), 333openpyxl.worksheet.table (module), 333openpyxl.worksheet.tests (module), 313openpyxl.worksheet.tests.conftest (module), 303openpyxl.worksheet.tests.test_datavalidation (module),

303openpyxl.worksheet.tests.test_dimensions (module), 304openpyxl.worksheet.tests.test_filters (module), 305openpyxl.worksheet.tests.test_header (module), 306openpyxl.worksheet.tests.test_hyperlink (module), 307openpyxl.worksheet.tests.test_page (module), 307openpyxl.worksheet.tests.test_pagebreak (module), 308openpyxl.worksheet.tests.test_properties (module), 308openpyxl.worksheet.tests.test_protection (module), 309openpyxl.worksheet.tests.test_read_only (module), 309openpyxl.worksheet.tests.test_related (module), 309openpyxl.worksheet.tests.test_table (module), 309openpyxl.worksheet.tests.test_views (module), 310openpyxl.worksheet.tests.test_worksheet (module), 310openpyxl.worksheet.tests.test_worksheet_copy (module),

312openpyxl.worksheet.views (module), 337openpyxl.worksheet.worksheet (module), 339openpyxl.writer (module), 349openpyxl.writer.dump_worksheet (module), 347openpyxl.writer.etree_worksheet (module), 347openpyxl.writer.excel (module), 347openpyxl.writer.strings (module), 347openpyxl.writer.tests (module), 347openpyxl.writer.tests.conftest (module), 343openpyxl.writer.tests.test_excel (module), 344openpyxl.writer.tests.test_strings (module), 344openpyxl.writer.tests.test_template (module), 344openpyxl.writer.tests.test_theme (module), 344openpyxl.writer.tests.test_workbook (module), 344openpyxl.writer.tests.test_worksheet (module), 345openpyxl.writer.tests.test_write_only (module), 346openpyxl.writer.theme (module), 348openpyxl.writer.workbook (module), 348openpyxl.writer.worksheet (module), 348openpyxl.writer.write_only (module), 348openpyxl.xml (module), 349

openpyxl.xml.constants (module), 349openpyxl.xml.functions (module), 349openpyxl.xml.namespace (module), 349openpyxl.xml.tests (module), 349openpyxl.xml.tests.test_functions (module), 349OPERAND (openpyxl.formula.tokenizer.Token at-

tribute), 237operator (openpyxl.formatting.rule.Rule attribute), 234operator (openpyxl.worksheet.datavalidation.DataValidation

attribute), 314operator (openpyxl.worksheet.filters.CustomFilter at-

tribute), 319order (openpyxl.chart.series.Series attribute), 142order (openpyxl.chart.series.XYSeries attribute), 144order (openpyxl.chart.trendline.Trendline attribute), 149OrderedDict (class in openpyxl.compat.odict), 164orientation (openpyxl.chart.axis.Scaling attribute), 117orientation (openpyxl.worksheet.page.PrintPageSetup at-

tribute), 326ORIENTATION_LANDSCAPE (open-

pyxl.worksheet.worksheet.Worksheet at-tribute), 340

ORIENTATION_PORTRAIT (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

OuterShadowEffect (class in openpyxl.drawing.effect),194

outerShdw (openpyxl.drawing.effect.EffectList attribute),191

Outline (class in openpyxl.worksheet.properties), 330outline (openpyxl.cell.text.InlineFont attribute), 99outline (openpyxl.styles.borders.Border attribute), 258outline (openpyxl.styles.fonts.Font attribute), 265outline (openpyxl.worksheet.pivot.PivotArea attribute),

327outline_level (openpyxl.worksheet.dimensions.Dimension

attribute), 316outlineLevel (openpyxl.worksheet.dimensions.Dimension

attribute), 316outlineLevelCol (open-

pyxl.worksheet.dimensions.SheetFormatPropertiesattribute), 317

outlineLevelRow (open-pyxl.worksheet.dimensions.SheetFormatPropertiesattribute), 317

outlinePr (openpyxl.worksheet.properties.WorksheetPropertiesattribute), 330

overlap (openpyxl.chart.bar_chart.BarChart attribute),120

overlay (openpyxl.chart.legend.Legend attribute), 133overlay (openpyxl.chart.title.Title attribute), 148Override (class in openpyxl.packaging.manifest), 246Override (openpyxl.packaging.manifest.Manifest at-

tribute), 245

Index 419

openpyxl Documentation, Release 2.4.9

Override() (in module open-pyxl.packaging.tests.test_manifest), 240

Pp (openpyxl.chart.text.RichText attribute), 147PageBreak (class in openpyxl.worksheet.pagebreak), 326PageBreak() (in module open-

pyxl.worksheet.tests.test_pagebreak), 308PageMargins (class in openpyxl.chart.print_settings), 138PageMargins (class in openpyxl.worksheet.page), 324pageMargins (openpyxl.chart.print_settings.PrintSettings

attribute), 139pageMargins (openpyxl.chartsheet.chartsheet.Chartsheet

attribute), 153pageMargins (openpyxl.chartsheet.custom.CustomChartsheetView

attribute), 153PageMargins() (in module open-

pyxl.chart.tests.test_print), 108PageMargins() (in module open-

pyxl.worksheet.tests.test_page), 307pageOrder (openpyxl.worksheet.page.PrintPageSetup at-

tribute), 326Pages (openpyxl.packaging.extended.ExtendedProperties

attribute), 244pageSetup (openpyxl.chart.print_settings.PrintSettings

attribute), 139pageSetup (openpyxl.chartsheet.chartsheet.Chartsheet at-

tribute), 153pageSetup (openpyxl.chartsheet.custom.CustomChartsheetView

attribute), 153pageSetUpPr (openpyxl.worksheet.properties.WorksheetProperties

attribute), 330PageSetupProperties (class in open-

pyxl.worksheet.properties), 330Pane (class in openpyxl.worksheet.views), 337pane (openpyxl.worksheet.pivot.PivotSelection attribute),

329pane (openpyxl.worksheet.views.Selection attribute), 338pane (openpyxl.worksheet.views.SheetView attribute),

338panose (openpyxl.drawing.text.Font attribute), 223paperHeight (openpyxl.worksheet.page.PrintPageSetup

attribute), 326paperSize (openpyxl.worksheet.page.PrintPageSetup at-

tribute), 326PAPERSIZE_A3 (open-

pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_A4 (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_A4_SMALL (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_A5 (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_EXECUTIVE (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_LEDGER (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_LEGAL (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_LETTER (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_LETTER_SMALL (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_STATEMENT (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

PAPERSIZE_TABLOID (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

paperWidth (openpyxl.worksheet.page.PrintPageSetupattribute), 326

Paragraph (class in openpyxl.drawing.text), 225Paragraph() (in module openpyxl.drawing.tests.test_text),

184ParagraphProperties (class in openpyxl.drawing.text), 225ParagraphProperties() (in module open-

pyxl.drawing.tests.test_text), 184paragraphs (openpyxl.chart.text.RichText attribute), 147Paragraphs (openpyxl.packaging.extended.ExtendedProperties

attribute), 244PAREN (openpyxl.formula.tokenizer.Token attribute),

237parent (openpyxl.cell.cell.Cell attribute), 97parent (openpyxl.cell.read_only.ReadOnlyCell attribute),

98parent (openpyxl.comments.comments.Comment at-

tribute), 163parent (openpyxl.styles.styleable.StyleableObject at-

tribute), 269parse() (openpyxl.packaging.workbook.WorkbookParser

method), 247parse() (openpyxl.reader.worksheet.WorkSheetParser

method), 251parse_cell() (openpyxl.reader.worksheet.WorkSheetParser

method), 251parse_column_dimensions() (open-

pyxl.reader.worksheet.WorkSheetParsermethod), 251

parse_extensions() (open-

420 Index

openpyxl Documentation, Release 2.4.9

pyxl.reader.worksheet.WorkSheetParsermethod), 251

parse_hyperlinks() (open-pyxl.reader.worksheet.WorkSheetParsermethod), 251

parse_legacy_drawing() (open-pyxl.reader.worksheet.WorkSheetParsermethod), 251

parse_merge() (openpyxl.reader.worksheet.WorkSheetParsermethod), 251

parse_row() (openpyxl.reader.worksheet.WorkSheetParsermethod), 251

parse_sheet_protection() (open-pyxl.reader.worksheet.WorkSheetParsermethod), 251

parse_tables() (openpyxl.reader.worksheet.WorkSheetParsermethod), 251

parser_conditional_formatting() (open-pyxl.reader.worksheet.WorkSheetParsermethod), 251

PartName (openpyxl.drawing.spreadsheet_drawing.SpreadsheetDrawingattribute), 219

PartName (openpyxl.packaging.manifest.Overrideattribute), 246

path (openpyxl.comments.comment_sheet.CommentSheetattribute), 161

path (openpyxl.drawing.fill.GradientFillPropertiesattribute), 199

path (openpyxl.drawing.fill.PathShadeProperties at-tribute), 200

path (openpyxl.drawing.image.Image attribute), 209path (openpyxl.drawing.shapes.Path2DList attribute), 215path (openpyxl.drawing.spreadsheet_drawing.SpreadsheetDrawing

attribute), 220path (openpyxl.packaging.manifest.Manifest attribute),

246path (openpyxl.workbook.external_link.external.ExternalLink

attribute), 282path (openpyxl.workbook.workbook.Workbook at-

tribute), 302path (openpyxl.worksheet.table.Table attribute), 334Path2D (class in openpyxl.drawing.shapes), 214Path2DList (class in openpyxl.drawing.shapes), 215pathLst (openpyxl.drawing.shapes.CustomGeometry2D

attribute), 214PathShadeProperties (class in openpyxl.drawing.fill), 200pattern (openpyxl.descriptors.excel.Base64Binary at-

tribute), 173pattern (openpyxl.descriptors.excel.CellRange attribute),

173pattern (openpyxl.descriptors.excel.Guid attribute), 173pattern (openpyxl.descriptors.excel.HexBinary attribute),

173pattern (openpyxl.descriptors.excel.Percentage attribute),

173pattern (openpyxl.descriptors.excel.UniversalMeasure at-

tribute), 174PatternFill (class in openpyxl.styles.fills), 263PatternFill() (in module openpyxl.styles.tests.test_fills),

253PatternFillProperties (class in openpyxl.drawing.fill), 200PatternFillProperties() (in module open-

pyxl.drawing.tests.test_fill), 179patternType (openpyxl.styles.fills.PatternFill attribute),

264pattFill (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145pattFill (openpyxl.drawing.line.LineProperties attribute),

211pattFill (openpyxl.drawing.text.CharacterProperties at-

tribute), 222percent (openpyxl.formatting.rule.IconSet attribute), 233percent (openpyxl.formatting.rule.Rule attribute), 234percent (openpyxl.worksheet.filters.Top10 attribute), 322Percentage (class in openpyxl.descriptors.excel), 173Percentage() (in module open-

pyxl.descriptors.tests.test_excel), 167period (openpyxl.chart.trendline.Trendline attribute), 149personalView (openpyxl.workbook.views.CustomWorkbookView

attribute), 299phonetic (openpyxl.cell.text.Text attribute), 100phoneticPr (openpyxl.cell.text.Text attribute), 101PhoneticProperties (class in openpyxl.cell.text), 100PhoneticProperties (openpyxl.cell.text.Text attribute),

100PhoneticProperties() (in module open-

pyxl.cell.tests.test_text), 95PhoneticText (class in openpyxl.cell.text), 100PhoneticText() (in module openpyxl.cell.tests.test_text),

95pic (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218pic (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

attribute), 219pic (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220picLocks (openpyxl.drawing.graphic.NonVisualPictureProperties

attribute), 207picture (openpyxl.chartsheet.chartsheet.Chartsheet

attribute), 153pictureFormat (openpyxl.chart.picture.PictureOptions at-

tribute), 136PictureFrame (class in openpyxl.drawing.graphic), 207PictureFrame() (in module open-

pyxl.drawing.tests.test_graphic), 180PictureLocking (class in openpyxl.drawing.graphic), 207PictureLocking() (in module open-

pyxl.drawing.tests.test_graphic), 180

Index 421

openpyxl Documentation, Release 2.4.9

PictureNonVisual (class in openpyxl.drawing.graphic),208

PictureNonVisual() (in module open-pyxl.drawing.tests.test_graphic), 180

PictureOptions (class in openpyxl.chart.picture), 136pictureOptions (openpyxl.chart.marker.DataPoint at-

tribute), 135pictureOptions (openpyxl.chart.series.Series attribute),

142PictureOptions() (in module open-

pyxl.chart.tests.test_picture), 107pictureStackUnit (openpyxl.chart.picture.PictureOptions

attribute), 136pie3DChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 126PieChart (class in openpyxl.chart.pie_chart), 137pieChart (openpyxl.chart.chartspace.PlotArea attribute),

126PieChart() (in module open-

pyxl.chart.tests.test_pie_chart), 108PieChart3D (class in openpyxl.chart.pie_chart), 137PieChart3D() (in module open-

pyxl.chart.tests.test_pie_chart), 108pitchFamily (openpyxl.drawing.text.Font attribute), 223pivot (openpyxl.formatting.formatting.ConditionalFormatting

attribute), 232pivot (openpyxl.styles.table.TableStyle attribute), 270PivotArea (class in openpyxl.worksheet.pivot), 327PivotAreaReference (class in openpyxl.worksheet.pivot),

327PivotAreaReferences (class in openpyxl.worksheet.pivot),

328pivotButton (openpyxl.styles.cell_style.CellStyle at-

tribute), 260pivotButton (openpyxl.styles.cell_style.StyleArray

attribute), 261pivotButton (openpyxl.styles.styleable.StyleableObject

attribute), 269PivotCache (class in openpyxl.workbook.pivot), 292pivotCache (openpyxl.workbook.pivot.PivotCacheList at-

tribute), 293PivotCache() (in module open-

pyxl.workbook.tests.test_pivot), 285PivotCacheList (class in openpyxl.workbook.pivot), 292PivotCacheList() (in module open-

pyxl.workbook.tests.test_pivot), 285pivotCaches (openpyxl.workbook.parser.WorkbookPackage

attribute), 292pivotFmt (openpyxl.chart.chartspace.PivotFormatList at-

tribute), 125pivotFmts (openpyxl.chart.chartspace.ChartContainer at-

tribute), 122PivotFormat (class in openpyxl.chart.chartspace), 124PivotFormat() (in module open-

pyxl.chart.tests.test_chartspace), 104PivotFormatList (class in openpyxl.chart.chartspace), 125PivotFormatList() (in module open-

pyxl.chart.tests.test_chartspace), 104PivotSelection (class in openpyxl.worksheet.pivot), 329PivotSource (class in openpyxl.chart.chartspace), 125pivotSource (openpyxl.chart.chartspace.ChartSpace at-

tribute), 123PivotSource() (in module open-

pyxl.chart.tests.test_chartspace), 104pivotTables (openpyxl.worksheet.protection.SheetProtection

attribute), 332pixels_to_EMU() (in module openpyxl.utils.units), 279pixels_to_points() (in module openpyxl.utils.units), 279plain (openpyxl.cell.text.Text attribute), 101PlotArea (class in openpyxl.chart.chartspace), 125plotArea (openpyxl.chart.chartspace.ChartContainer at-

tribute), 122PlotArea() (in module open-

pyxl.chart.tests.test_chartspace), 104plotVisOnly (openpyxl.chart.chartspace.ChartContainer

attribute), 122plus (openpyxl.chart.error_bar.ErrorBars attribute), 130Point2D (class in openpyxl.drawing.shapes), 215Point3D (class in openpyxl.drawing.shapes), 215point_pos() (openpyxl.drawing.tests.test_image.DummySheet

method), 181point_pos() (openpyxl.worksheet.worksheet.Worksheet

method), 343points_to_pixels() (in module openpyxl.utils.units), 279pop() (openpyxl.chart.reference.Reference method), 140pop() (openpyxl.compat.odict.OrderedDict method), 164popitem() (openpyxl.compat.odict.OrderedDict method),

164pos (openpyxl.drawing.fill.GradientStop attribute), 200pos (openpyxl.drawing.shapes.ConnectionSite attribute),

213pos (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218pos (openpyxl.drawing.text.TabStop attribute), 229position (openpyxl.chart.legend.Legend attribute), 133PositiveSize2D (class in openpyxl.drawing.shapes), 215pound (openpyxl.cell.tests.test_cell.TestEncoding at-

tribute), 93pPr (openpyxl.drawing.text.Paragraph attribute), 225pPr (openpyxl.drawing.text.TextField attribute), 229preferRelativeResize (open-

pyxl.drawing.graphic.NonVisualPicturePropertiesattribute), 207

PresentationFormat (open-pyxl.packaging.extended.ExtendedPropertiesattribute), 244

preset (openpyxl.drawing.fill.PatternFillPropertiesattribute), 200

422 Index

openpyxl Documentation, Release 2.4.9

PresetGeometry2D (class in openpyxl.drawing.shapes),215

PresetShadowEffect (class in openpyxl.drawing.effect),195

PresetTextShape (class in openpyxl.drawing.text), 227previousCol (openpyxl.worksheet.pivot.PivotSelection

attribute), 329previousRow (openpyxl.worksheet.pivot.PivotSelection

attribute), 329print_area (openpyxl.worksheet.worksheet.Worksheet at-

tribute), 343print_area (openpyxl.writer.write_only.WriteOnlyWorksheet

attribute), 348print_title_cols (openpyxl.worksheet.worksheet.Worksheet

attribute), 343print_title_cols (openpyxl.writer.write_only.WriteOnlyWorksheet

attribute), 348print_title_rows (openpyxl.worksheet.worksheet.Worksheet

attribute), 343print_title_rows (openpyxl.writer.write_only.WriteOnlyWorksheet

attribute), 349print_titles (openpyxl.worksheet.worksheet.Worksheet

attribute), 343PrintOptions (class in openpyxl.worksheet.page), 324PrintOptions() (in module open-

pyxl.worksheet.tests.test_page), 307PrintPageSetup (class in openpyxl.worksheet.page), 325PrintPageSetup() (in module open-

pyxl.worksheet.tests.test_page), 308PrintSettings (class in openpyxl.chart.print_settings), 139printSettings (openpyxl.chart.chartspace.ChartSpace at-

tribute), 123PrintSettings() (in module open-

pyxl.chart.tests.test_print), 108priority (openpyxl.formatting.rule.Rule attribute), 234productSubtotal (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328ProjectedPieChart (class in openpyxl.chart.pie_chart),

137ProjectedPieChart() (in module open-

pyxl.chart.tests.test_pie_chart), 108prompt (openpyxl.worksheet.datavalidation.DataValidation

attribute), 314promptedSolutions (open-

pyxl.workbook.properties.WorkbookPropertiesattribute), 295

promptTitle (openpyxl.worksheet.datavalidation.DataValidationattribute), 314

Properties (class in openpyxl.comments.comment_sheet),161

properties (openpyxl.chart.text.RichText attribute), 147properties (openpyxl.drawing.text.Paragraph attribute),

225properties (openpyxl.drawing.text.RegularTextRun

attribute), 227properties (openpyxl.workbook.parser.WorkbookPackage

attribute), 292Protection (class in openpyxl.chart.chartspace), 126Protection (class in openpyxl.styles.protection), 268protection (openpyxl.cell.read_only.ReadOnlyCell

attribute), 98protection (openpyxl.chart.chartspace.ChartSpace at-

tribute), 123protection (openpyxl.styles.cell_style.CellStyle attribute),

260protection (openpyxl.styles.cell_style.CellStyleList at-

tribute), 260protection (openpyxl.styles.differential.DifferentialStyle

attribute), 262protection (openpyxl.styles.named_styles.NamedStyle at-

tribute), 267protection (openpyxl.styles.styleable.StyleableObject at-

tribute), 269Protection() (in module open-

pyxl.chart.tests.test_chartspace), 104Protection() (in module open-

pyxl.styles.tests.test_protection), 255protectionId (openpyxl.styles.cell_style.StyleArray at-

tribute), 261proxy() (in module openpyxl.styles.tests.test_proxy), 255prst (openpyxl.drawing.effect.PresetShadowEffect

attribute), 195prst (openpyxl.drawing.fill.PatternFillProperties at-

tribute), 200prst (openpyxl.drawing.shapes.Bevel attribute), 213prst (openpyxl.drawing.shapes.Camera attribute), 213prst (openpyxl.drawing.shapes.PresetGeometry2D

attribute), 216prst (openpyxl.drawing.text.PresetTextShape attribute),

227prstClr (openpyxl.drawing.colors.ColorChoice attribute),

185prstClr (openpyxl.drawing.effect.GlowEffect attribute),

191prstClr (openpyxl.drawing.effect.InnerShadowEffect at-

tribute), 193prstClr (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 194prstClr (openpyxl.drawing.effect.PresetShadowEffect at-

tribute), 195prstDash (openpyxl.drawing.line.LineProperties at-

tribute), 211prstGeom (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145prstMaterial (openpyxl.drawing.shapes.Shape3D at-

tribute), 217prstShdw (openpyxl.drawing.effect.EffectList attribute),

191

Index 423

openpyxl Documentation, Release 2.4.9

prstTxWarp (openpyxl.drawing.text.RichTextPropertiesattribute), 228

pt (openpyxl.chart.data_source.NumData attribute), 127pt (openpyxl.chart.data_source.StrData attribute), 128pt (openpyxl.worksheet.pagebreak.Break attribute), 326ptCount (openpyxl.chart.data_source.NumData attribute),

127ptCount (openpyxl.chart.data_source.StrData attribute),

128published (openpyxl.chartsheet.properties.ChartsheetProperties

attribute), 154published (openpyxl.worksheet.properties.WorksheetProperties

attribute), 330published (openpyxl.worksheet.table.Table attribute), 334publishItems (openpyxl.workbook.properties.WorkbookProperties

attribute), 295publishToServer (open-

pyxl.workbook.defined_name.DefinedNameattribute), 289

pytest_runtest_setup() (in module openpyxl.conftest), 350

QQualifiedDateTime (class in openpyxl.packaging.core),

243queryTableFieldId (open-

pyxl.worksheet.table.TableColumn attribute),335

quote_sheetname() (in module openpyxl.utils.cell), 276quotePrefix (openpyxl.styles.cell_style.CellStyle at-

tribute), 260quotePrefix (openpyxl.styles.cell_style.StyleArray

attribute), 261quotePrefix (openpyxl.styles.styleable.StyleableObject

attribute), 269

Rr (openpyxl.cell.text.Text attribute), 101r (openpyxl.chart.print_settings.PageMargins attribute),

139r (openpyxl.drawing.colors.RGBPercent attribute), 187r (openpyxl.drawing.fill.RelativeRect attribute), 201r (openpyxl.drawing.shapes.GeomRect attribute), 214r (openpyxl.drawing.text.Paragraph attribute), 225r (openpyxl.workbook.external_link.external.ExternalCell

attribute), 281r (openpyxl.workbook.external_link.external.ExternalRow

attribute), 282r (openpyxl.worksheet.dimensions.RowDimension

attribute), 317rad (openpyxl.drawing.effect.BlurEffect attribute), 190rad (openpyxl.drawing.effect.GlowEffect attribute), 192rad (openpyxl.drawing.effect.SoftEdgesEffect attribute),

197RadarChart (class in openpyxl.chart.radar_chart), 139

radarChart (openpyxl.chart.chartspace.PlotArea at-tribute), 126

RadarChart() (in module open-pyxl.chart.tests.test_radar_chart), 109

radarStyle (openpyxl.chart.radar_chart.RadarChartattribute), 140

RANGE (openpyxl.formula.tokenizer.Token attribute),237

range_boundaries() (in module openpyxl.utils.cell), 276range_string (openpyxl.chart.reference.Reference at-

tribute), 141range_to_tuple() (in module openpyxl.utils.cell), 276rank (openpyxl.formatting.rule.Rule attribute), 234read_dimension() (in module open-

pyxl.worksheet.read_only), 333read_external_link() (in module open-

pyxl.workbook.external_link.external), 282read_only (openpyxl.workbook.workbook.Workbook at-

tribute), 302read_string_table() (in module openpyxl.reader.strings),

250reader() (in module openpyxl.chart.reader), 140readingOrder (openpyxl.styles.alignment.Alignment at-

tribute), 257ReadOnlyCell (class in openpyxl.cell.read_only), 98readOnlyRecommended (open-

pyxl.workbook.protection.FileSharing at-tribute), 295

ReadOnlyWorkbookException, 278ReadOnlyWorksheet (class in open-

pyxl.worksheet.read_only), 332ReadOnlyWorksheet() (in module open-

pyxl.tests.test_iter), 272ReadOnlyWorksheet() (in module open-

pyxl.worksheet.tests.test_read_only), 309RECT (openpyxl.drawing.shape.Shape attribute), 211rect (openpyxl.drawing.shapes.CustomGeometry2D at-

tribute), 214red (openpyxl.drawing.colors.SystemColor attribute), 189redMod (openpyxl.drawing.colors.SystemColor at-

tribute), 189redOff (openpyxl.drawing.colors.SystemColor attribute),

189ref (openpyxl.chart.data_source.NumRef attribute), 128ref (openpyxl.comments.comment_sheet.CommentRecord

attribute), 161ref (openpyxl.worksheet.dimensions.SheetDimension at-

tribute), 317ref (openpyxl.worksheet.filters.AutoFilter attribute), 318ref (openpyxl.worksheet.filters.SortCondition attribute),

321ref (openpyxl.worksheet.filters.SortState attribute), 322ref (openpyxl.worksheet.hyperlink.Hyperlink attribute),

323

424 Index

openpyxl Documentation, Release 2.4.9

ref (openpyxl.worksheet.merge.MergeCell attribute), 324ref (openpyxl.worksheet.table.Table attribute), 334Reference (class in openpyxl.chart.reference), 140Reference() (in module open-

pyxl.chart.tests.test_reference), 109refersTo (openpyxl.workbook.external_link.external.ExternalDefinedName

attribute), 281reflection (openpyxl.drawing.effect.EffectList attribute),

191ReflectionEffect (class in openpyxl.drawing.effect), 196refMode (openpyxl.workbook.properties.CalcProperties

attribute), 293refreshAllConnections (open-

pyxl.workbook.properties.WorkbookPropertiesattribute), 295

refreshError (openpyxl.workbook.external_link.external.ExternalSheetDataattribute), 282

RegularTextRun (class in openpyxl.drawing.text), 227reindex() (openpyxl.worksheet.dimensions.ColumnDimension

method), 315Related (class in openpyxl.worksheet.related), 333Relation (class in openpyxl.descriptors.excel), 173Relation() (in module open-

pyxl.descriptors.tests.test_serialisable), 170Relationship (class in openpyxl.packaging.relationship),

246Relationship (openpyxl.packaging.relationship.RelationshipList

attribute), 246Relationship() (in module open-

pyxl.packaging.tests.test_relationship), 241RelationshipList (class in open-

pyxl.packaging.relationship), 246relative (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328relativeIndent (openpyxl.styles.alignment.Alignment at-

tribute), 257RelativeRect (class in openpyxl.drawing.fill), 201RelativeRect() (in module open-

pyxl.drawing.tests.test_fill), 179rels (openpyxl.packaging.workbook.WorkbookParser at-

tribute), 247remove() (openpyxl.workbook.workbook.Workbook

method), 302remove_named_range() (open-

pyxl.workbook.workbook.Workbook method),302

remove_sheet() (openpyxl.workbook.workbook.Workbookmethod), 302

render() (openpyxl.formula.tokenizer.Tokenizer method),238

repair_central_directory() (in module open-pyxl.reader.excel), 250

repairLoad (openpyxl.workbook.parser.FileRecoveryPropertiesattribute), 291

reservationPassword (open-pyxl.workbook.protection.FileSharing at-tribute), 295

rev (openpyxl.drawing.shapes.SphereCoords attribute),217

reverse (openpyxl.formatting.rule.IconSet attribute), 233revision (openpyxl.packaging.core.DocumentProperties

attribute), 242revision_password (open-

pyxl.workbook.protection.WorkbookProtectionattribute), 296

revisionsAlgorithmName (open-pyxl.workbook.protection.WorkbookProtectionattribute), 296

revisionsHashValue (open-pyxl.workbook.protection.WorkbookProtectionattribute), 296

revisionsPassword (open-pyxl.workbook.protection.WorkbookProtectionattribute), 296

revisionsPasswordCharacterSet (open-pyxl.workbook.protection.WorkbookProtectionattribute), 296

revisionsSaltValue (open-pyxl.workbook.protection.WorkbookProtectionattribute), 296

revisionsSpinCount (open-pyxl.workbook.protection.WorkbookProtectionattribute), 296

rfe (openpyxl.chartsheet.relation.DrawingHF attribute),157

rff (openpyxl.chartsheet.relation.DrawingHF attribute),157

rfo (openpyxl.chartsheet.relation.DrawingHF attribute),157

rFont (openpyxl.cell.text.InlineFont attribute), 99RGB (class in openpyxl.styles.colors), 262RGB (openpyxl.drawing.colors.ColorChoice attribute),

185rgb (openpyxl.styles.colors.Color attribute), 261rgb (openpyxl.styles.colors.RgbColor attribute), 262RgbColor (class in openpyxl.styles.colors), 262rgbColor (openpyxl.styles.colors.IndexedColorList at-

tribute), 261RGBPercent (class in openpyxl.drawing.colors), 187RGBPercent (openpyxl.drawing.colors.ColorChoice at-

tribute), 185RGBPercent() (in module open-

pyxl.drawing.tests.test_color), 178rhe (openpyxl.chartsheet.relation.DrawingHF attribute),

157rhf (openpyxl.chartsheet.relation.DrawingHF attribute),

157rho (openpyxl.chartsheet.relation.DrawingHF attribute),

Index 425

openpyxl Documentation, Release 2.4.9

157rich (openpyxl.chart.text.Text attribute), 147RichText (class in openpyxl.cell.text), 100RichText (class in openpyxl.chart.text), 147RichText() (in module openpyxl.cell.tests.test_text), 95RichText() (in module openpyxl.chart.tests.test_text), 112RichTextProperties (class in openpyxl.drawing.text), 227rig (openpyxl.drawing.shapes.LightRig attribute), 214right (openpyxl.chart.print_settings.PageMargins at-

tribute), 139right (openpyxl.drawing.fill.RelativeRect attribute), 201right (openpyxl.styles.borders.Border attribute), 258right (openpyxl.styles.fills.GradientFill attribute), 263right (openpyxl.worksheet.header_footer.HeaderFooterItem

attribute), 323right (openpyxl.worksheet.page.PageMargins attribute),

324rightFooterEvenPages (open-

pyxl.chartsheet.relation.DrawingHF attribute),157

rightFooterFirstPage (open-pyxl.chartsheet.relation.DrawingHF attribute),157

rightFooterOddPages (open-pyxl.chartsheet.relation.DrawingHF attribute),157

rightHeaderEvenPages (open-pyxl.chartsheet.relation.DrawingHF attribute),157

rightHeaderFirstPage (open-pyxl.chartsheet.relation.DrawingHF attribute),158

rightHeaderOddPages (open-pyxl.chartsheet.relation.DrawingHF attribute),158

rightToLeft (openpyxl.worksheet.views.SheetViewattribute), 338

rIns (openpyxl.drawing.text.RichTextProperties at-tribute), 228

rot (openpyxl.drawing.graphic.GroupTransform2D at-tribute), 205

rot (openpyxl.drawing.shapes.Camera attribute), 213rot (openpyxl.drawing.shapes.LightRig attribute), 214rot (openpyxl.drawing.shapes.Transform2D attribute),

218rot (openpyxl.drawing.text.RichTextProperties attribute),

228rotWithShape (openpyxl.drawing.effect.OuterShadowEffect

attribute), 194rotWithShape (openpyxl.drawing.effect.ReflectionEffect

attribute), 196rotWithShape (openpyxl.drawing.fill.BlipFillProperties

attribute), 199rotWithShape (openpyxl.drawing.fill.GradientFillProperties

attribute), 199round (openpyxl.drawing.line.LineProperties attribute),

211ROUND_RECT (openpyxl.drawing.shape.Shape at-

tribute), 212roundedCorners (openpyxl.chart.chartspace.ChartSpace

attribute), 123row (openpyxl.cell.cell.Cell attribute), 97row (openpyxl.cell.read_only.ReadOnlyCell attribute), 98row (openpyxl.drawing.spreadsheet_drawing.AnchorMarker

attribute), 219row (openpyxl.drawing.tests.test_image.DummyCell at-

tribute), 181ROW (openpyxl.formula.tokenizer.Token attribute), 237row (openpyxl.workbook.external_link.external.ExternalSheetData

attribute), 282ROW_RANGE_RE (open-

pyxl.formula.translate.Translator attribute),239

RowDimension (class in open-pyxl.worksheet.dimensions), 316

RowDimension() (in module open-pyxl.worksheet.tests.test_dimensions), 304

rowHidden (openpyxl.comments.comment_sheet.Propertiesattribute), 162

rowOff (openpyxl.drawing.spreadsheet_drawing.AnchorMarkerattribute), 219

rows (openpyxl.chart.reference.Reference attribute), 141rows (openpyxl.worksheet.read_only.ReadOnlyWorksheet

attribute), 333rows (openpyxl.worksheet.worksheet.Worksheet at-

tribute), 343rows_from_range() (in module openpyxl.utils.cell), 276rPh (openpyxl.cell.text.Text attribute), 101rPr (openpyxl.cell.text.RichText attribute), 100rPr (openpyxl.drawing.text.LineBreak attribute), 224rPr (openpyxl.drawing.text.RegularTextRun attribute),

227rPr (openpyxl.drawing.text.TextField attribute), 230rtl (openpyxl.drawing.text.CharacterProperties attribute),

222rtl (openpyxl.drawing.text.ParagraphProperties attribute),

227rtlCol (openpyxl.drawing.text.RichTextProperties at-

tribute), 228Rule (class in openpyxl.formatting.rule), 233Rule() (in module openpyxl.formatting.tests.test_rule),

231rules (openpyxl.formatting.formatting.ConditionalFormatting

attribute), 232RuleType (class in openpyxl.formatting.rule), 235rupBuild (openpyxl.workbook.properties.FileVersion at-

tribute), 294

426 Index

openpyxl Documentation, Release 2.4.9

Ss (openpyxl.worksheet.dimensions.RowDimension

attribute), 317safe_iterator() (in module openpyxl.xml.functions), 349safe_iterparse() (in module openpyxl.xml.functions), 349safe_repr() (in module openpyxl.compat.strings), 165safe_string() (in module openpyxl.compat.strings), 165saltValue (openpyxl.chartsheet.protection.ChartsheetProtection

attribute), 154saltValue (openpyxl.workbook.protection.FileSharing at-

tribute), 295saltValue (openpyxl.worksheet.protection.SheetProtection

attribute), 332sample_workbook() (in module openpyxl.tests.test_iter),

272SampleProperties() (in module open-

pyxl.packaging.tests.test_core), 240sat (openpyxl.drawing.colors.HSLColor attribute), 187sat (openpyxl.drawing.colors.SystemColor attribute), 189sat (openpyxl.drawing.effect.HSLEffect attribute), 192satMod (openpyxl.drawing.colors.SystemColor at-

tribute), 189satOff (openpyxl.drawing.colors.SystemColor attribute),

189save() (openpyxl.workbook.workbook.Workbook

method), 303save() (openpyxl.writer.excel.ExcelWriter method), 347save_dump() (in module openpyxl.writer.write_only),

349save_token() (openpyxl.formula.tokenizer.Tokenizer

method), 238save_virtual_workbook() (in module open-

pyxl.writer.excel), 347save_workbook() (in module openpyxl.writer.excel), 347saveExternalLinkValues (open-

pyxl.workbook.properties.WorkbookPropertiesattribute), 295

sb (openpyxl.cell.text.PhoneticText attribute), 100scale (openpyxl.chartsheet.custom.CustomChartsheetView

attribute), 154scale (openpyxl.worksheet.page.PrintPageSetup at-

tribute), 326ScaleCrop (openpyxl.packaging.extended.ExtendedProperties

attribute), 244scaled (openpyxl.drawing.fill.LinearShadeProperties at-

tribute), 200scaleWithDoc (openpyxl.worksheet.header_footer.HeaderFooter

attribute), 323Scaling (class in openpyxl.chart.axis), 117scaling (openpyxl.chart.axis.DateAxis attribute), 115scaling (openpyxl.chart.axis.NumericAxis attribute), 117scaling (openpyxl.chart.axis.SeriesAxis attribute), 118scaling (openpyxl.chart.axis.TextAxis attribute), 119Scaling() (in module openpyxl.chart.tests.test_axis), 102

ScatterChart (class in openpyxl.chart.scatter_chart), 141scatterChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 126ScatterChart() (in module open-

pyxl.chart.tests.test_scatter_chart), 109scatterStyle (openpyxl.chart.scatter_chart.ScatterChart

attribute), 141scenarios (openpyxl.worksheet.protection.SheetProtection

attribute), 332Scene3D (class in openpyxl.drawing.shapes), 216scene3d (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145scene3d (openpyxl.drawing.graphic.GroupShapeProperties

attribute), 204scene3d (openpyxl.drawing.text.RichTextProperties at-

tribute), 229schema() (in module open-

pyxl.develop.tests.test_classify), 176scheme (openpyxl.cell.text.InlineFont attribute), 99scheme (openpyxl.styles.fonts.Font attribute), 265schemeClr (openpyxl.drawing.colors.ColorChoice

attribute), 186schemeClr (openpyxl.drawing.effect.GlowEffect at-

tribute), 192schemeClr (openpyxl.drawing.effect.InnerShadowEffect

attribute), 193schemeClr (openpyxl.drawing.effect.OuterShadowEffect

attribute), 195schemeClr (openpyxl.drawing.effect.PresetShadowEffect

attribute), 196scrgbClr (openpyxl.drawing.colors.ColorChoice at-

tribute), 186scrgbClr (openpyxl.drawing.effect.GlowEffect attribute),

192scrgbClr (openpyxl.drawing.effect.InnerShadowEffect at-

tribute), 193scrgbClr (openpyxl.drawing.effect.OuterShadowEffect

attribute), 195scrgbClr (openpyxl.drawing.effect.PresetShadowEffect

attribute), 196second (openpyxl.worksheet.filters.DateGroupItem at-

tribute), 319secondPiePt (openpyxl.chart.pie_chart.CustomSplit at-

tribute), 136secondPieSize (openpyxl.chart.pie_chart.ProjectedPieChart

attribute), 138selected (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328selected_cell (openpyxl.worksheet.worksheet.Worksheet

attribute), 343Selection (class in openpyxl.worksheet.views), 338selection (openpyxl.chart.chartspace.Protection attribute),

127selection (openpyxl.worksheet.views.SheetView at-

Index 427

openpyxl Documentation, Release 2.4.9

tribute), 338selectLockedCells (open-

pyxl.worksheet.protection.SheetProtectionattribute), 332

selectUnlockedCells (open-pyxl.worksheet.protection.SheetProtectionattribute), 332

SEP (openpyxl.formula.tokenizer.Token attribute), 237separator (openpyxl.chart.label.DataLabel attribute), 130separator (openpyxl.chart.label.DataLabelList attribute),

131seq_types (openpyxl.descriptors.sequence.Sequence at-

tribute), 175Sequence (class in openpyxl.descriptors.sequence), 175Sequence() (in module open-

pyxl.descriptors.tests.test_sequence), 169ser (openpyxl.chart.area_chart.AreaChart attribute), 113ser (openpyxl.chart.area_chart.AreaChart3D attribute),

113ser (openpyxl.chart.bar_chart.BarChart attribute), 120ser (openpyxl.chart.bar_chart.BarChart3D attribute), 120ser (openpyxl.chart.bubble_chart.BubbleChart attribute),

121ser (openpyxl.chart.line_chart.LineChart attribute), 134ser (openpyxl.chart.line_chart.LineChart3D attribute),

135ser (openpyxl.chart.pie_chart.DoughnutChart attribute),

137ser (openpyxl.chart.pie_chart.PieChart attribute), 137ser (openpyxl.chart.pie_chart.PieChart3D attribute), 137ser (openpyxl.chart.pie_chart.ProjectedPieChart at-

tribute), 138ser (openpyxl.chart.radar_chart.RadarChart attribute),

140ser (openpyxl.chart.scatter_chart.ScatterChart attribute),

141ser (openpyxl.chart.stock_chart.StockChart attribute),

146ser (openpyxl.chart.surface_chart.SurfaceChart attribute),

146ser (openpyxl.chart.surface_chart.SurfaceChart3D

attribute), 147serAx (openpyxl.chart.chartspace.PlotArea attribute), 126Serialisable (class in openpyxl.descriptors.serialisable),

176Serialisable() (in module open-

pyxl.descriptors.tests.test_serialisable), 170Series (class in openpyxl.chart.series), 141Series() (in module open-

pyxl.chart.tests.test_series_factory), 110SeriesAxis (class in openpyxl.chart.axis), 117SeriesAxis() (in module openpyxl.chart.tests.test_axis),

102SeriesFactory() (in module open-

pyxl.chart.series_factory), 144SeriesLabel (class in openpyxl.chart.series), 143SeriesLabel() (in module open-

pyxl.chart.tests.test_series), 109serLines (openpyxl.chart.bar_chart.BarChart attribute),

120serLines (openpyxl.chart.bar_chart.BarChart3D at-

tribute), 121serLines (openpyxl.chart.pie_chart.ProjectedPieChart at-

tribute), 138Set (class in openpyxl.descriptors.base), 172set() (in module openpyxl.descriptors.tests.test_base),

167set_dimension() (openpyxl.drawing.drawing.Drawing

method), 190set_explicit_value() (openpyxl.cell.cell.Cell method), 97set_password() (openpyxl.worksheet.protection.SheetProtection

method), 332set_printer_settings() (open-

pyxl.worksheet.worksheet.Worksheet method),343

set_revisions_password() (open-pyxl.workbook.protection.WorkbookProtectionmethod), 297

set_workbook_password() (open-pyxl.workbook.protection.WorkbookProtectionmethod), 297

setdefault() (openpyxl.compat.odict.OrderedDictmethod), 164

setup() (openpyxl.drawing.tests.test_drawing.TestDrawingmethod), 178

setup() (openpyxl.drawing.tests.test_shape.TestShapemethod), 183

setup() (openpyxl.drawing.tests.test_shape.TestShapeWritermethod), 183

setup() (openpyxl.formatting.tests.test_formatting.TestConditionalFormattingmethod), 230

shade (openpyxl.drawing.colors.SystemColor attribute),189

shadow (openpyxl.cell.text.InlineFont attribute), 99shadow (openpyxl.styles.fonts.Font attribute), 265Shape (class in openpyxl.drawing.graphic), 208Shape (class in openpyxl.drawing.shape), 211shape (openpyxl.chart.bar_chart.BarChart3D attribute),

121shape (openpyxl.chart.series.Series attribute), 142Shape3D (class in openpyxl.drawing.shapes), 216shape3D (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145shapeId (openpyxl.comments.comment_sheet.CommentRecord

attribute), 161ShapeMeta (class in openpyxl.drawing.graphic), 209ShapeStyle (class in openpyxl.drawing.shapes), 217ShapeWriter (class in openpyxl.comments.shape_writer),

428 Index

openpyxl Documentation, Release 2.4.9

163ShapeWriter (class in openpyxl.drawing.shape), 212shared_strings (openpyxl.cell.read_only.ReadOnlyCell

attribute), 98SharedDoc (openpyxl.packaging.extended.ExtendedProperties

attribute), 244sheet (openpyxl.worksheet.protection.SheetProtection at-

tribute), 332sheet_properties (open-

pyxl.worksheet.page.PrintPageSetup attribute),326

sheet_state (openpyxl.chartsheet.chartsheet.Chartsheetattribute), 153

sheet_view (openpyxl.worksheet.worksheet.Worksheetattribute), 343

SheetBackgroundPicture (class in open-pyxl.chartsheet.relation), 158

SheetBackgroundPicture() (in module open-pyxl.chartsheet.tests.test_relation), 152

sheetData (openpyxl.workbook.external_link.external.ExternalSheetDataSetattribute), 282

sheetDataSet (openpyxl.workbook.external_link.external.ExternalBookattribute), 281

SheetDimension (class in open-pyxl.worksheet.dimensions), 317

SheetFormatProperties (class in open-pyxl.worksheet.dimensions), 317

sheetId (openpyxl.workbook.external_link.external.ExternalDefinedNameattribute), 281

sheetId (openpyxl.workbook.external_link.external.ExternalSheetDataattribute), 282

sheetId (openpyxl.workbook.parser.ChildSheet attribute),290

sheetname (openpyxl.chart.reference.Reference at-tribute), 141

sheetName (openpyxl.workbook.external_link.external.ExternalSheetNamesattribute), 282

sheetNames (openpyxl.workbook.external_link.external.ExternalBookattribute), 281

sheetnames (openpyxl.workbook.workbook.Workbookattribute), 303

sheetnames (openpyxl.worksheet.tests.test_read_only.DummyWorkbookattribute), 309

sheetPr (openpyxl.chartsheet.chartsheet.Chartsheetattribute), 153

SheetProtection (class in openpyxl.worksheet.protection),331

sheetProtection (openpyxl.chartsheet.chartsheet.Chartsheetattribute), 153

sheets (openpyxl.workbook.parser.WorkbookPackage at-tribute), 292

SHEETSTATE_HIDDEN (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

SHEETSTATE_VERYHIDDEN (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

SHEETSTATE_VISIBLE (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 340

SheetTitleException, 278SheetView (class in openpyxl.worksheet.views), 338sheetView (openpyxl.chartsheet.views.ChartsheetViewList

attribute), 158sheetView (openpyxl.worksheet.views.SheetViewList at-

tribute), 339SheetView() (in module open-

pyxl.worksheet.tests.test_views), 310SheetViewList (class in openpyxl.worksheet.views), 339SheetViewList() (in module open-

pyxl.worksheet.tests.test_views), 310sheetViews (openpyxl.chartsheet.chartsheet.Chartsheet

attribute), 153short_color() (in module openpyxl.utils.units), 279shortcutKey (openpyxl.workbook.defined_name.DefinedName

attribute), 289show (openpyxl.workbook.smart_tags.SmartTagProperties

attribute), 297show_gridlines (openpyxl.worksheet.worksheet.Worksheet

attribute), 343show_summary_below (open-

pyxl.worksheet.worksheet.Worksheet at-tribute), 343

show_summary_right (open-pyxl.worksheet.worksheet.Worksheet at-tribute), 343

showBorderUnselectedTables (open-pyxl.workbook.properties.WorkbookPropertiesattribute), 295

showBubbleSize (openpyxl.chart.label.DataLabel at-tribute), 130

showBubbleSize (openpyxl.chart.label.DataLabelList at-tribute), 131

showButton (openpyxl.worksheet.filters.FilterColumn at-tribute), 320

showCatName (openpyxl.chart.label.DataLabel at-tribute), 130

showCatName (openpyxl.chart.label.DataLabelList at-tribute), 131

showColumnStripes (open-pyxl.worksheet.table.TableStyleInfo attribute),337

showComments (openpyxl.workbook.views.CustomWorkbookViewattribute), 299

showDLblsOverMax (open-pyxl.chart.chartspace.ChartContainer at-tribute), 122

showDropDown (open-

Index 429

openpyxl Documentation, Release 2.4.9

pyxl.worksheet.datavalidation.DataValidationattribute), 314

showErrorMessage (open-pyxl.worksheet.datavalidation.DataValidationattribute), 314

showFirstColumn (open-pyxl.worksheet.table.TableStyleInfo attribute),337

showFormulaBar (open-pyxl.workbook.views.CustomWorkbookViewattribute), 299

showFormulas (openpyxl.worksheet.views.SheetView at-tribute), 338

showGridLines (openpyxl.worksheet.views.SheetViewattribute), 338

showHeader (openpyxl.worksheet.pivot.PivotSelectionattribute), 329

showHorizontalScroll (open-pyxl.workbook.views.BookView attribute),298

showHorizontalScroll (open-pyxl.workbook.views.CustomWorkbookViewattribute), 299

showHorzBorder (openpyxl.chart.chartspace.DataTableattribute), 124

showInkAnnotation (open-pyxl.workbook.properties.WorkbookPropertiesattribute), 295

showInputMessage (open-pyxl.worksheet.datavalidation.DataValidationattribute), 314

showKeys (openpyxl.chart.chartspace.DataTable at-tribute), 124

showLastColumn (open-pyxl.worksheet.table.TableStyleInfo attribute),337

showLeaderLines (openpyxl.chart.label.DataLabelattribute), 130

showLeaderLines (openpyxl.chart.label.DataLabelList at-tribute), 131

showLegendKey (openpyxl.chart.label.DataLabel at-tribute), 131

showLegendKey (openpyxl.chart.label.DataLabelList at-tribute), 131

showNegBubbles (open-pyxl.chart.bubble_chart.BubbleChart attribute),121

showObjects (openpyxl.workbook.properties.WorkbookPropertiesattribute), 295

showObjects (openpyxl.workbook.views.CustomWorkbookViewattribute), 300

showOutline (openpyxl.chart.chartspace.DataTable at-tribute), 124

showOutlineSymbols (open-

pyxl.worksheet.properties.Outline attribute),330

showOutlineSymbols (open-pyxl.worksheet.views.SheetView attribute),338

showPercent (openpyxl.chart.label.DataLabel attribute),131

showPercent (openpyxl.chart.label.DataLabelList at-tribute), 131

showPivotChartFilter (open-pyxl.workbook.properties.WorkbookPropertiesattribute), 295

showRowColHeaders (open-pyxl.worksheet.views.SheetView attribute),338

showRowStripes (open-pyxl.worksheet.table.TableStyleInfo attribute),337

showRuler (openpyxl.worksheet.views.SheetViewattribute), 339

showSerName (openpyxl.chart.label.DataLabel attribute),131

showSerName (openpyxl.chart.label.DataLabelList at-tribute), 131

showSheetTabs (openpyxl.workbook.views.BookViewattribute), 298

showSheetTabs (openpyxl.workbook.views.CustomWorkbookViewattribute), 300

showStatusbar (openpyxl.workbook.views.CustomWorkbookViewattribute), 300

showVal (openpyxl.chart.label.DataLabel attribute), 131showVal (openpyxl.chart.label.DataLabelList attribute),

131showValue (openpyxl.formatting.rule.DataBar attribute),

233showValue (openpyxl.formatting.rule.IconSet attribute),

233showVertBorder (openpyxl.chart.chartspace.DataTable

attribute), 124showVerticalScroll (open-

pyxl.workbook.views.BookView attribute),298

showVerticalScroll (open-pyxl.workbook.views.CustomWorkbookViewattribute), 300

showWhiteSpace (openpyxl.worksheet.views.SheetViewattribute), 339

showZeros (openpyxl.worksheet.views.SheetViewattribute), 339

shrink_to_fit (openpyxl.styles.alignment.Alignment at-tribute), 257

shrinkToFit (openpyxl.styles.alignment.Alignmentattribute), 257

Side (class in openpyxl.styles.borders), 259

430 Index

openpyxl Documentation, Release 2.4.9

Side() (in module openpyxl.styles.tests.test_borders), 252sideWall (openpyxl.chart.bar_chart.BarChart3D at-

tribute), 121sideWall (openpyxl.chart.chartspace.ChartContainer at-

tribute), 122simple() (in module openpyxl.develop.classify), 177SimpleTestProps() (in module open-

pyxl.worksheet.tests.test_properties), 308Singleton (class in openpyxl.compat.singleton), 165size (openpyxl.chart.error_bar.ErrorBars attribute), 130size (openpyxl.chart.marker.Marker attribute), 136size (openpyxl.styles.fonts.Font attribute), 265size (openpyxl.styles.table.TableStyleElement attribute),

270sizeRepresents (openpyxl.chart.bubble_chart.BubbleChart

attribute), 121sizeWithCells (openpyxl.comments.comment_sheet.ObjectAnchor

attribute), 161Slides (openpyxl.packaging.extended.ExtendedProperties

attribute), 245SmartTag (class in openpyxl.workbook.smart_tags), 297SmartTag() (in module open-

pyxl.workbook.tests.test_smart_tags), 286SmartTagList (class in openpyxl.workbook.smart_tags),

297SmartTagList() (in module open-

pyxl.workbook.tests.test_smart_tags), 286smartTagPr (openpyxl.workbook.parser.WorkbookPackage

attribute), 292SmartTagProperties (class in open-

pyxl.workbook.smart_tags), 297SmartTagProperties() (in module open-

pyxl.workbook.tests.test_smart_tags), 286smartTagType (openpyxl.workbook.smart_tags.SmartTagList

attribute), 297smartTagTypes (openpyxl.workbook.parser.WorkbookPackage

attribute), 292smooth (openpyxl.chart.line_chart.LineChart attribute),

134smooth (openpyxl.chart.line_chart.LineChart3D at-

tribute), 135smooth (openpyxl.chart.series.Series attribute), 142smooth (openpyxl.chart.series.XYSeries attribute), 144smtClean (openpyxl.drawing.text.CharacterProperties at-

tribute), 222smtId (openpyxl.drawing.text.CharacterProperties at-

tribute), 222SN_RE (openpyxl.formula.tokenizer.Tokenizer attribute),

238snd (openpyxl.drawing.text.Hyperlink attribute), 224softEdge (openpyxl.drawing.effect.EffectList attribute),

191SoftEdgesEffect (class in openpyxl.drawing.effect), 197solidFill (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145solidFill (openpyxl.drawing.line.LineProperties at-

tribute), 211solidFill (openpyxl.drawing.text.CharacterProperties at-

tribute), 222SomeType (class in open-

pyxl.descriptors.tests.test_sequence), 169sort (openpyxl.worksheet.protection.SheetProtection at-

tribute), 332sortBy (openpyxl.worksheet.filters.SortCondition at-

tribute), 321SortCondition (class in openpyxl.worksheet.filters), 321sortCondition (openpyxl.worksheet.filters.SortState at-

tribute), 322SortCondition() (in module open-

pyxl.worksheet.tests.test_filters), 305sortMethod (openpyxl.worksheet.filters.SortState at-

tribute), 322SortState (class in openpyxl.worksheet.filters), 321sortState (openpyxl.worksheet.filters.AutoFilter at-

tribute), 318sortState (openpyxl.worksheet.table.Table attribute), 334SortState() (in module open-

pyxl.worksheet.tests.test_filters), 305sourceLinked (openpyxl.chart.data_source.NumFmt at-

tribute), 128sourceObject (openpyxl.chartsheet.publish.WebPublishItem

attribute), 155sourceObject (openpyxl.workbook.web.WebPublishObject

attribute), 300sourceRef (openpyxl.chartsheet.publish.WebPublishItem

attribute), 155sourceType (openpyxl.chartsheet.publish.WebPublishItem

attribute), 155sp (openpyxl.drawing.line.DashStop attribute), 209sp (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218sp (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

attribute), 219sp (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220sp3d (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145space (openpyxl.drawing.line.DashStop attribute), 209Spacing (class in openpyxl.drawing.text), 229spAutoFit (openpyxl.drawing.text.RichTextProperties at-

tribute), 229spc (openpyxl.drawing.text.CharacterProperties at-

tribute), 222spcAft (openpyxl.drawing.text.ParagraphProperties at-

tribute), 227spcBef (openpyxl.drawing.text.ParagraphProperties at-

tribute), 227spcCol (openpyxl.drawing.text.RichTextProperties

Index 431

openpyxl Documentation, Release 2.4.9

attribute), 229spcFirstLastPara (open-

pyxl.drawing.text.RichTextProperties at-tribute), 229

spcPct (openpyxl.drawing.text.Spacing attribute), 229spcPts (openpyxl.drawing.text.Spacing attribute), 229SphereCoords (class in openpyxl.drawing.shapes), 217spinCount (openpyxl.chartsheet.protection.ChartsheetProtection

attribute), 155spinCount (openpyxl.workbook.protection.FileSharing

attribute), 295spinCount (openpyxl.worksheet.protection.SheetProtection

attribute), 332splitPos (openpyxl.chart.pie_chart.ProjectedPieChart at-

tribute), 138splitType (openpyxl.chart.pie_chart.ProjectedPieChart at-

tribute), 138spLocks (openpyxl.drawing.graphic.NonVisualDrawingShapeProps

attribute), 206spPr (openpyxl.chart.axis.ChartLines attribute), 114spPr (openpyxl.chart.axis.DateAxis attribute), 115spPr (openpyxl.chart.axis.DisplayUnitsLabel attribute),

115spPr (openpyxl.chart.axis.NumericAxis attribute), 117spPr (openpyxl.chart.axis.SeriesAxis attribute), 118spPr (openpyxl.chart.axis.TextAxis attribute), 119spPr (openpyxl.chart.chartspace.ChartSpace attribute),

123spPr (openpyxl.chart.chartspace.DataTable attribute), 124spPr (openpyxl.chart.chartspace.PivotFormat attribute),

125spPr (openpyxl.chart.chartspace.PlotArea attribute), 126spPr (openpyxl.chart.error_bar.ErrorBars attribute), 130spPr (openpyxl.chart.label.DataLabel attribute), 131spPr (openpyxl.chart.label.DataLabelList attribute), 131spPr (openpyxl.chart.legend.Legend attribute), 133spPr (openpyxl.chart.marker.DataPoint attribute), 135spPr (openpyxl.chart.marker.Marker attribute), 136spPr (openpyxl.chart.series.Series attribute), 142spPr (openpyxl.chart.series.XYSeries attribute), 144spPr (openpyxl.chart.surface_chart.BandFormat at-

tribute), 146spPr (openpyxl.chart.title.Title attribute), 148spPr (openpyxl.chart.trendline.Trendline attribute), 149spPr (openpyxl.chart.trendline.TrendlineLabel attribute),

149spPr (openpyxl.drawing.graphic.PictureFrame attribute),

207spPr (openpyxl.drawing.graphic.Shape attribute), 208SpreadsheetDrawing (class in open-

pyxl.drawing.spreadsheet_drawing), 219SpreadsheetDrawing() (in module open-

pyxl.drawing.tests.test_spreadsheet_drawing),184

sqref (openpyxl.formatting.formatting.ConditionalFormattingattribute), 232

sqref (openpyxl.worksheet.datavalidation.DataValidationattribute), 314

sqref (openpyxl.worksheet.views.Selection attribute), 338srcRect (openpyxl.drawing.fill.BlipFillProperties at-

tribute), 199srgbClr (openpyxl.drawing.colors.ColorChoice attribute),

186srgbClr (openpyxl.drawing.effect.GlowEffect attribute),

192srgbClr (openpyxl.drawing.effect.InnerShadowEffect at-

tribute), 193srgbClr (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 195srgbClr (openpyxl.drawing.effect.PresetShadowEffect at-

tribute), 196stA (openpyxl.drawing.effect.ReflectionEffect attribute),

196start (openpyxl.styles.borders.Border attribute), 259start (openpyxl.worksheet.pivot.PivotSelection attribute),

329start_color (openpyxl.styles.fills.PatternFill attribute),

264startAt (openpyxl.drawing.text.AutonumberBullet at-

tribute), 220state (openpyxl.chartsheet.custom.CustomChartsheetView

attribute), 154state (openpyxl.workbook.parser.ChildSheet attribute),

291state (openpyxl.worksheet.views.Pane attribute), 337statusBar (openpyxl.workbook.defined_name.DefinedName

attribute), 289stCxn (openpyxl.drawing.graphic.NonVisualConnectorProperties

attribute), 205stdDev (openpyxl.formatting.rule.Rule attribute), 234stdDevPSubtotal (open-

pyxl.worksheet.pivot.PivotAreaReferenceattribute), 328

stdDevSubtotal (openpyxl.worksheet.pivot.PivotAreaReferenceattribute), 328

StockChart (class in openpyxl.chart.stock_chart), 145stockChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 126StockChart() (in module open-

pyxl.chart.tests.test_stock_chart), 111stop (openpyxl.styles.fills.GradientFill attribute), 263stop_list (openpyxl.drawing.fill.GradientFillProperties at-

tribute), 199stopIfTrue (openpyxl.formatting.rule.Rule attribute), 234stPos (openpyxl.drawing.effect.ReflectionEffect at-

tribute), 196strCache (openpyxl.chart.data_source.StrRef attribute),

128

432 Index

openpyxl Documentation, Release 2.4.9

StrData (class in openpyxl.chart.data_source), 128StrData() (in module open-

pyxl.chart.tests.test_data_source), 105stretch (openpyxl.drawing.fill.BlipFillProperties at-

tribute), 199StretchInfoProperties (class in openpyxl.drawing.fill),

201StretchInfoProperties() (in module open-

pyxl.drawing.tests.test_fill), 179Strict (class in openpyxl.descriptors), 176strike (openpyxl.cell.text.InlineFont attribute), 99strike (openpyxl.drawing.text.CharacterProperties at-

tribute), 222strike (openpyxl.styles.fonts.Font attribute), 265strikethrough (openpyxl.styles.fonts.Font attribute), 265String (class in openpyxl.descriptors.base), 172string() (in module openpyxl.descriptors.tests.test_base),

167STRING_REGEXES (open-

pyxl.formula.tokenizer.Tokenizer attribute),238

strip_ws_name() (openpyxl.formula.translate.Translatorstatic method), 239

strLit (openpyxl.chart.data_source.AxDataSource at-tribute), 127

stroke (openpyxl.drawing.shapes.Path2D attribute), 215StrRef (class in openpyxl.chart.data_source), 128strRef (openpyxl.chart.data_source.AxDataSource

attribute), 127strRef (openpyxl.chart.series.SeriesLabel attribute), 143strRef (openpyxl.chart.text.Text attribute), 147StrRef() (in module open-

pyxl.chart.tests.test_data_source), 105StrVal (class in openpyxl.chart.data_source), 129StrVal() (in module open-

pyxl.chart.tests.test_data_source), 105style (openpyxl.cell.interface.AbstractCell attribute), 98style (openpyxl.chart.chartspace.ChartSpace attribute),

123style (openpyxl.chart.error_bar.ErrorBars attribute), 130style (openpyxl.drawing.graphic.PictureFrame attribute),

207style (openpyxl.drawing.graphic.Shape attribute), 208style (openpyxl.styles.borders.Side attribute), 259style (openpyxl.styles.styleable.StyleableObject at-

tribute), 269style (openpyxl.worksheet.dimensions.Dimension at-

tribute), 316style_array (openpyxl.cell.read_only.ReadOnlyCell at-

tribute), 99style_id (openpyxl.styles.styleable.StyleableObject at-

tribute), 269style_names (openpyxl.workbook.workbook.Workbook

attribute), 303

StyleableObject (class in openpyxl.styles.styleable), 268StyleableObject() (in module open-

pyxl.styles.tests.test_styleable), 255StyleArray (class in openpyxl.styles.cell_style), 260StyleArray() (in module open-

pyxl.styles.tests.test_cell_style), 252StyleDescriptor (class in openpyxl.styles.styleable), 268StyleMatrixReference (class in open-

pyxl.drawing.shapes), 217StyleProxy (class in openpyxl.styles.proxy), 268styles (openpyxl.styles.differential.DifferentialStyleList

attribute), 263Stylesheet (class in openpyxl.styles.stylesheet), 269Stylesheet() (in module open-

pyxl.styles.tests.test_stylesheet), 256subject (openpyxl.packaging.core.DocumentProperties

attribute), 243subtype (openpyxl.formula.tokenizer.Token attribute),

238summaryBelow (openpyxl.worksheet.properties.Outline

attribute), 330summaryRight (openpyxl.worksheet.properties.Outline

attribute), 330sumSubtotal (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328Surface() (in module open-

pyxl.chart.tests.test_chartspace), 104surface3DChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 126SurfaceChart (class in openpyxl.chart.surface_chart), 146surfaceChart (openpyxl.chart.chartspace.PlotArea at-

tribute), 126SurfaceChart() (in module open-

pyxl.chart.tests.test_surface_chart), 111SurfaceChart3D (class in openpyxl.chart.surface_chart),

146SurfaceChart3D() (in module open-

pyxl.chart.tests.test_surface_chart), 111sx (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 195sx (openpyxl.drawing.effect.ReflectionEffect attribute),

197sx (openpyxl.drawing.fill.TileInfoProperties attribute),

201sy (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 195sy (openpyxl.drawing.effect.ReflectionEffect attribute),

197sy (openpyxl.drawing.fill.TileInfoProperties attribute),

202sym (openpyxl.drawing.text.CharacterProperties at-

tribute), 222symbol (openpyxl.chart.marker.Marker attribute), 136syncHorizontal (openpyxl.worksheet.properties.WorksheetProperties

Index 433

openpyxl Documentation, Release 2.4.9

attribute), 330syncRef (openpyxl.worksheet.properties.WorksheetProperties

attribute), 331syncVertical (openpyxl.worksheet.properties.WorksheetProperties

attribute), 331sysClr (openpyxl.drawing.colors.ColorChoice attribute),

186sysClr (openpyxl.drawing.effect.GlowEffect attribute),

192sysClr (openpyxl.drawing.effect.InnerShadowEffect at-

tribute), 193sysClr (openpyxl.drawing.effect.OuterShadowEffect at-

tribute), 195sysClr (openpyxl.drawing.effect.PresetShadowEffect at-

tribute), 196SystemColor (class in openpyxl.drawing.colors), 188SystemColor() (in module open-

pyxl.drawing.tests.test_color), 178sz (openpyxl.cell.text.InlineFont attribute), 99sz (openpyxl.drawing.text.CharacterProperties attribute),

223sz (openpyxl.styles.fonts.Font attribute), 265

Tt (openpyxl.cell.text.PhoneticText attribute), 100t (openpyxl.cell.text.RichText attribute), 100t (openpyxl.cell.text.Text attribute), 101t (openpyxl.chart.print_settings.PageMargins attribute),

139t (openpyxl.drawing.fill.RelativeRect attribute), 201t (openpyxl.drawing.shapes.GeomRect attribute), 214t (openpyxl.drawing.text.RegularTextRun attribute), 227t (openpyxl.drawing.text.TextField attribute), 230t (openpyxl.workbook.external_link.external.ExternalCell

attribute), 281tab (openpyxl.drawing.text.TabStopList attribute), 229tabColor (openpyxl.chartsheet.properties.ChartsheetProperties

attribute), 154tabColor (openpyxl.worksheet.properties.WorksheetProperties

attribute), 331Table (class in openpyxl.worksheet.table), 333table (openpyxl.styles.table.TableStyle attribute), 270Table() (in module openpyxl.worksheet.tests.test_table),

309tableBorderDxfId (openpyxl.worksheet.table.Table at-

tribute), 334TableColumn (class in openpyxl.worksheet.table), 335TableColumn() (in module open-

pyxl.worksheet.tests.test_table), 309tableColumns (openpyxl.worksheet.table.Table attribute),

334TableFormula (class in openpyxl.worksheet.table), 336TableFormula() (in module open-

pyxl.worksheet.tests.test_table), 309

TableNameDescriptor (class in open-pyxl.worksheet.table), 336

tablePart (openpyxl.worksheet.table.TablePartList at-tribute), 336

TablePartList (class in openpyxl.worksheet.table), 336TablePartList() (in module open-

pyxl.worksheet.tests.test_table), 309TableStyle (class in openpyxl.styles.table), 270tableStyle (openpyxl.styles.table.TableStyleList at-

tribute), 271TableStyle() (in module openpyxl.styles.tests.test_table),

256TableStyleElement (class in openpyxl.styles.table), 270tableStyleElement (openpyxl.styles.table.TableStyle at-

tribute), 270TableStyleElement() (in module open-

pyxl.styles.tests.test_table), 256TableStyleInfo (class in openpyxl.worksheet.table), 336tableStyleInfo (openpyxl.worksheet.table.Table attribute),

334TableStyleInfo() (in module open-

pyxl.worksheet.tests.test_table), 309TableStyleList (class in openpyxl.styles.table), 270TableStyleList() (in module open-

pyxl.styles.tests.test_table), 256tableStyles (openpyxl.styles.stylesheet.Stylesheet at-

tribute), 270tableType (openpyxl.worksheet.table.Table attribute), 334tabLst (openpyxl.drawing.text.ParagraphProperties at-

tribute), 227tabRatio (openpyxl.workbook.views.BookView at-

tribute), 298tabRatio (openpyxl.workbook.views.CustomWorkbookView

attribute), 300tabSelected (openpyxl.chartsheet.views.ChartsheetView

attribute), 158tabSelected (openpyxl.worksheet.views.SheetView

attribute), 339TabStop (class in openpyxl.drawing.text), 229TabStopList (class in openpyxl.drawing.text), 229tagname (openpyxl.cell.text.InlineFont attribute), 99tagname (openpyxl.cell.text.PhoneticProperties attribute),

100tagname (openpyxl.cell.text.PhoneticText attribute), 100tagname (openpyxl.cell.text.RichText attribute), 100tagname (openpyxl.cell.text.Text attribute), 101tagname (openpyxl.chart.area_chart.AreaChart attribute),

113tagname (openpyxl.chart.area_chart.AreaChart3D at-

tribute), 113tagname (openpyxl.chart.axis.ChartLines attribute), 114tagname (openpyxl.chart.axis.DateAxis attribute), 115tagname (openpyxl.chart.axis.DisplayUnitsLabel at-

tribute), 115

434 Index

openpyxl Documentation, Release 2.4.9

tagname (openpyxl.chart.axis.DisplayUnitsLabelList at-tribute), 116

tagname (openpyxl.chart.axis.NumericAxis attribute),117

tagname (openpyxl.chart.axis.Scaling attribute), 117tagname (openpyxl.chart.axis.SeriesAxis attribute), 118tagname (openpyxl.chart.axis.TextAxis attribute), 119tagname (openpyxl.chart.bar_chart.BarChart attribute),

120tagname (openpyxl.chart.bar_chart.BarChart3D at-

tribute), 121tagname (openpyxl.chart.bubble_chart.BubbleChart at-

tribute), 121tagname (openpyxl.chart.chartspace.ChartContainer at-

tribute), 122tagname (openpyxl.chart.chartspace.ChartSpace at-

tribute), 123tagname (openpyxl.chart.chartspace.DataTable attribute),

124tagname (openpyxl.chart.chartspace.ExternalData at-

tribute), 124tagname (openpyxl.chart.chartspace.PivotFormat at-

tribute), 125tagname (openpyxl.chart.chartspace.PivotFormatList at-

tribute), 125tagname (openpyxl.chart.chartspace.PivotSource at-

tribute), 125tagname (openpyxl.chart.chartspace.PlotArea attribute),

126tagname (openpyxl.chart.chartspace.Protection attribute),

127tagname (openpyxl.chart.data_source.StrData attribute),

128tagname (openpyxl.chart.data_source.StrRef attribute),

129tagname (openpyxl.chart.data_source.StrVal attribute),

129tagname (openpyxl.chart.error_bar.ErrorBars attribute),

130tagname (openpyxl.chart.label.DataLabel attribute), 131tagname (openpyxl.chart.label.DataLabelList attribute),

132tagname (openpyxl.chart.layout.Layout attribute), 132tagname (openpyxl.chart.layout.ManualLayout attribute),

132tagname (openpyxl.chart.legend.Legend attribute), 133tagname (openpyxl.chart.legend.LegendEntry attribute),

133tagname (openpyxl.chart.line_chart.LineChart attribute),

134tagname (openpyxl.chart.line_chart.LineChart3D at-

tribute), 135tagname (openpyxl.chart.marker.DataPoint attribute), 136tagname (openpyxl.chart.marker.Marker attribute), 136

tagname (openpyxl.chart.picture.PictureOptions at-tribute), 136

tagname (openpyxl.chart.pie_chart.CustomSplit at-tribute), 136

tagname (openpyxl.chart.pie_chart.DoughnutChartattribute), 137

tagname (openpyxl.chart.pie_chart.PieChart attribute),137

tagname (openpyxl.chart.pie_chart.PieChart3D attribute),137

tagname (openpyxl.chart.pie_chart.ProjectedPieChart at-tribute), 138

tagname (openpyxl.chart.print_settings.PageMargins at-tribute), 139

tagname (openpyxl.chart.print_settings.PrintSettings at-tribute), 139

tagname (openpyxl.chart.radar_chart.RadarChart at-tribute), 140

tagname (openpyxl.chart.scatter_chart.ScatterChart at-tribute), 141

tagname (openpyxl.chart.series.Series attribute), 142tagname (openpyxl.chart.series.SeriesLabel attribute),

143tagname (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145tagname (openpyxl.chart.stock_chart.StockChart at-

tribute), 146tagname (openpyxl.chart.surface_chart.BandFormat at-

tribute), 146tagname (openpyxl.chart.surface_chart.BandFormatList

attribute), 146tagname (openpyxl.chart.surface_chart.SurfaceChart at-

tribute), 146tagname (openpyxl.chart.surface_chart.SurfaceChart3D

attribute), 147tagname (openpyxl.chart.text.RichText attribute), 147tagname (openpyxl.chart.title.Title attribute), 148tagname (openpyxl.chart.trendline.Trendline attribute),

149tagname (openpyxl.chart.trendline.TrendlineLabel

attribute), 149tagname (openpyxl.chart.updown_bars.UpDownBars at-

tribute), 150tagname (openpyxl.chartsheet.chartsheet.Chartsheet at-

tribute), 153tagname (openpyxl.chartsheet.custom.CustomChartsheetView

attribute), 154tagname (openpyxl.chartsheet.custom.CustomChartsheetViews

attribute), 154tagname (openpyxl.chartsheet.properties.ChartsheetProperties

attribute), 154tagname (openpyxl.chartsheet.protection.ChartsheetProtection

attribute), 155tagname (openpyxl.chartsheet.publish.WebPublishItem

Index 435

openpyxl Documentation, Release 2.4.9

attribute), 155tagname (openpyxl.chartsheet.publish.WebPublishItems

attribute), 155tagname (openpyxl.chartsheet.relation.SheetBackgroundPicture

attribute), 158tagname (openpyxl.chartsheet.views.ChartsheetView at-

tribute), 158tagname (openpyxl.chartsheet.views.ChartsheetViewList

attribute), 158tagname (openpyxl.comments.author.AuthorList at-

tribute), 160tagname (openpyxl.comments.comment_sheet.CommentRecord

attribute), 161tagname (openpyxl.comments.comment_sheet.CommentSheet

attribute), 161tagname (openpyxl.descriptors.serialisable.Serialisable

attribute), 176tagname (openpyxl.drawing.colors.ColorChoice at-

tribute), 186tagname (openpyxl.drawing.colors.ColorMapping at-

tribute), 187tagname (openpyxl.drawing.colors.HSLColor attribute),

187tagname (openpyxl.drawing.colors.RGBPercent at-

tribute), 187tagname (openpyxl.drawing.colors.SystemColor at-

tribute), 189tagname (openpyxl.drawing.fill.Blip attribute), 198tagname (openpyxl.drawing.fill.BlipFillProperties at-

tribute), 199tagname (openpyxl.drawing.fill.GradientFillProperties at-

tribute), 199tagname (openpyxl.drawing.fill.GradientStop attribute),

200tagname (openpyxl.drawing.fill.GradientStopList at-

tribute), 200tagname (openpyxl.drawing.fill.PatternFillProperties at-

tribute), 201tagname (openpyxl.drawing.fill.RelativeRect attribute),

201tagname (openpyxl.drawing.fill.StretchInfoProperties at-

tribute), 201tagname (openpyxl.drawing.graphic.ChartRelation

attribute), 202tagname (openpyxl.drawing.graphic.GraphicData at-

tribute), 202tagname (openpyxl.drawing.graphic.GraphicFrame at-

tribute), 203tagname (openpyxl.drawing.graphic.GraphicObject at-

tribute), 203tagname (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205tagname (openpyxl.drawing.graphic.NonVisualDrawingShapeProps

attribute), 206

tagname (openpyxl.drawing.graphic.NonVisualGraphicFrameattribute), 206

tagname (openpyxl.drawing.graphic.NonVisualGraphicFramePropertiesattribute), 206

tagname (openpyxl.drawing.graphic.NonVisualPicturePropertiesattribute), 207

tagname (openpyxl.drawing.graphic.PictureFrameattribute), 207

tagname (openpyxl.drawing.graphic.PictureLocking at-tribute), 208

tagname (openpyxl.drawing.graphic.PictureNonVisual at-tribute), 208

tagname (openpyxl.drawing.graphic.ShapeMeta at-tribute), 209

tagname (openpyxl.drawing.line.DashStop attribute), 209tagname (openpyxl.drawing.line.LineEndProperties at-

tribute), 210tagname (openpyxl.drawing.line.LineJoinMiterProperties

attribute), 210tagname (openpyxl.drawing.line.LineProperties at-

tribute), 211tagname (openpyxl.drawing.shapes.Transform2D at-

tribute), 218tagname (openpyxl.drawing.spreadsheet_drawing.AbsoluteAnchor

attribute), 218tagname (openpyxl.drawing.spreadsheet_drawing.AnchorMarker

attribute), 219tagname (openpyxl.drawing.spreadsheet_drawing.OneCellAnchor

attribute), 219tagname (openpyxl.drawing.spreadsheet_drawing.SpreadsheetDrawing

attribute), 220tagname (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220tagname (openpyxl.drawing.text.CharacterProperties at-

tribute), 223tagname (openpyxl.drawing.text.Font attribute), 223tagname (openpyxl.drawing.text.ListStyle attribute), 225tagname (openpyxl.drawing.text.Paragraph attribute), 225tagname (openpyxl.drawing.text.ParagraphProperties at-

tribute), 227tagname (openpyxl.drawing.text.RegularTextRun at-

tribute), 227tagname (openpyxl.drawing.text.RichTextProperties at-

tribute), 229tagname (openpyxl.formatting.formatting.ConditionalFormatting

attribute), 232tagname (openpyxl.formatting.rule.ColorScale attribute),

232tagname (openpyxl.formatting.rule.DataBar attribute),

233tagname (openpyxl.formatting.rule.FormatObject at-

tribute), 233tagname (openpyxl.formatting.rule.IconSet attribute),

233

436 Index

openpyxl Documentation, Release 2.4.9

tagname (openpyxl.formatting.rule.Rule attribute), 234tagname (openpyxl.packaging.core.DocumentProperties

attribute), 243tagname (openpyxl.packaging.extended.ExtendedProperties

attribute), 245tagname (openpyxl.packaging.manifest.FileExtension at-

tribute), 245tagname (openpyxl.packaging.manifest.Manifest at-

tribute), 246tagname (openpyxl.packaging.manifest.Override at-

tribute), 246tagname (openpyxl.packaging.relationship.Relationship

attribute), 246tagname (openpyxl.packaging.relationship.RelationshipList

attribute), 247tagname (openpyxl.styles.alignment.Alignment at-

tribute), 257tagname (openpyxl.styles.borders.Border attribute), 259tagname (openpyxl.styles.cell_style.CellStyle attribute),

260tagname (openpyxl.styles.cell_style.CellStyleList at-

tribute), 260tagname (openpyxl.styles.cell_style.StyleArray attribute),

261tagname (openpyxl.styles.colors.Color attribute), 261tagname (openpyxl.styles.differential.DifferentialStyle

attribute), 262tagname (openpyxl.styles.differential.DifferentialStyleList

attribute), 263tagname (openpyxl.styles.fills.Fill attribute), 263tagname (openpyxl.styles.fills.GradientFill attribute), 263tagname (openpyxl.styles.fills.PatternFill attribute), 264tagname (openpyxl.styles.fonts.Font attribute), 265tagname (openpyxl.styles.protection.Protection attribute),

268tagname (openpyxl.styles.stylesheet.Stylesheet attribute),

270tagname (openpyxl.styles.table.TableStyle attribute), 270tagname (openpyxl.styles.table.TableStyleElement

attribute), 270tagname (openpyxl.styles.table.TableStyleList attribute),

271tagname (openpyxl.workbook.defined_name.DefinedName

attribute), 289tagname (openpyxl.workbook.defined_name.DefinedNameList

attribute), 290tagname (openpyxl.workbook.external_link.external.ExternalBook

attribute), 281tagname (openpyxl.workbook.external_link.external.ExternalDefinedName

attribute), 281tagname (openpyxl.workbook.external_link.external.ExternalLink

attribute), 282tagname (openpyxl.workbook.external_reference.ExternalReference

attribute), 290

tagname (openpyxl.workbook.function_group.FunctionGroupattribute), 290

tagname (openpyxl.workbook.function_group.FunctionGroupListattribute), 290

tagname (openpyxl.workbook.parser.ChildSheet at-tribute), 291

tagname (openpyxl.workbook.parser.FileRecoveryPropertiesattribute), 291

tagname (openpyxl.workbook.parser.WorkbookPackageattribute), 292

tagname (openpyxl.workbook.pivot.PivotCache at-tribute), 292

tagname (openpyxl.workbook.pivot.PivotCacheList at-tribute), 293

tagname (openpyxl.workbook.properties.CalcPropertiesattribute), 293

tagname (openpyxl.workbook.properties.FileVersion at-tribute), 294

tagname (openpyxl.workbook.properties.WorkbookPropertiesattribute), 295

tagname (openpyxl.workbook.protection.FileSharing at-tribute), 296

tagname (openpyxl.workbook.protection.WorkbookProtectionattribute), 297

tagname (openpyxl.workbook.smart_tags.SmartTag at-tribute), 297

tagname (openpyxl.workbook.smart_tags.SmartTagListattribute), 297

tagname (openpyxl.workbook.smart_tags.SmartTagPropertiesattribute), 297

tagname (openpyxl.workbook.views.BookView at-tribute), 298

tagname (openpyxl.workbook.views.CustomWorkbookViewattribute), 300

tagname (openpyxl.workbook.web.WebPublishingattribute), 301

tagname (openpyxl.workbook.web.WebPublishObject at-tribute), 300

tagname (openpyxl.workbook.web.WebPublishObjectListattribute), 300

tagname (openpyxl.worksheet.datavalidation.DataValidationattribute), 314

tagname (openpyxl.worksheet.datavalidation.DataValidationListattribute), 315

tagname (openpyxl.worksheet.dimensions.SheetDimensionattribute), 317

tagname (openpyxl.worksheet.dimensions.SheetFormatPropertiesattribute), 317

tagname (openpyxl.worksheet.drawing.Drawing at-tribute), 318

tagname (openpyxl.worksheet.filters.AutoFilter at-tribute), 318

tagname (openpyxl.worksheet.filters.ColorFilter at-tribute), 319

Index 437

openpyxl Documentation, Release 2.4.9

tagname (openpyxl.worksheet.filters.CustomFilterattribute), 319

tagname (openpyxl.worksheet.filters.CustomFilters at-tribute), 319

tagname (openpyxl.worksheet.filters.DateGroupItem at-tribute), 319

tagname (openpyxl.worksheet.filters.DynamicFilter at-tribute), 319

tagname (openpyxl.worksheet.filters.FilterColumnattribute), 320

tagname (openpyxl.worksheet.filters.Filters attribute),321

tagname (openpyxl.worksheet.filters.IconFilter attribute),321

tagname (openpyxl.worksheet.filters.SortCondition at-tribute), 321

tagname (openpyxl.worksheet.filters.SortState attribute),322

tagname (openpyxl.worksheet.filters.Top10 attribute),322

tagname (openpyxl.worksheet.header_footer.HeaderFooterattribute), 323

tagname (openpyxl.worksheet.hyperlink.Hyperlink at-tribute), 323

tagname (openpyxl.worksheet.hyperlink.HyperlinkListattribute), 324

tagname (openpyxl.worksheet.merge.MergeCell at-tribute), 324

tagname (openpyxl.worksheet.merge.MergeCells at-tribute), 324

tagname (openpyxl.worksheet.page.PageMargins at-tribute), 324

tagname (openpyxl.worksheet.page.PrintOptions at-tribute), 325

tagname (openpyxl.worksheet.page.PrintPageSetup at-tribute), 326

tagname (openpyxl.worksheet.pagebreak.Break at-tribute), 326

tagname (openpyxl.worksheet.pagebreak.PageBreak at-tribute), 327

tagname (openpyxl.worksheet.properties.Outline at-tribute), 330

tagname (openpyxl.worksheet.properties.PageSetupPropertiesattribute), 330

tagname (openpyxl.worksheet.properties.WorksheetPropertiesattribute), 331

tagname (openpyxl.worksheet.protection.SheetProtectionattribute), 332

tagname (openpyxl.worksheet.table.Table attribute), 334tagname (openpyxl.worksheet.table.TableColumn at-

tribute), 335tagname (openpyxl.worksheet.table.TableFormula at-

tribute), 336tagname (openpyxl.worksheet.table.TablePartList at-

tribute), 336tagname (openpyxl.worksheet.table.TableStyleInfo at-

tribute), 337tagname (openpyxl.worksheet.table.XMLColumnProps

attribute), 337tagname (openpyxl.worksheet.views.SheetView at-

tribute), 339tagname (openpyxl.worksheet.views.SheetViewList at-

tribute), 339tailEnd (openpyxl.drawing.line.LineProperties attribute),

211Target (openpyxl.packaging.relationship.Relationship at-

tribute), 246target (openpyxl.packaging.relationship.Relationship at-

tribute), 246target (openpyxl.worksheet.hyperlink.Hyperlink at-

tribute), 323TargetMode (openpyxl.packaging.relationship.Relationship

attribute), 246targetScreenSize (open-

pyxl.workbook.web.WebPublishing attribute),301

Template (openpyxl.packaging.extended.ExtendedPropertiesattribute), 245

template (openpyxl.workbook.workbook.Workbook at-tribute), 303

test_absolute() (in module openpyxl.utils.tests.test_cell),274

test_absolute_anchor() (open-pyxl.drawing.tests.test_drawing.TestDrawingmethod), 178

test_add() (in module openpyxl.styles.tests.test_proxy),255

test_add_after_sqref() (open-pyxl.worksheet.tests.test_datavalidation.TestDataValidationmethod), 303

test_add_attrs() (openpyxl.descriptors.tests.test_serialisable.TestSerialisablemethod), 170

test_add_correct_sheet() (in module open-pyxl.workbook.tests.test_workbook), 287

test_add_data_cols() (open-pyxl.chart.tests.test_chart.TestChartBasemethod), 103

test_add_data_rows() (open-pyxl.chart.tests.test_chart.TestChartBasemethod), 103

test_add_filter_column() (open-pyxl.worksheet.tests.test_filters.TestAutoFiltermethod), 305

test_add_invalid_worksheet_class_instance() (in moduleopenpyxl.workbook.tests.test_workbook), 287

test_add_named_range() (in module open-pyxl.workbook.tests.test_workbook), 287

test_add_sheet_from_other_workbook() (in module

438 Index

openpyxl Documentation, Release 2.4.9

openpyxl.workbook.tests.test_workbook), 287test_add_sheetname() (in module open-

pyxl.workbook.tests.test_workbook), 287test_add_sort_condition() (open-

pyxl.worksheet.tests.test_filters.TestAutoFiltermethod), 305

test_alias() (in module open-pyxl.styles.tests.test_alignments), 252

test_alignment() (in module openpyxl.cell.tests.test_cell),93

test_alignment() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_allow_duplicate_ctor() (in module open-pyxl.utils.tests.test_indexed_list), 275

test_anchor() (openpyxl.drawing.tests.test_image.TestImagemethod), 182

test_anchor_onecell() (open-pyxl.drawing.tests.test_image.TestImagemethod), 182

test_angle_to_degrees() (in module open-pyxl.utils.tests.test_units), 275

test_append() (in module open-pyxl.writer.tests.test_write_only), 346

test_append() (openpyxl.packaging.tests.test_manifest.TestManifestmethod), 240

test_append() (openpyxl.workbook.tests.test_defined_name.TestDefinitionListmethod), 284

test_append() (openpyxl.worksheet.tests.test_hyperlink.TestHyperlinkListmethod), 307

test_append() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_append_2d_list() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_append_cell() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_append_dict_index() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_append_dict_letter() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_append_invalid() (open-pyxl.styles.tests.test_named_style.TestNamedStyleListmethod), 254

test_append_iterator() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_append_list() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_append_only() (open-

pyxl.workbook.tests.test_defined_name.TestDefinitionListmethod), 284

test_append_range() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_append_valid() (open-pyxl.styles.tests.test_named_style.TestNamedStyleListmethod), 254

test_argb() (in module openpyxl.styles.tests.test_colors),253

test_as_name() (openpyxl.styles.tests.test_named_style.TestNamedStylemethod), 254

test_as_tuple() (openpyxl.styles.tests.test_named_style.TestNamedStylemethod), 254

test_as_xf() (openpyxl.styles.tests.test_named_style.TestNamedStylemethod), 254

test_assert_empty_token() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 235

test_assign_name() (open-pyxl.styles.tests.test_styleable.TestNamedStylemethod), 255

test_assign_names() (open-pyxl.packaging.tests.test_workbook.TestWorkbookParsermethod), 241

test_assign_number_formats() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_assign_style() (open-pyxl.styles.tests.test_styleable.TestNamedStylemethod), 255

test_attribute_group() (in module open-pyxl.develop.tests.test_classify), 176

test_auto() (openpyxl.styles.tests.test_colors.TestColormethod), 253

test_auto_filter() (in module open-pyxl.reader.tests.test_worksheet), 248

test_auto_filter() (in module open-pyxl.writer.tests.test_write_only), 346

test_auto_filter() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_autoPageBreaks() (open-pyxl.worksheet.tests.test_page.TestPageSetupmethod), 308

test_backend() (in module openpyxl.tests.test_backend),271

test_bad_append() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_bad_column_index() (in module open-pyxl.utils.tests.test_cell), 274

test_bad_encoding() (open-pyxl.cell.tests.test_cell.TestEncoding method),

Index 439

openpyxl Documentation, Release 2.4.9

93test_base_date() (in module open-

pyxl.cell.tests.test_read_only), 95test_bind() (openpyxl.comments.tests.test_comment.TestComment

method), 159test_bind() (openpyxl.styles.tests.test_named_style.TestNamedStyle

method), 254test_binding() (openpyxl.descriptors.tests.test_serialisable.TestRelation

method), 170test_bool() (in module open-

pyxl.cell.tests.test_read_only), 95test_bool() (openpyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawing

method), 184test_bool() (openpyxl.worksheet.tests.test_filters.TestAutoFilter

method), 305test_bool() (openpyxl.worksheet.tests.test_filters.TestSortState

method), 306test_bool() (openpyxl.worksheet.tests.test_header.TestHeaderFooter

method), 306test_bool() (openpyxl.worksheet.tests.test_header.TestHeaderFooterItem

method), 307test_bool() (openpyxl.worksheet.tests.test_header.TestHeaderFooterPart

method), 307test_bool_value() (in module open-

pyxl.descriptors.tests.test_nested), 169test_boolean() (in module openpyxl.cell.tests.test_cell),

93test_boolean() (in module open-

pyxl.reader.tests.test_worksheet), 249test_border() (in module openpyxl.cell.tests.test_cell), 94test_border_color() (open-

pyxl.drawing.tests.test_shape.TestShapemethod), 183

test_border_width() (open-pyxl.drawing.tests.test_shape.TestShapemethod), 183

test_bounding_box() (in module open-pyxl.drawing.tests.test_image), 182

test_bounds() (in module openpyxl.utils.tests.test_cell),274

test_brk() (openpyxl.worksheet.tests.test_pagebreak.TestPageBreakmethod), 308

test_broken_sheet_ref() (open-pyxl.packaging.tests.test_workbook.TestWorkbookParsermethod), 241

test_builtin() (openpyxl.styles.tests.test_styleable.TestNamedStylemethod), 255

test_builtin_format() (in module open-pyxl.styles.tests.test_number_style), 255

test_by_col() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_calculate_dimension() (in module open-pyxl.tests.test_iter), 272

test_cannot_copy_between_workbooks() (open-

pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_cannot_copy_junk() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_cannot_copy_readonly() (open-pyxl.workbook.tests.test_workbook.TestCopymethod), 287

test_cannot_copy_to_self() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_cannot_copy_writeonly() (open-pyxl.workbook.tests.test_workbook.TestCopymethod), 287

test_cannot_save_twice() (in module open-pyxl.writer.tests.test_write_only), 346

test_cannot_split() (in module open-pyxl.worksheet.tests.test_header), 307

test_cast() (openpyxl.descriptors.tests.test_base.TestBoolmethod), 165

test_cast() (openpyxl.descriptors.tests.test_base.TestFloatmethod), 166

test_cast() (openpyxl.descriptors.tests.test_base.TestIntmethod), 166

test_cell_alternate_coordinates() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_cell_comment() (in module open-pyxl.writer.tests.test_write_only), 346

test_cell_copy_comment() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_cell_copy_hyperlink() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_cell_copy_style() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_cell_copy_value() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_cell_exotic_style() (in module open-pyxl.reader.tests.test_worksheet), 249

test_cell_formatted_as_date() (in module open-pyxl.cell.tests.test_cell), 94

test_cell_insufficient_coordinates() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_cell_offset() (in module open-pyxl.cell.tests.test_cell), 94

test_cell_range_name() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_cell_ref_re() (open-

440 Index

openpyxl Documentation, Release 2.4.9

pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_cell_reference() (open-pyxl.formatting.tests.test_rule.TestFormatObjectmethod), 231

test_cell_style() (in module open-pyxl.reader.tests.test_worksheet), 249

test_cell_without_coordinates() (in module open-pyxl.reader.tests.test_worksheet), 249

test_cellis_rule() (in module open-pyxl.formatting.tests.test_rule), 231

test_cells() (openpyxl.chart.tests.test_reference.TestReferencemethod), 109

test_chartsheet() (in module open-pyxl.writer.tests.test_excel), 344

test_check_scientific_notation() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 235

test_check_type() (open-pyxl.workbook.tests.test_defined_name.TestDefinitionmethod), 283

test_class_no_deps() (in module open-pyxl.develop.tests.test_classify), 176

test_cleanup() (openpyxl.workbook.tests.test_defined_name.TestDefinitionListmethod), 284

test_close() (in module open-pyxl.writer.tests.test_write_only), 346

test_close_read() (in module open-pyxl.reader.tests.test_excel), 248

test_close_write() (in module open-pyxl.reader.tests.test_excel), 248

test_cm_to_dxa() (in module open-pyxl.utils.tests.test_units), 275

test_cm_to_EMU() (in module open-pyxl.utils.tests.test_units), 275

test_col_dimensions() (open-pyxl.worksheet.tests.test_dimensions.TestColDimensionmethod), 304

test_col_range_re() (open-pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_col_reindex() (open-pyxl.worksheet.tests.test_dimensions.TestColDimensionmethod), 304

test_col_style() (openpyxl.worksheet.tests.test_dimensions.TestColDimensionmethod), 304

test_col_width() (in module open-pyxl.reader.tests.test_worksheet), 249

test_col_width() (open-pyxl.worksheet.tests.test_dimensions.TestColDimensionmethod), 304

test_collapse_cell_addresses() (in module open-pyxl.worksheet.tests.test_datavalidation),304

test_color() (openpyxl.drawing.tests.test_line.TestLinePropertiesmethod), 182

test_color() (openpyxl.drawing.tests.test_shape.TestShapemethod), 183

test_color_descriptor() (in module open-pyxl.drawing.tests.test_descriptors), 178

test_color_descriptor() (in module open-pyxl.styles.tests.test_colors), 253

test_cols() (openpyxl.chart.tests.test_reference.TestReferencemethod), 109

test_cols() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_cols_from_range() (in module open-pyxl.utils.tests.test_cell), 274

test_column_dimension() (open-pyxl.worksheet.tests.test_dimensions.TestColDimensionmethod), 304

test_column_index() (in module open-pyxl.utils.tests.test_cell), 274

test_column_interval() (in module open-pyxl.utils.tests.test_cell), 274

test_column_letter() (in module open-pyxl.utils.tests.test_cell), 274

test_column_letter_boundries() (in module open-pyxl.utils.tests.test_cell), 274

test_comment() (in module open-pyxl.writer.tests.test_excel), 344

test_comment_assignment() (in module open-pyxl.cell.tests.test_cell), 94

test_comments_cell_association() (in module open-pyxl.comments.tests.test_comment_reader),159

test_comments_with_iterators() (in module open-pyxl.comments.tests.test_comment_reader),159

test_conditional_font() (in module open-pyxl.writer.tests.test_worksheet), 345

test_conditional_font() (open-pyxl.formatting.tests.test_formatting.TestConditionalFormattingmethod), 230

test_conditional_formatting() (in module open-pyxl.writer.tests.test_write_only), 346

test_conditional_formatting_customRule() (in moduleopenpyxl.writer.tests.test_worksheet), 345

test_conditional_formatting_customRule() (open-pyxl.formatting.tests.test_formatting.TestConditionalFormattingmethod), 230

test_conditional_formatting_read() (in module open-pyxl.formatting.tests.test_formatting), 230

test_conditonal_formatting() (in module open-pyxl.reader.tests.test_worksheet), 249

test_contains() (in module open-pyxl.utils.tests.test_indexed_list), 275

test_contains() (in module open-

Index 441

openpyxl Documentation, Release 2.4.9

pyxl.workbook.tests.test_workbook), 288test_contains() (openpyxl.workbook.tests.test_defined_name.TestDefinitionList

method), 284test_content_types() (in module openpyxl.tests.test_vba),

273test_conversion() (open-

pyxl.cell.tests.test_read_only.TestDateTimemethod), 94

test_coordinate() (in module open-pyxl.cell.tests.test_read_only), 95

test_coordinate_tuple() (in module open-pyxl.utils.tests.test_cell), 274

test_coordinates() (in module open-pyxl.utils.tests.test_cell), 274

test_coordinates() (open-pyxl.drawing.tests.test_shape.TestShapemethod), 183

test_copy() (in module openpyxl.styles.tests.test_proxy),255

test_copy() (openpyxl.comments.tests.test_comment.TestCommentmethod), 159

test_copy() (openpyxl.styles.tests.test_cell_style.TestStyleArraymethod), 252

test_copy() (openpyxl.worksheet.tests.test_dimensions.TestColDimensionmethod), 304

test_copy() (openpyxl.worksheet.tests.test_dimensions.TestRowDimensionmethod), 304

test_copy_col_dimensions() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_copy_not_share() (open-pyxl.styles.tests.test_styleable.TestNamedStylemethod), 255

test_copy_row_dimensions() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 312

test_copy_worksheet() (in module open-pyxl.worksheet.tests.test_worksheet_copy),313

test_coupling() (in module open-pyxl.utils.tests.test_bound_dictionary), 273

test_create() (openpyxl.formatting.tests.test_rule.TestColorScalemethod), 231

test_create() (openpyxl.formatting.tests.test_rule.TestDataBarmethod), 231

test_create() (openpyxl.formatting.tests.test_rule.TestFormatObjectmethod), 231

test_create() (openpyxl.formatting.tests.test_rule.TestIconSetmethod), 231

test_create() (openpyxl.formatting.tests.test_rule.TestRulemethod), 231

test_create() (openpyxl.styles.tests.test_borders.TestBordermethod), 252

test_create() (openpyxl.styles.tests.test_fills.TestGradientFill

method), 253test_create() (openpyxl.styles.tests.test_fills.TestPatternFill

method), 253test_create() (openpyxl.styles.tests.test_fonts.TestFont

method), 254test_create_empty_fill() (in module open-

pyxl.styles.tests.test_fills), 253test_create_sheet() (in module open-

pyxl.workbook.tests.test_workbook), 288test_create_sheet_readonly() (in module open-

pyxl.workbook.tests.test_workbook), 288test_create_sheet_with_name() (in module open-

pyxl.workbook.tests.test_workbook), 288test_ctor() (in module openpyxl.cell.tests.test_cell), 94test_ctor() (in module openpyxl.cell.tests.test_read_only),

95test_ctor() (in module open-

pyxl.packaging.tests.test_core), 240test_ctor() (in module open-

pyxl.packaging.tests.test_relationship), 241test_ctor() (in module openpyxl.styles.tests.test_proxy),

255test_ctor() (in module openpyxl.tests.test_iter), 272test_ctor() (in module open-

pyxl.utils.tests.test_bound_dictionary), 273test_ctor() (in module open-

pyxl.utils.tests.test_indexed_list), 275test_ctor() (in module open-

pyxl.worksheet.tests.test_properties), 308test_ctor() (in module open-

pyxl.worksheet.tests.test_protection), 309test_ctor() (openpyxl.cell.tests.test_text.TestInlineFont

method), 95test_ctor() (openpyxl.cell.tests.test_text.TestPhoneticProperties

method), 95test_ctor() (openpyxl.cell.tests.test_text.TestPhoneticText

method), 95test_ctor() (openpyxl.cell.tests.test_text.TestRichText

method), 96test_ctor() (openpyxl.cell.tests.test_text.TestText

method), 96test_ctor() (openpyxl.chart.tests.test_area_chart.TestAreaChart

method), 101test_ctor() (openpyxl.chart.tests.test_area_chart.TestAreaChart3D

method), 101test_ctor() (openpyxl.chart.tests.test_axis.TestAxis

method), 102test_ctor() (openpyxl.chart.tests.test_axis.TestChartLines

method), 102test_ctor() (openpyxl.chart.tests.test_axis.TestDateAx

method), 102test_ctor() (openpyxl.chart.tests.test_axis.TestDisplayUnitList

method), 102test_ctor() (openpyxl.chart.tests.test_axis.TestDispUnitsLabel

442 Index

openpyxl Documentation, Release 2.4.9

method), 102test_ctor() (openpyxl.chart.tests.test_axis.TestSeriesAxis

method), 102test_ctor() (openpyxl.chart.tests.test_axis.TestTextAxis

method), 102test_ctor() (openpyxl.chart.tests.test_axis.TestValAx

method), 102test_ctor() (openpyxl.chart.tests.test_bar_chart.TestBarChart

method), 103test_ctor() (openpyxl.chart.tests.test_bar_chart.TestBarChart3D

method), 103test_ctor() (openpyxl.chart.tests.test_bubble_chart.TestBubbleChart

method), 103test_ctor() (openpyxl.chart.tests.test_chart.TestChartBase

method), 103test_ctor() (openpyxl.chart.tests.test_chartspace.TestChartContainer

method), 104test_ctor() (openpyxl.chart.tests.test_chartspace.TestDataTable

method), 104test_ctor() (openpyxl.chart.tests.test_chartspace.TestExternalData

method), 104test_ctor() (openpyxl.chart.tests.test_chartspace.TestPivotFormat

method), 104test_ctor() (openpyxl.chart.tests.test_chartspace.TestPivotFormatList

method), 104test_ctor() (openpyxl.chart.tests.test_chartspace.TestPivotSource

method), 104test_ctor() (openpyxl.chart.tests.test_chartspace.TestPlotArea

method), 105test_ctor() (openpyxl.chart.tests.test_chartspace.TestProtection

method), 105test_ctor() (openpyxl.chart.tests.test_chartspace.TestSurface

method), 105test_ctor() (openpyxl.chart.tests.test_chartspace.TestView3D

method), 105test_ctor() (openpyxl.chart.tests.test_data_source.TestStrData

method), 105test_ctor() (openpyxl.chart.tests.test_data_source.TestStrRef

method), 105test_ctor() (openpyxl.chart.tests.test_data_source.TestStrVal

method), 105test_ctor() (openpyxl.chart.tests.test_error_bar.TestErrorBar

method), 106test_ctor() (openpyxl.chart.tests.test_label.TestDataLabel

method), 106test_ctor() (openpyxl.chart.tests.test_label.TestDataLabeList

method), 106test_ctor() (openpyxl.chart.tests.test_layout.TestLayout

method), 106test_ctor() (openpyxl.chart.tests.test_layout.TestManualLayout

method), 106test_ctor() (openpyxl.chart.tests.test_legend.TestLegend

method), 106test_ctor() (openpyxl.chart.tests.test_legend.TestLegendEntry

method), 107test_ctor() (openpyxl.chart.tests.test_line_chart.TestLineChart

method), 107test_ctor() (openpyxl.chart.tests.test_line_chart.TestLineChart3D

method), 107test_ctor() (openpyxl.chart.tests.test_marker.TestDataPoint

method), 107test_ctor() (openpyxl.chart.tests.test_marker.TestMarker

method), 107test_ctor() (openpyxl.chart.tests.test_picture.TestPictureOptions

method), 107test_ctor() (openpyxl.chart.tests.test_pie_chart.TestCustomSplit

method), 108test_ctor() (openpyxl.chart.tests.test_pie_chart.TestDoughnutChart

method), 108test_ctor() (openpyxl.chart.tests.test_pie_chart.TestPieChart

method), 108test_ctor() (openpyxl.chart.tests.test_pie_chart.TestPieChart3D

method), 108test_ctor() (openpyxl.chart.tests.test_pie_chart.TestProjectedPieChart

method), 108test_ctor() (openpyxl.chart.tests.test_print.TestPageMargins

method), 108test_ctor() (openpyxl.chart.tests.test_print.TestPrintSettings

method), 108test_ctor() (openpyxl.chart.tests.test_radar_chart.TestStockChart

method), 109test_ctor() (openpyxl.chart.tests.test_reference.TestReference

method), 109test_ctor() (openpyxl.chart.tests.test_scatter_chart.TestLineChart

method), 109test_ctor() (openpyxl.chart.tests.test_series.TestSeriesLabel

method), 110test_ctor() (openpyxl.chart.tests.test_series_factory.TestSeriesFactory

method), 110test_ctor() (openpyxl.chart.tests.test_shapes.TestShapeProperties

method), 111test_ctor() (openpyxl.chart.tests.test_stock_chart.TestStockChart

method), 111test_ctor() (openpyxl.chart.tests.test_surface_chart.TestBandFormat

method), 111test_ctor() (openpyxl.chart.tests.test_surface_chart.TestBandFormatList

method), 111test_ctor() (openpyxl.chart.tests.test_surface_chart.TestSurfaceChart

method), 111test_ctor() (openpyxl.chart.tests.test_surface_chart.TestSurfaceChart3D

method), 111test_ctor() (openpyxl.chart.tests.test_text.TestRichText

method), 112test_ctor() (openpyxl.chart.tests.test_title.TestTitle

method), 112test_ctor() (openpyxl.chart.tests.test_trendline.TestTrendline

method), 112test_ctor() (openpyxl.chart.tests.test_trendline.TestTrendlineLabel

Index 443

openpyxl Documentation, Release 2.4.9

method), 112test_ctor() (openpyxl.chart.tests.test_updown_bars.TestUpDownBars

method), 112test_ctor() (openpyxl.chartsheet.tests.test_chartsheet.TestChartsheet

method), 150test_ctor() (openpyxl.comments.tests.test_author.TestAuthor

method), 159test_ctor() (openpyxl.comments.tests.test_comment.TestComment

method), 159test_ctor() (openpyxl.comments.tests.test_comment_sheet.TestComment

method), 159test_ctor() (openpyxl.descriptors.tests.test_base.TestDescriptor

method), 166test_ctor() (openpyxl.descriptors.tests.test_base.TestMax

method), 166test_ctor() (openpyxl.descriptors.tests.test_base.TestMin

method), 166test_ctor() (openpyxl.descriptors.tests.test_base.TestMinMax

method), 166test_ctor() (openpyxl.descriptors.tests.test_base.TestValues

method), 167test_ctor() (openpyxl.descriptors.tests.test_nested.TestEmptyTag

method), 168test_ctor() (openpyxl.descriptors.tests.test_sequence.TestNestedSequence

method), 169test_ctor() (openpyxl.drawing.tests.test_color.TestColorChoice

method), 178test_ctor() (openpyxl.drawing.tests.test_color.TestColorMapping

method), 178test_ctor() (openpyxl.drawing.tests.test_color.TestHSLColor

method), 178test_ctor() (openpyxl.drawing.tests.test_color.TestRGBPercent

method), 178test_ctor() (openpyxl.drawing.tests.test_color.TestSystemColor

method), 178test_ctor() (openpyxl.drawing.tests.test_drawing.TestDrawing

method), 178test_ctor() (openpyxl.drawing.tests.test_fill.TestBlip

method), 179test_ctor() (openpyxl.drawing.tests.test_fill.TestBlipFillProperties

method), 179test_ctor() (openpyxl.drawing.tests.test_fill.TestGradientFillProperties

method), 179test_ctor() (openpyxl.drawing.tests.test_fill.TestGradientStop

method), 179test_ctor() (openpyxl.drawing.tests.test_fill.TestGradientStopList

method), 179test_ctor() (openpyxl.drawing.tests.test_fill.TestPatternFillProperties

method), 179test_ctor() (openpyxl.drawing.tests.test_fill.TestRelativeRect

method), 180test_ctor() (openpyxl.drawing.tests.test_fill.TestStretchInfoProperties

method), 180test_ctor() (openpyxl.drawing.tests.test_graphic.TestChartRelation

method), 180test_ctor() (openpyxl.drawing.tests.test_graphic.TestGraphicData

method), 180test_ctor() (openpyxl.drawing.tests.test_graphic.TestGraphicFrame

method), 180test_ctor() (openpyxl.drawing.tests.test_graphic.TestGraphicObject

method), 180test_ctor() (openpyxl.drawing.tests.test_graphic.TestNonVisualDrawingProps

method), 181test_ctor() (openpyxl.drawing.tests.test_graphic.TestNonVisualGraphicFrame

method), 181test_ctor() (openpyxl.drawing.tests.test_graphic.TestNonVisualGraphicFrameProperties

method), 181test_ctor() (openpyxl.drawing.tests.test_graphic.TestNonVisualPictureProperties

method), 181test_ctor() (openpyxl.drawing.tests.test_graphic.TestPicture

method), 181test_ctor() (openpyxl.drawing.tests.test_graphic.TestPictureLocking

method), 181test_ctor() (openpyxl.drawing.tests.test_graphic.TestPictureNonVisual

method), 181test_ctor() (openpyxl.drawing.tests.test_image.TestImage

method), 182test_ctor() (openpyxl.drawing.tests.test_line.TestDashStop

method), 182test_ctor() (openpyxl.drawing.tests.test_line.TestLineEndProperties

method), 182test_ctor() (openpyxl.drawing.tests.test_line.TestLineJoinMiterProperties

method), 182test_ctor() (openpyxl.drawing.tests.test_line.TestLineProperties

method), 182test_ctor() (openpyxl.drawing.tests.test_shape.TestShape

method), 183test_ctor() (openpyxl.drawing.tests.test_shapes.TestGradientFillProperties

method), 183test_ctor() (openpyxl.drawing.tests.test_shapes.TestTransform2D

method), 183test_ctor() (openpyxl.drawing.tests.test_spreadsheet_drawing.TestAbsoluteAnchor

method), 184test_ctor() (openpyxl.drawing.tests.test_spreadsheet_drawing.TestOneCellAnchor

method), 184test_ctor() (openpyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawing

method), 184test_ctor() (openpyxl.drawing.tests.test_spreadsheet_drawing.TestTwoCellAnchor

method), 184test_ctor() (openpyxl.drawing.tests.test_text.TestCharacterProperties

method), 184test_ctor() (openpyxl.drawing.tests.test_text.TestParagraph

method), 185test_ctor() (openpyxl.drawing.tests.test_text.TestParagraphProperties

method), 185test_ctor() (openpyxl.packaging.tests.test_extended.TestExtendedProperties

method), 240test_ctor() (openpyxl.packaging.tests.test_manifest.TestFileExtension

444 Index

openpyxl Documentation, Release 2.4.9

method), 240test_ctor() (openpyxl.packaging.tests.test_manifest.TestManifest

method), 240test_ctor() (openpyxl.packaging.tests.test_manifest.TestOverride

method), 241test_ctor() (openpyxl.packaging.tests.test_workbook.TestWorkbookParser

method), 241test_ctor() (openpyxl.styles.tests.test_cell_style.TestCellStyle

method), 252test_ctor() (openpyxl.styles.tests.test_cell_style.TestCellStyleList

method), 252test_ctor() (openpyxl.styles.tests.test_cell_style.TestStyleArray

method), 252test_ctor() (openpyxl.styles.tests.test_colors.TestColor

method), 253test_ctor() (openpyxl.styles.tests.test_fills.TestGradientFill

method), 253test_ctor() (openpyxl.styles.tests.test_fills.TestPatternFill

method), 253test_ctor() (openpyxl.styles.tests.test_fonts.TestFont

method), 254test_ctor() (openpyxl.styles.tests.test_named_style.TestNamedCellStyle

method), 254test_ctor() (openpyxl.styles.tests.test_named_style.TestNamedCellStyleList

method), 254test_ctor() (openpyxl.styles.tests.test_named_style.TestNamedStyle

method), 254test_ctor() (openpyxl.styles.tests.test_stylesheet.TestStylesheet

method), 256test_ctor() (openpyxl.styles.tests.test_table.TestTableStyle

method), 256test_ctor() (openpyxl.styles.tests.test_table.TestTableStyleElement

method), 257test_ctor() (openpyxl.styles.tests.test_table.TestTableStyleList

method), 257test_ctor() (openpyxl.workbook.external_link.tests.test_external.TestExternalBook

method), 280test_ctor() (openpyxl.workbook.external_link.tests.test_external.TestExternalLink

method), 280test_ctor() (openpyxl.workbook.tests.test_child.TestWorkbookChild

method), 283test_ctor() (openpyxl.workbook.tests.test_external_reference.TestExternalReference

method), 284test_ctor() (openpyxl.workbook.tests.test_function_group.TestFunctionGroup

method), 284test_ctor() (openpyxl.workbook.tests.test_function_group.TestFunctionGroupList

method), 284test_ctor() (openpyxl.workbook.tests.test_parser.TestWorkbookPackage

method), 285test_ctor() (openpyxl.workbook.tests.test_pivot.TestPivotCache

method), 285test_ctor() (openpyxl.workbook.tests.test_pivot.TestPivotCacheList

method), 285test_ctor() (openpyxl.workbook.tests.test_properties.TestCalcProperties

method), 285test_ctor() (openpyxl.workbook.tests.test_properties.TestFileVersion

method), 285test_ctor() (openpyxl.workbook.tests.test_properties.TestWorkbookProperties

method), 285test_ctor() (openpyxl.workbook.tests.test_protection.TestFileSharing

method), 286test_ctor() (openpyxl.workbook.tests.test_protection.TestWorkbookProtection

method), 286test_ctor() (openpyxl.workbook.tests.test_smart_tags.TestSmartTag

method), 286test_ctor() (openpyxl.workbook.tests.test_smart_tags.TestSmartTagList

method), 286test_ctor() (openpyxl.workbook.tests.test_smart_tags.TestSmartTagProperties

method), 286test_ctor() (openpyxl.workbook.tests.test_views.TestBookView

method), 286test_ctor() (openpyxl.workbook.tests.test_views.TestCustomWorkbookView

method), 287test_ctor() (openpyxl.workbook.tests.test_web.TestWebPublishing

method), 287test_ctor() (openpyxl.workbook.tests.test_web.TestWebPublishObject

method), 287test_ctor() (openpyxl.workbook.tests.test_web.TestWebPublishObjectList

method), 287test_ctor() (openpyxl.worksheet.tests.test_datavalidation.TestDataValidation

method), 303test_ctor() (openpyxl.worksheet.tests.test_datavalidation.TestDataValidationList

method), 304test_ctor() (openpyxl.worksheet.tests.test_filters.TestAutoFilter

method), 305test_ctor() (openpyxl.worksheet.tests.test_filters.TestColorFilter

method), 305test_ctor() (openpyxl.worksheet.tests.test_filters.TestCustomFilter

method), 305test_ctor() (openpyxl.worksheet.tests.test_filters.TestCustomFilters

method), 305test_ctor() (openpyxl.worksheet.tests.test_filters.TestDateGroupItem

method), 305test_ctor() (openpyxl.worksheet.tests.test_filters.TestDynamicFilter

method), 306test_ctor() (openpyxl.worksheet.tests.test_filters.TestFilterColumn

method), 306test_ctor() (openpyxl.worksheet.tests.test_filters.TestFilters

method), 306test_ctor() (openpyxl.worksheet.tests.test_filters.TestIconFilter

method), 306test_ctor() (openpyxl.worksheet.tests.test_filters.TestSortCondition

method), 306test_ctor() (openpyxl.worksheet.tests.test_filters.TestSortState

method), 306test_ctor() (openpyxl.worksheet.tests.test_filters.TestTop10

method), 306test_ctor() (openpyxl.worksheet.tests.test_header.TestHeaderFooter

Index 445

openpyxl Documentation, Release 2.4.9

method), 307test_ctor() (openpyxl.worksheet.tests.test_header.TestHeaderFooterItem

method), 307test_ctor() (openpyxl.worksheet.tests.test_header.TestHeaderFooterPart

method), 307test_ctor() (openpyxl.worksheet.tests.test_hyperlink.TestHyperlink

method), 307test_ctor() (openpyxl.worksheet.tests.test_hyperlink.TestHyperlinkList

method), 307test_ctor() (openpyxl.worksheet.tests.test_page.TestPageMargins

method), 308test_ctor() (openpyxl.worksheet.tests.test_page.TestPageSetup

method), 308test_ctor() (openpyxl.worksheet.tests.test_page.TestPrintOptions

method), 308test_ctor() (openpyxl.worksheet.tests.test_pagebreak.TestBreak

method), 308test_ctor() (openpyxl.worksheet.tests.test_table.TestTable

method), 309test_ctor() (openpyxl.worksheet.tests.test_table.TestTableColumn

method), 309test_ctor() (openpyxl.worksheet.tests.test_table.TestTableFormula

method), 310test_ctor() (openpyxl.worksheet.tests.test_table.TestTableInfo

method), 310test_ctor() (openpyxl.worksheet.tests.test_table.TestTablePartList

method), 310test_ctor() (openpyxl.worksheet.tests.test_table.TestXMLColumnPr

method), 310test_ctor() (openpyxl.worksheet.tests.test_views.TestSheetViews

method), 310test_ctor() (openpyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopy

method), 312test_ctor_with_password() (in module open-

pyxl.worksheet.tests.test_protection), 309test_ctor_with_passwords() (open-

pyxl.workbook.tests.test_protection.TestWorkbookProtectionmethod), 286

test_custom_number_formats() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_data_validations() (in module open-pyxl.writer.tests.test_write_only), 346

test_databar_rule() (in module open-pyxl.formatting.tests.test_rule), 231

test_dataframe() (in module open-pyxl.utils.tests.test_dataframe), 274

test_datetime_regex() (in module open-pyxl.styles.tests.test_number_style), 255

test_datetime_to_W3CDTF() (in module open-pyxl.utils.tests.test_datetime), 274

test_days_to_time() (in module open-pyxl.utils.tests.test_datetime), 274

test_default() (in module open-

pyxl.styles.tests.test_alignments), 252test_default() (in module open-

pyxl.styles.tests.test_protection), 255test_degrees_to_angle() (in module open-

pyxl.utils.tests.test_units), 275test_delitem() (in module open-

pyxl.workbook.tests.test_workbook), 288test_deprecated_class() (in module open-

pyxl.compat.tests.test_compat), 163test_deprecated_function() (in module open-

pyxl.compat.tests.test_compat), 163test_deprecated_method() (in module open-

pyxl.compat.tests.test_compat), 163test_derived() (in module open-

pyxl.develop.tests.test_classify), 176test_descriptor() (in module open-

pyxl.styles.tests.test_styleable), 256test_destinations() (open-

pyxl.workbook.tests.test_defined_name.TestDefinitionmethod), 283

test_dict() (openpyxl.styles.tests.test_named_style.TestNamedStylemethod), 254

test_dict() (openpyxl.workbook.tests.test_defined_name.TestDefinitionmethod), 283

test_dict_interface() (open-pyxl.styles.tests.test_fills.TestGradientFillmethod), 253

test_dict_interface() (open-pyxl.styles.tests.test_fills.TestPatternFillmethod), 253

test_dimension_interface() (in module open-pyxl.worksheet.tests.test_dimensions), 304

test_dirty_cell() (in module open-pyxl.writer.tests.test_write_only), 346

test_dont_resolve() (in module open-pyxl.xml.tests.test_functions), 349

test_drawing() (in module open-pyxl.writer.tests.test_excel), 344

test_duplicate() (openpyxl.styles.tests.test_named_style.TestNamedStyleListmethod), 254

test_duplicate() (openpyxl.workbook.tests.test_defined_name.TestDefinitionListmethod), 284

test_duplicate_chart() (in module open-pyxl.writer.tests.test_excel), 344

test_duplicate_title() (in module open-pyxl.workbook.tests.test_child), 283

test_dxa_to_cm() (in module open-pyxl.utils.tests.test_units), 275

test_dxa_to_inch() (in module open-pyxl.utils.tests.test_units), 275

test_element_group() (in module open-pyxl.develop.tests.test_classify), 176

test_empty() (openpyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawingmethod), 184

446 Index

openpyxl Documentation, Release 2.4.9

test_empty_cell() (in module open-pyxl.cell.tests.test_read_only), 95

test_empty_ctor() (open-pyxl.styles.tests.test_fills.TestGradientFillmethod), 253

test_empty_element() (open-pyxl.cell.tests.test_text.TestText method),96

test_empty_string() (in module open-pyxl.reader.tests.test_strings), 248

test_empty_title() (open-pyxl.workbook.tests.test_child.TestWorkbookChildmethod), 283

test_EMU_to_cm() (in module open-pyxl.utils.tests.test_units), 275

test_EMU_to_inch() (in module open-pyxl.utils.tests.test_units), 275

test_EMU_to_pixels() (in module open-pyxl.utils.tests.test_units), 275

test_eq() (openpyxl.descriptors.tests.test_serialisable.TestSerialisablemethod), 171

test_equality() (in module open-pyxl.cell.tests.test_read_only), 95

test_error_codes() (in module open-pyxl.cell.tests.test_cell), 94

test_escape() (in module open-pyxl.utils.tests.test_escape), 275

test_expand_cell_ranges() (in module open-pyxl.worksheet.tests.test_datavalidation),304

test_explicit_password() (in module open-pyxl.worksheet.tests.test_protection), 309

test_extended_conditional_formatting() (in module open-pyxl.reader.tests.test_worksheet), 249

test_extends() (in module open-pyxl.develop.tests.test_classify), 177

test_external_hyperlink() (in module open-pyxl.writer.tests.test_worksheet), 345

test_external_hyperlinks() (in module open-pyxl.reader.tests.test_worksheet), 249

test_external_range() (open-pyxl.workbook.tests.test_defined_name.TestDefinitionmethod), 283

test_exts() (openpyxl.packaging.tests.test_manifest.TestManifestmethod), 240

test_filenames() (openpyxl.packaging.tests.test_manifest.TestManifestmethod), 240

test_fill() (in module openpyxl.cell.tests.test_cell), 94test_fill_rows() (openpyxl.worksheet.tests.test_worksheet.TestWorksheet

method), 311test_find_sheets() (open-

pyxl.packaging.tests.test_workbook.TestWorkbookParsermethod), 241

test_find_standard_workbook_part() (in module open-

pyxl.reader.tests.test_excel), 248test_fitToPage() (openpyxl.worksheet.tests.test_page.TestPageSetup

method), 308test_font() (in module openpyxl.cell.tests.test_cell), 94test_font() (openpyxl.cell.tests.test_read_only.TestStyle

method), 95test_force_dimension() (in module open-

pyxl.tests.test_iter), 272test_formatted_string_table() (in module open-

pyxl.reader.tests.test_strings), 248test_formula() (in module openpyxl.cell.tests.test_cell),

94test_formula() (in module open-

pyxl.reader.tests.test_worksheet), 249test_formula_data_only() (in module open-

pyxl.reader.tests.test_worksheet), 249test_formula_rule() (in module open-

pyxl.formatting.tests.test_rule), 231test_formula_rule() (in module open-

pyxl.writer.tests.test_worksheet), 345test_formula_without_value() (in module open-

pyxl.reader.tests.test_worksheet), 249test_freeze() (openpyxl.worksheet.tests.test_worksheet.TestWorksheet

method), 311test_freeze_panes_both() (in module open-

pyxl.worksheet.tests.test_worksheet), 312test_freeze_panes_horiz() (in module open-

pyxl.worksheet.tests.test_worksheet), 312test_freeze_panes_vert() (in module open-

pyxl.worksheet.tests.test_worksheet), 312test_from_array() (open-

pyxl.styles.tests.test_cell_style.TestCellStylemethod), 252

test_from_comments() (open-pyxl.comments.tests.test_comment_sheet.TestCommentSheetmethod), 160

test_from_complex() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_from_excel() (in module open-pyxl.utils.tests.test_datetime), 274

test_from_excel_mac() (in module open-pyxl.utils.tests.test_datetime), 274

test_from_simple() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_from_string() (open-pyxl.chart.tests.test_reference.TestReferencemethod), 109

test_from_tree() (in module open-pyxl.packaging.tests.test_core), 240

test_from_tree() (open-pyxl.chart.tests.test_bar_chart.TestBarChartmethod), 103

Index 447

openpyxl Documentation, Release 2.4.9

test_from_tree() (open-pyxl.chart.tests.test_series.TestAreaSermethod), 109

test_from_tree() (open-pyxl.chart.tests.test_series.TestBarSer method),110

test_from_tree() (open-pyxl.chart.tests.test_series.TestBubbleSermethod), 110

test_from_tree() (open-pyxl.chart.tests.test_series.TestPieSer method),110

test_from_tree() (open-pyxl.chart.tests.test_series.TestRadarSermethod), 110

test_from_tree() (open-pyxl.chart.tests.test_series.TestScatterSermethod), 110

test_from_tree() (open-pyxl.chart.tests.test_series.TestSurfaceSermethod), 110

test_from_tree() (open-pyxl.descriptors.tests.test_nested.TestCustomAttributemethod), 168

test_from_tree() (open-pyxl.descriptors.tests.test_nested.TestTextmethod), 169

test_from_tree() (open-pyxl.descriptors.tests.test_nested.TestValuemethod), 169

test_from_tree() (open-pyxl.descriptors.tests.test_sequence.TestNestedSequencemethod), 170

test_from_tree() (open-pyxl.descriptors.tests.test_sequence.TestValueSequencemethod), 170

test_from_tree() (open-pyxl.descriptors.tests.test_serialisable.TestKeywordAttributemethod), 170

test_from_tree() (open-pyxl.descriptors.tests.test_serialisable.TestKeywordNodemethod), 170

test_from_tree() (open-pyxl.descriptors.tests.test_serialisable.TestRelationmethod), 170

test_from_xml() (open-pyxl.cell.tests.test_text.TestInlineFont method),95

test_from_xml() (open-pyxl.cell.tests.test_text.TestPhoneticPropertiesmethod), 95

test_from_xml() (open-pyxl.cell.tests.test_text.TestPhoneticTextmethod), 95

test_from_xml() (open-pyxl.cell.tests.test_text.TestRichText method),96

test_from_xml() (openpyxl.cell.tests.test_text.TestTextmethod), 96

test_from_xml() (open-pyxl.chart.tests.test_area_chart.TestAreaChartmethod), 101

test_from_xml() (open-pyxl.chart.tests.test_area_chart.TestAreaChart3Dmethod), 101

test_from_xml() (open-pyxl.chart.tests.test_axis.TestChartLinesmethod), 102

test_from_xml() (open-pyxl.chart.tests.test_axis.TestDateAx method),102

test_from_xml() (open-pyxl.chart.tests.test_axis.TestDisplayUnitListmethod), 102

test_from_xml() (open-pyxl.chart.tests.test_axis.TestDispUnitsLabelmethod), 102

test_from_xml() (open-pyxl.chart.tests.test_axis.TestSeriesAxismethod), 102

test_from_xml() (open-pyxl.chart.tests.test_axis.TestValAx method),102

test_from_xml() (open-pyxl.chart.tests.test_bar_chart.TestBarChart3Dmethod), 103

test_from_xml() (open-pyxl.chart.tests.test_bubble_chart.TestBubbleChartmethod), 103

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestChartContainermethod), 104

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestDataTablemethod), 104

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestExternalDatamethod), 104

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestPivotFormatmethod), 104

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestPivotFormatListmethod), 104

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestPivotSourcemethod), 104

test_from_xml() (open-

448 Index

openpyxl Documentation, Release 2.4.9

pyxl.chart.tests.test_chartspace.TestPlotAreamethod), 105

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestProtectionmethod), 105

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestSurfacemethod), 105

test_from_xml() (open-pyxl.chart.tests.test_chartspace.TestView3Dmethod), 105

test_from_xml() (open-pyxl.chart.tests.test_data_source.TestNumRefmethod), 105

test_from_xml() (open-pyxl.chart.tests.test_data_source.TestStrDatamethod), 105

test_from_xml() (open-pyxl.chart.tests.test_data_source.TestStrRefmethod), 105

test_from_xml() (open-pyxl.chart.tests.test_data_source.TestStrValmethod), 105

test_from_xml() (open-pyxl.chart.tests.test_error_bar.TestErrorBarmethod), 106

test_from_xml() (open-pyxl.chart.tests.test_label.TestDataLabelmethod), 106

test_from_xml() (open-pyxl.chart.tests.test_label.TestDataLabeListmethod), 106

test_from_xml() (open-pyxl.chart.tests.test_layout.TestManualLayoutmethod), 106

test_from_xml() (open-pyxl.chart.tests.test_legend.TestLegendmethod), 106

test_from_xml() (open-pyxl.chart.tests.test_legend.TestLegendEntrymethod), 107

test_from_xml() (open-pyxl.chart.tests.test_line_chart.TestLineChartmethod), 107

test_from_xml() (open-pyxl.chart.tests.test_line_chart.TestLineChart3Dmethod), 107

test_from_xml() (open-pyxl.chart.tests.test_marker.TestDataPointmethod), 107

test_from_xml() (open-pyxl.chart.tests.test_marker.TestMarkermethod), 107

test_from_xml() (open-

pyxl.chart.tests.test_picture.TestPictureOptionsmethod), 107

test_from_xml() (open-pyxl.chart.tests.test_pie_chart.TestCustomSplitmethod), 108

test_from_xml() (open-pyxl.chart.tests.test_pie_chart.TestDoughnutChartmethod), 108

test_from_xml() (open-pyxl.chart.tests.test_pie_chart.TestPieChartmethod), 108

test_from_xml() (open-pyxl.chart.tests.test_pie_chart.TestProjectedPieChartmethod), 108

test_from_xml() (open-pyxl.chart.tests.test_print.TestPageMarginsmethod), 108

test_from_xml() (open-pyxl.chart.tests.test_print.TestPrintSettingsmethod), 108

test_from_xml() (open-pyxl.chart.tests.test_radar_chart.TestStockChartmethod), 109

test_from_xml() (open-pyxl.chart.tests.test_scatter_chart.TestLineChartmethod), 109

test_from_xml() (open-pyxl.chart.tests.test_series.TestSeriesLabelmethod), 110

test_from_xml() (open-pyxl.chart.tests.test_shapes.TestShapePropertiesmethod), 111

test_from_xml() (open-pyxl.chart.tests.test_stock_chart.TestStockChartmethod), 111

test_from_xml() (open-pyxl.chart.tests.test_surface_chart.TestBandFormatmethod), 111

test_from_xml() (open-pyxl.chart.tests.test_surface_chart.TestBandFormatListmethod), 111

test_from_xml() (open-pyxl.chart.tests.test_surface_chart.TestSurfaceChartmethod), 111

test_from_xml() (open-pyxl.chart.tests.test_surface_chart.TestSurfaceChart3Dmethod), 111

test_from_xml() (open-pyxl.chart.tests.test_text.TestRichText method),112

test_from_xml() (openpyxl.chart.tests.test_title.TestTitlemethod), 112

test_from_xml() (open-pyxl.chart.tests.test_trendline.TestTrendline

Index 449

openpyxl Documentation, Release 2.4.9

method), 112test_from_xml() (open-

pyxl.chart.tests.test_trendline.TestTrendlineLabelmethod), 112

test_from_xml() (open-pyxl.chart.tests.test_updown_bars.TestUpDownBarsmethod), 112

test_from_xml() (open-pyxl.comments.tests.test_author.TestAuthormethod), 159

test_from_xml() (open-pyxl.comments.tests.test_comment_sheet.TestCommentmethod), 160

test_from_xml() (open-pyxl.descriptors.tests.test_nested.TestEmptyTagmethod), 169

test_from_xml() (open-pyxl.descriptors.tests.test_sequence.TestComplexmethod), 169

test_from_xml() (open-pyxl.descriptors.tests.test_sequence.TestPrimitivemethod), 170

test_from_xml() (open-pyxl.drawing.tests.test_color.TestColorChoicemethod), 178

test_from_xml() (open-pyxl.drawing.tests.test_color.TestColorMappingmethod), 178

test_from_xml() (open-pyxl.drawing.tests.test_color.TestHSLColormethod), 178

test_from_xml() (open-pyxl.drawing.tests.test_color.TestRGBPercentmethod), 178

test_from_xml() (open-pyxl.drawing.tests.test_color.TestSystemColormethod), 178

test_from_xml() (open-pyxl.drawing.tests.test_fill.TestBlip method),179

test_from_xml() (open-pyxl.drawing.tests.test_fill.TestBlipFillPropertiesmethod), 179

test_from_xml() (open-pyxl.drawing.tests.test_fill.TestGradientFillPropertiesmethod), 179

test_from_xml() (open-pyxl.drawing.tests.test_fill.TestGradientStopmethod), 179

test_from_xml() (open-pyxl.drawing.tests.test_fill.TestGradientStopListmethod), 179

test_from_xml() (open-pyxl.drawing.tests.test_fill.TestPatternFillProperties

method), 180test_from_xml() (open-

pyxl.drawing.tests.test_fill.TestRelativeRectmethod), 180

test_from_xml() (open-pyxl.drawing.tests.test_fill.TestStretchInfoPropertiesmethod), 180

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestChartRelationmethod), 180

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestGraphicDatamethod), 180

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestGraphicFramemethod), 180

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestGraphicObjectmethod), 180

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestNonVisualDrawingPropsmethod), 181

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestNonVisualGraphicFramemethod), 181

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestNonVisualGraphicFramePropertiesmethod), 181

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestNonVisualPicturePropertiesmethod), 181

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestPicturemethod), 181

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestPictureLockingmethod), 181

test_from_xml() (open-pyxl.drawing.tests.test_graphic.TestPictureNonVisualmethod), 181

test_from_xml() (open-pyxl.drawing.tests.test_line.TestDashStopmethod), 182

test_from_xml() (open-pyxl.drawing.tests.test_line.TestLineEndPropertiesmethod), 182

test_from_xml() (open-pyxl.drawing.tests.test_line.TestLineJoinMiterPropertiesmethod), 182

test_from_xml() (open-pyxl.drawing.tests.test_line.TestLinePropertiesmethod), 182

test_from_xml() (open-pyxl.drawing.tests.test_shapes.TestGradientFillProperties

450 Index

openpyxl Documentation, Release 2.4.9

method), 183test_from_xml() (open-

pyxl.drawing.tests.test_shapes.TestTransform2Dmethod), 183

test_from_xml() (open-pyxl.drawing.tests.test_spreadsheet_drawing.TestAbsoluteAnchormethod), 184

test_from_xml() (open-pyxl.drawing.tests.test_spreadsheet_drawing.TestOneCellAnchormethod), 184

test_from_xml() (open-pyxl.drawing.tests.test_spreadsheet_drawing.TestTwoCellAnchormethod), 184

test_from_xml() (open-pyxl.drawing.tests.test_text.TestCharacterPropertiesmethod), 185

test_from_xml() (open-pyxl.drawing.tests.test_text.TestParagraphmethod), 185

test_from_xml() (open-pyxl.drawing.tests.test_text.TestParagraphPropertiesmethod), 185

test_from_xml() (open-pyxl.drawing.tests.test_text.TestTextBoxmethod), 185

test_from_xml() (open-pyxl.packaging.tests.test_extended.TestExtendedPropertiesmethod), 240

test_from_xml() (open-pyxl.packaging.tests.test_manifest.TestFileExtensionmethod), 240

test_from_xml() (open-pyxl.packaging.tests.test_manifest.TestManifestmethod), 240

test_from_xml() (open-pyxl.packaging.tests.test_manifest.TestOverridemethod), 241

test_from_xml() (open-pyxl.styles.tests.test_cell_style.TestCellStylemethod), 252

test_from_xml() (open-pyxl.styles.tests.test_cell_style.TestCellStyleListmethod), 252

test_from_xml() (open-pyxl.styles.tests.test_named_style.TestNamedCellStylemethod), 254

test_from_xml() (open-pyxl.styles.tests.test_named_style.TestNamedCellStyleListmethod), 254

test_from_xml() (open-pyxl.styles.tests.test_table.TestTableStylemethod), 256

test_from_xml() (open-pyxl.styles.tests.test_table.TestTableStyleElement

method), 257test_from_xml() (open-

pyxl.styles.tests.test_table.TestTableStyleListmethod), 257

test_from_xml() (open-pyxl.workbook.tests.test_defined_name.TestDefinitionmethod), 283

test_from_xml() (open-pyxl.workbook.tests.test_external_reference.TestExternalReferencemethod), 284

test_from_xml() (open-pyxl.workbook.tests.test_function_group.TestFunctionGroupmethod), 284

test_from_xml() (open-pyxl.workbook.tests.test_function_group.TestFunctionGroupListmethod), 284

test_from_xml() (open-pyxl.workbook.tests.test_parser.TestWorkbookPackagemethod), 285

test_from_xml() (open-pyxl.workbook.tests.test_pivot.TestPivotCachemethod), 285

test_from_xml() (open-pyxl.workbook.tests.test_pivot.TestPivotCacheListmethod), 285

test_from_xml() (open-pyxl.workbook.tests.test_properties.TestCalcPropertiesmethod), 285

test_from_xml() (open-pyxl.workbook.tests.test_properties.TestFileVersionmethod), 285

test_from_xml() (open-pyxl.workbook.tests.test_properties.TestWorkbookPropertiesmethod), 285

test_from_xml() (open-pyxl.workbook.tests.test_protection.TestFileSharingmethod), 286

test_from_xml() (open-pyxl.workbook.tests.test_protection.TestWorkbookProtectionmethod), 286

test_from_xml() (open-pyxl.workbook.tests.test_smart_tags.TestSmartTagmethod), 286

test_from_xml() (open-pyxl.workbook.tests.test_smart_tags.TestSmartTagListmethod), 286

test_from_xml() (open-pyxl.workbook.tests.test_smart_tags.TestSmartTagPropertiesmethod), 286

test_from_xml() (open-pyxl.workbook.tests.test_views.TestBookViewmethod), 286

test_from_xml() (open-pyxl.workbook.tests.test_views.TestCustomWorkbookView

Index 451

openpyxl Documentation, Release 2.4.9

method), 287test_from_xml() (open-

pyxl.workbook.tests.test_web.TestWebPublishingmethod), 287

test_from_xml() (open-pyxl.workbook.tests.test_web.TestWebPublishObjectmethod), 287

test_from_xml() (open-pyxl.workbook.tests.test_web.TestWebPublishObjectListmethod), 287

test_from_xml() (open-pyxl.worksheet.tests.test_datavalidation.TestDataValidationmethod), 303

test_from_xml() (open-pyxl.worksheet.tests.test_datavalidation.TestDataValidationListmethod), 304

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestAutoFiltermethod), 305

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestColorFiltermethod), 305

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestCustomFiltermethod), 305

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestCustomFiltersmethod), 305

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestDateGroupItemmethod), 305

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestDynamicFiltermethod), 306

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestFilterColumnmethod), 306

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestFiltersmethod), 306

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestIconFiltermethod), 306

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestSortConditionmethod), 306

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestSortStatemethod), 306

test_from_xml() (open-pyxl.worksheet.tests.test_filters.TestTop10method), 306

test_from_xml() (open-pyxl.worksheet.tests.test_header.TestHeaderFooter

method), 307test_from_xml() (open-

pyxl.worksheet.tests.test_hyperlink.TestHyperlinkmethod), 307

test_from_xml() (open-pyxl.worksheet.tests.test_hyperlink.TestHyperlinkListmethod), 307

test_from_xml() (open-pyxl.worksheet.tests.test_read_only.TestReadOnlyWorksheetmethod), 309

test_from_xml() (open-pyxl.worksheet.tests.test_table.TestTablemethod), 309

test_from_xml() (open-pyxl.worksheet.tests.test_table.TestTableColumnmethod), 309

test_from_xml() (open-pyxl.worksheet.tests.test_table.TestTableFormulamethod), 310

test_from_xml() (open-pyxl.worksheet.tests.test_table.TestTableInfomethod), 310

test_from_xml() (open-pyxl.worksheet.tests.test_table.TestTablePartListmethod), 310

test_from_xml() (open-pyxl.worksheet.tests.test_table.TestXMLColumnPrmethod), 310

test_from_xml() (open-pyxl.worksheet.tests.test_views.TestSheetViewsmethod), 310

test_frozen_panes() (in module open-pyxl.writer.tests.test_write_only), 346

test_function() (in module open-pyxl.utils.tests.test_indexed_list), 275

test_get_active_sheet() (in module open-pyxl.workbook.tests.test_workbook), 288

test_get_bad_named_range() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_get_cell() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_get_closer() (open-pyxl.formula.tests.test_tokenizer.TestTokenmethod), 235

test_get_dependents() (in module open-pyxl.packaging.tests.test_relationship), 241

test_get_empty_cells_nonempty_row() (in module open-pyxl.tests.test_iter), 272

test_get_emu() (openpyxl.drawing.tests.test_drawing.TestDrawingmethod), 178

test_get_external_link() (in module open-pyxl.packaging.tests.test_relationship), 241

test_get_max_cell() (in module openpyxl.tests.test_iter),

452 Index

openpyxl Documentation, Release 2.4.9

272test_get_missing_cell() (openpyxl.tests.test_iter.TestRead

method), 272test_get_named_range() (in module open-

pyxl.workbook.tests.test_workbook), 288test_get_named_range() (open-

pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_get_named_range_wrong_sheet() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_get_named_ranges() (in module open-pyxl.workbook.tests.test_workbook), 288

test_get_row() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_get_rows_to_write() (in module open-pyxl.writer.tests.test_worksheet), 345

test_get_sheet_names() (in module open-pyxl.workbook.tests.test_workbook), 288

test_get_single__column() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_get_tokens() (open-pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_get_xml_iter() (in module open-pyxl.reader.tests.test_worksheet), 249

test_getitem() (in module open-pyxl.workbook.tests.test_workbook), 288

test_getitem() (openpyxl.tests.test_iter.TestRead method),272

test_getitem() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_getitem_invalid() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_getslice() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_good_encoding() (open-pyxl.cell.tests.test_cell.TestEncoding method),93

test_group_columns_collapse() (open-pyxl.worksheet.tests.test_dimensions.TestGroupingmethod), 304

test_group_columns_simple() (open-pyxl.worksheet.tests.test_dimensions.TestGroupingmethod), 304

test_guess_types() (in module openpyxl.tests.test_read),273

test_has_style() (in module open-pyxl.styles.tests.test_styleable), 256

test_hash() (openpyxl.descriptors.tests.test_serialisable.TestSerialisablemethod), 171

test_hash() (openpyxl.styles.tests.test_cell_style.TestStyleArray

method), 252test_hash_function() (open-

pyxl.chart.tests.test_chart.TestChartBasemethod), 103

test_hash_function() (open-pyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawingmethod), 184

test_height() (openpyxl.drawing.tests.test_drawing.TestDrawingmethod), 178

test_hidden_col() (in module open-pyxl.reader.tests.test_worksheet), 249

test_hidden_row() (in module open-pyxl.reader.tests.test_worksheet), 249

test_hide_drop_down() (open-pyxl.worksheet.tests.test_datavalidation.TestDataValidationmethod), 303

test_highlander() (open-pyxl.styles.tests.test_colors.TestColor method),253

test_hyperlink_value() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_iadd() (openpyxl.chart.tests.test_chart.TestChartBasemethod), 103

test_iconset_rule() (in module open-pyxl.formatting.tests.test_rule), 231

test_idx() (openpyxl.styles.tests.test_named_style.TestNamedStyleListmethod), 254

test_illegal_characters() (in module open-pyxl.cell.tests.test_cell), 94

test_import() (openpyxl.drawing.tests.test_image.TestImagemethod), 182

test_inch_to_dxa() (in module open-pyxl.utils.tests.test_units), 275

test_inch_to_EMU() (in module open-pyxl.utils.tests.test_units), 275

test_index() (in module open-pyxl.utils.tests.test_indexed_list), 275

test_index() (in module open-pyxl.workbook.tests.test_workbook), 288

test_indexed() (openpyxl.styles.tests.test_colors.TestColormethod), 253

test_infer_numeric() (in module open-pyxl.cell.tests.test_cell), 94

test_init() (openpyxl.formula.tests.test_tokenizer.TestTokenmethod), 235

test_init() (openpyxl.formula.tests.test_tokenizer.TestTokenizermethod), 235

test_init() (openpyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_inline_richtext() (in module open-pyxl.reader.tests.test_worksheet), 249

test_inline_String() (in module open-pyxl.cell.tests.test_read_only), 95

Index 453

openpyxl Documentation, Release 2.4.9

test_inline_string() (in module open-pyxl.reader.tests.test_worksheet), 249

test_insert_date() (in module open-pyxl.cell.tests.test_cell), 94

test_interal_value() (open-pyxl.cell.tests.test_read_only.TestDateTimemethod), 94

test_interface() (in module open-pyxl.packaging.tests.test_interface), 240

test_internal_hyperlink() (in module open-pyxl.writer.tests.test_worksheet), 345

test_invalid() (openpyxl.descriptors.tests.test_base.TestASCIImethod), 165

test_invalid() (openpyxl.descriptors.tests.test_base.TestFloatmethod), 166

test_invalid() (openpyxl.descriptors.tests.test_base.TestIntmethod), 166

test_invalid() (openpyxl.descriptors.tests.test_base.TestLengthmethod), 166

test_invalid() (openpyxl.descriptors.tests.test_base.TestMaxmethod), 166

test_invalid() (openpyxl.descriptors.tests.test_base.TestMinmethod), 166

test_invalid() (openpyxl.descriptors.tests.test_base.TestMinMaxmethod), 166

test_invalid() (openpyxl.descriptors.tests.test_base.TestStringmethod), 166

test_invalid() (openpyxl.descriptors.tests.test_base.TestTuplemethod), 167

test_invalid() (openpyxl.descriptors.tests.test_base.TestValuesmethod), 167

test_invalid() (openpyxl.descriptors.tests.test_excel.TestCellRangemethod), 167

test_invalid() (openpyxl.descriptors.tests.test_excel.TestHexBinarymethod), 168

test_invalid() (openpyxl.descriptors.tests.test_excel.TestUniversalMeasuremethod), 168

test_invalid_add() (open-pyxl.chart.tests.test_chart.TestChartBasemethod), 103

test_invalid_append() (in module open-pyxl.writer.tests.test_write_only), 346

test_invalid_bounds() (in module open-pyxl.utils.tests.test_cell), 274

test_invalid_cell() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_invalid_chars() (in module open-pyxl.workbook.tests.test_child), 283

test_invalid_container() (open-pyxl.descriptors.tests.test_sequence.TestSequencemethod), 170

test_invalid_coordinate() (in module open-pyxl.utils.tests.test_cell), 274

test_invalid_dimension_ctor() (in module open-pyxl.worksheet.tests.test_dimensions), 305

test_invalid_file_extension() (in module open-pyxl.reader.tests.test_excel), 248

test_invalid_range() (in module open-pyxl.utils.tests.test_cell), 274

test_invalid_title() (open-pyxl.workbook.tests.test_child.TestWorkbookChildmethod), 283

test_invalid_type() (open-pyxl.descriptors.tests.test_excel.TestTextPointmethod), 168

test_invalid_value() (open-pyxl.descriptors.tests.test_excel.TestTextPointmethod), 168

test_is_date() (openpyxl.cell.tests.test_read_only.TestDateTimemethod), 95

test_is_date_format() (in module open-pyxl.styles.tests.test_number_style), 255

test_iter() (in module open-pyxl.workbook.tests.test_workbook), 288

test_iter_rows() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_iter_rows_offset() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_key() (openpyxl.styles.tests.test_named_style.TestNamedStyleListmethod), 255

test_key_error() (openpyxl.styles.tests.test_named_style.TestNamedStyleListmethod), 255

test_legacy_document_keep() (in module open-pyxl.reader.tests.test_worksheet), 249

test_legacy_document_no_keep() (in module open-pyxl.reader.tests.test_worksheet), 249

test_legacy_drawing() (in module open-pyxl.reader.tests.test_worksheet), 249

test_length() (openpyxl.chart.tests.test_reference.TestReferencemethod), 109

test_link_re() (openpyxl.formula.tests.test_tokenizer.TestTokenizerRegexesmethod), 236

test_load_workbook_from_fileobj() (in module open-pyxl.reader.tests.test_excel), 248

test_load_workbook_with_vba() (in module open-pyxl.reader.tests.test_excel), 248

test_local_hyperlinks() (in module open-pyxl.reader.tests.test_worksheet), 249

test_localised_time() (in module open-pyxl.utils.tests.test_datetime), 274

test_localnames() (open-pyxl.workbook.tests.test_defined_name.TestDefinitionListmethod), 284

test_localtag() (in module open-pyxl.xml.tests.test_functions), 349

test_make_operand() (open-

454 Index

openpyxl Documentation, Release 2.4.9

pyxl.formula.tests.test_tokenizer.TestTokenmethod), 235

test_make_separator() (open-pyxl.formula.tests.test_tokenizer.TestTokenmethod), 235

test_make_subexp() (open-pyxl.formula.tests.test_tokenizer.TestTokenmethod), 235

test_make_subexp_func() (open-pyxl.formula.tests.test_tokenizer.TestTokenmethod), 235

test_manual_idx() (open-pyxl.chart.tests.test_series_factory.TestSeriesFactorymethod), 110

test_manual_order() (open-pyxl.chart.tests.test_series_factory.TestSeriesFactorymethod), 110

test_max_column() (in module open-pyxl.worksheet.tests.test_worksheet), 312

test_max_column() (openpyxl.tests.test_iter.TestReadmethod), 272

test_max_row() (in module open-pyxl.worksheet.tests.test_worksheet), 312

test_max_row() (openpyxl.tests.test_iter.TestReadmethod), 272

test_media() (openpyxl.packaging.tests.test_manifest.TestManifestmethod), 240

test_merge() (in module open-pyxl.writer.tests.test_worksheet), 345

test_merge_cells() (in module open-pyxl.reader.tests.test_worksheet), 249

test_merge_comments_vml() (in module open-pyxl.comments.tests.test_shape_writer),160

test_merge_coordinate() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_merge_named_styles() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_merge_range_string() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_merge_vba() (in module open-pyxl.writer.tests.test_excel), 344

test_merged_cell_copy() (open-pyxl.worksheet.tests.test_worksheet_copy.TestWorksheetCopymethod), 313

test_merged_cell_ranges() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_merged_cells_lookup() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_min_column() (in module open-pyxl.worksheet.tests.test_worksheet), 312

test_min_max_value() (in module open-pyxl.descriptors.tests.test_nested), 169

test_min_row() (in module open-pyxl.worksheet.tests.test_worksheet), 312

test_multiline_string() (in module open-pyxl.worksheet.tests.test_header), 307

test_named_styles() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_named_styles() (open-pyxl.workbook.tests.test_workbook.TestWorkbookmethod), 287

test_names() (openpyxl.styles.tests.test_named_style.TestNamedStyleListmethod), 255

test_namespace_register() (in module open-pyxl.tests.test_backend), 271

test_ne() (openpyxl.descriptors.tests.test_serialisable.TestSerialisablemethod), 171

test_nested() (in module open-pyxl.descriptors.tests.test_base), 167

test_nested_empty() (open-pyxl.styles.tests.test_fonts.TestFont method),254

test_nested_float() (in module open-pyxl.descriptors.tests.test_nested), 169

test_nested_from_tree() (open-pyxl.descriptors.tests.test_nested.TestTextmethod), 169

test_nested_from_tree() (open-pyxl.descriptors.tests.test_nested.TestValuemethod), 169

test_nested_integer() (in module open-pyxl.descriptors.tests.test_nested), 169

test_nested_string() (in module open-pyxl.descriptors.tests.test_nested), 169

test_nested_to_tree() (open-pyxl.descriptors.tests.test_nested.TestTextmethod), 169

test_nested_to_tree() (open-pyxl.descriptors.tests.test_nested.TestValuemethod), 169

test_new_worksheet() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 311

test_no_brks() (openpyxl.worksheet.tests.test_pagebreak.TestPageBreakmethod), 308

test_no_cols() (openpyxl.worksheet.tests.test_dimensions.TestGroupingmethod), 304

test_no_cols() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_no_defaults() (open-pyxl.packaging.tests.test_manifest.TestManifest

Index 455

openpyxl Documentation, Release 2.4.9

method), 240test_no_deprecation_reason() (in module open-

pyxl.compat.tests.test_compat), 163test_no_dupe_overrides() (open-

pyxl.packaging.tests.test_manifest.TestManifestmethod), 240

test_no_dupe_types() (open-pyxl.packaging.tests.test_manifest.TestManifestmethod), 240

test_no_external_links() (in module open-pyxl.reader.tests.test_excel), 248

test_no_links() (openpyxl.packaging.tests.test_workbook.TestWorkbookParsermethod), 241

test_no_merge() (in module open-pyxl.writer.tests.test_worksheet), 345

test_no_named_style() (open-pyxl.worksheet.tests.test_dimensions.TestColDimensionmethod), 304

test_no_namespace() (in module open-pyxl.descriptors.tests.test_namespace), 168

test_no_rows() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_no_styles() (in module open-pyxl.styles.tests.test_stylesheet), 256

test_no_workbook() (in module open-pyxl.reader.tests.test_excel), 248

test_non_ascii_formula() (open-pyxl.formatting.tests.test_rule.TestRulemethod), 231

test_non_writable() (in module open-pyxl.styles.tests.test_proxy), 255

test_none_values() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_noneset() (in module open-pyxl.descriptors.tests.test_base), 167

test_noneset_value() (in module open-pyxl.descriptors.tests.test_nested), 169

test_nonstandard_name() (in module open-pyxl.tests.test_iter), 272

test_not_formula() (in module open-pyxl.cell.tests.test_cell), 94

test_null() (in module openpyxl.cell.tests.test_cell), 94test_number() (in module open-

pyxl.reader.tests.test_worksheet), 249test_number_convesion() (in module open-

pyxl.cell.tests.test_read_only), 95test_number_descriptor() (in module open-

pyxl.styles.tests.test_number_style), 255test_number_format() (in module open-

pyxl.cell.tests.test_cell), 94test_number_format() (open-

pyxl.cell.tests.test_read_only.TestDateTimemethod), 95

test_numeric() (in module open-pyxl.cell.tests.test_read_only), 95

test_numeric_types() (in module open-pyxl.compat.tests.test_compat), 163

test_numpy_tostring() (in module open-pyxl.compat.tests.test_compat), 163

test_object_namespace() (in module open-pyxl.descriptors.tests.test_namespace), 168

test_one_cell() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_onecell_anchor() (open-pyxl.drawing.tests.test_drawing.TestDrawingmethod), 179

test_only_one_cell_per_comment() (in module open-pyxl.cell.tests.test_cell), 94

test_open_many_sheets() (in module open-pyxl.tests.test_iter), 272

test_operator_expansion() (in module open-pyxl.formatting.tests.test_rule), 231

test_outline_cols() (open-pyxl.worksheet.tests.test_dimensions.TestColDimensionmethod), 304

test_overwrite_namespace() (in module open-pyxl.descriptors.tests.test_namespace), 168

test_overwritten_default() (in module open-pyxl.reader.tests.test_excel), 248

test_page_break() (in module open-pyxl.reader.tests.test_worksheet), 249

test_parse() (in module open-pyxl.styles.tests.test_differential), 253

test_parse() (in module open-pyxl.worksheet.tests.test_views), 310

test_parse() (openpyxl.formula.tests.test_tokenizer.TestTokenizermethod), 235

test_parse_brackets() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 235

test_parse_brackets_error() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 235

test_parse_calendar() (open-pyxl.packaging.tests.test_workbook.TestWorkbookParsermethod), 241

test_parse_closer() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 235

test_parse_closer_error() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_parse_error() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_parse_error_error() (open-pyxl.formula.tests.test_tokenizer.TestTokenizer

456 Index

openpyxl Documentation, Release 2.4.9

method), 236test_parse_format() (in module open-

pyxl.worksheet.tests.test_header), 307test_parse_opener() (open-

pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_parse_opener_error() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_parse_operator() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_parse_properties() (in module open-pyxl.worksheet.tests.test_properties), 308

test_parse_separator() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_parse_string() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_parse_whitespace() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_parser() (openpyxl.worksheet.tests.test_datavalidation.TestDataValidationmethod), 304

test_password() (in module open-pyxl.utils.tests.test_protection), 275

test_password() (openpyxl.chartsheet.tests.test_protection.TestChartsheetProtectionmethod), 151

test_path() (in module open-pyxl.writer.tests.test_write_only), 346

test_path() (openpyxl.chart.tests.test_chart.TestChartBasemethod), 103

test_path() (openpyxl.comments.tests.test_comment_sheet.TestCommentSheetmethod), 160

test_path() (openpyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawingmethod), 184

test_path() (openpyxl.workbook.external_link.tests.test_external.TestExternalLinkmethod), 280

test_path() (openpyxl.worksheet.tests.test_table.TestTablemethod), 309

test_path() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_pct() (openpyxl.drawing.tests.test_shape.TestShapemethod), 183

test_pivot_button() (in module open-pyxl.cell.tests.test_cell), 94

test_pixels_to_EMU() (in module open-pyxl.utils.tests.test_units), 275

test_pixels_to_points() (in module open-pyxl.utils.tests.test_units), 275

test_plot_area() (openpyxl.chart.tests.test_chart.TestChartBasemethod), 103

test_point() (openpyxl.worksheet.tests.test_worksheet.TestPositioning

method), 310test_point_negative() (open-

pyxl.worksheet.tests.test_worksheet.TestPositioningmethod), 310

test_points_to_pixels() (in module open-pyxl.utils.tests.test_units), 275

test_pop() (openpyxl.chart.tests.test_reference.TestReferencemethod), 109

test_preseve_space() (in module open-pyxl.writer.tests.test_strings), 344

test_print_area() (in module open-pyxl.writer.tests.test_workbook), 344

test_print_area() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_print_autofilter() (in module open-pyxl.writer.tests.test_workbook), 344

test_print_cols() (in module open-pyxl.workbook.tests.test_defined_name),284

test_print_rows() (in module open-pyxl.workbook.tests.test_defined_name),284

test_print_title_old() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_print_titles() (in module open-pyxl.workbook.tests.test_defined_name),284

test_print_titles() (in module open-pyxl.writer.tests.test_workbook), 344

test_print_titles_new() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_proportional_height() (open-pyxl.drawing.tests.test_drawing.TestDrawingmethod), 179

test_proportional_width() (open-pyxl.drawing.tests.test_drawing.TestDrawingmethod), 179

test_protection() (in module openpyxl.cell.tests.test_cell),94

test_qualified_datetime() (in module open-pyxl.packaging.tests.test_core), 240

test_quote_prefix() (in module open-pyxl.cell.tests.test_cell), 94

test_quote_sheetname() (in module open-pyxl.utils.tests.test_cell), 274

test_range_to_tuple() (in module open-pyxl.utils.tests.test_cell), 274

test_read() (in module openpyxl.chart.tests.test_reader),109

test_read() (in module open-pyxl.packaging.tests.test_relationship), 241

Index 457

openpyxl Documentation, Release 2.4.9

test_read() (openpyxl.chartsheet.tests.test_chartsheet.TestChartsheetmethod), 150

test_read() (openpyxl.chartsheet.tests.test_custom.TestCustomChartsheetViewmethod), 151

test_read() (openpyxl.chartsheet.tests.test_custom.TestCustomChartsheetViewsmethod), 151

test_read() (openpyxl.chartsheet.tests.test_properties.TestChartsheetPrmethod), 151

test_read() (openpyxl.chartsheet.tests.test_protection.TestChartsheetProtectionmethod), 151

test_read() (openpyxl.chartsheet.tests.test_publish.TestWebPublishItemsmethod), 151

test_read() (openpyxl.chartsheet.tests.test_publish.TestWebPulishItemmethod), 151

test_read() (openpyxl.chartsheet.tests.test_relation.TestDrawingHFmethod), 152

test_read() (openpyxl.chartsheet.tests.test_relation.TestSheetBackgroundPicturemethod), 152

test_read() (openpyxl.chartsheet.tests.test_views.TestChartsheetViewmethod), 152

test_read() (openpyxl.chartsheet.tests.test_views.TestChartsheetViewListmethod), 152

test_read() (openpyxl.styles.tests.test_styleable.TestNamedStylemethod), 255

test_read() (openpyxl.workbook.external_link.tests.test_external.TestExternalBookmethod), 280

test_read() (openpyxl.workbook.external_link.tests.test_external.TestExternalCellmethod), 280

test_read() (openpyxl.workbook.tests.test_defined_name.TestDefinitionListmethod), 284

test_read() (openpyxl.worksheet.tests.test_header.TestHeaderFooterItemmethod), 307

test_read() (openpyxl.worksheet.tests.test_header.TestHeaderFooterPartmethod), 307

test_read_boolean() (openpyxl.tests.test_iter.TestReadmethod), 272

test_read_cell_from_empty_row() (in module open-pyxl.tests.test_iter), 272

test_read_cell_style() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_read_chart() (open-pyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawingmethod), 184

test_read_comments() (in module open-pyxl.comments.tests.test_comment_reader),159

test_read_comments() (open-pyxl.comments.tests.test_comment_sheet.TestCommentSheetmethod), 160

test_read_complex_style() (in module open-pyxl.reader.tests.test_style), 248

test_read_dimension() (in module open-pyxl.tests.test_iter), 272

test_read_empty_file() (in module open-pyxl.reader.tests.test_excel), 248

test_read_empty_row() (in module open-pyxl.tests.test_iter), 272

test_read_empty_rows() (in module open-pyxl.tests.test_iter), 272

test_read_empty_sheet() (in module open-pyxl.tests.test_iter), 273

test_read_external_link() (in module open-pyxl.workbook.external_link.tests.test_external),280

test_read_fast_integrated_numbers() (open-pyxl.tests.test_iter.TestRead method), 272

test_read_fast_integrated_numbers_2() (open-pyxl.tests.test_iter.TestRead method), 272

test_read_fast_integrated_text() (open-pyxl.tests.test_iter.TestRead method), 272

test_read_formula() (open-pyxl.worksheet.tests.test_datavalidation.TestDataValidationmethod), 304

test_read_general_style() (in module open-pyxl.tests.test_read), 273

test_read_google_docs() (in module open-pyxl.comments.tests.test_comment_sheet),160

test_read_hyperlinks_read_only() (in module open-pyxl.tests.test_iter), 273

test_read_no_theme() (in module open-pyxl.tests.test_read), 273

test_read_ole_link() (in module open-pyxl.workbook.external_link.tests.test_external),280

test_read_only() (in module open-pyxl.cell.tests.test_read_only), 95

test_read_row() (in module openpyxl.tests.test_iter), 273test_read_single_cell() (openpyxl.tests.test_iter.TestRead

method), 272test_read_single_cell_date() (open-

pyxl.tests.test_iter.TestRead method), 272test_read_single_cell_formula() (in module open-

pyxl.tests.test_iter), 273test_read_single_cell_range() (open-

pyxl.tests.test_iter.TestRead method), 272test_read_string_table() (in module open-

pyxl.reader.tests.test_strings), 248test_read_stringio() (in module open-

pyxl.reader.tests.test_excel), 248test_read_style_iter() (in module openpyxl.tests.test_iter),

273test_read_with_missing_cells() (in module open-

pyxl.tests.test_iter), 273test_read_without_coordinates() (in module open-

pyxl.tests.test_iter), 273test_read_workbook_code_name() (in module open-

458 Index

openpyxl Documentation, Release 2.4.9

pyxl.workbook.tests.test_parser), 285test_read_xf_no_number_format() (open-

pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_reassign_title() (open-pyxl.workbook.tests.test_child.TestWorkbookChildmethod), 283

test_recalculate() (open-pyxl.styles.tests.test_named_style.TestNamedStylemethod), 254

test_related() (in module open-pyxl.worksheet.tests.test_related), 309

test_remove_comment() (in module open-pyxl.cell.tests.test_cell), 94

test_remove_hyperlink() (in module open-pyxl.cell.tests.test_cell), 94

test_remove_named_range() (in module open-pyxl.workbook.tests.test_workbook), 288

test_remove_sheet() (in module open-pyxl.workbook.tests.test_workbook), 288

test_remove_sheet_with_names() (in module open-pyxl.workbook.tests.test_workbook), 288

test_render() (openpyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_repair_central_directory() (in module open-pyxl.reader.tests.test_excel), 248

test_repr() (in module openpyxl.cell.tests.test_cell), 94test_repr() (in module openpyxl.styles.tests.test_proxy),

255test_repr() (openpyxl.chart.tests.test_reference.TestReference

method), 109test_repr() (openpyxl.workbook.tests.test_child.TestWorkbookChild

method), 283test_repr_object() (in module open-

pyxl.cell.tests.test_cell), 94test_reserved() (in module open-

pyxl.workbook.tests.test_defined_name),284

test_rgb() (openpyxl.styles.tests.test_colors.TestColormethod), 253

test_rgb_colors() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_round_trip() (in module open-pyxl.styles.tests.test_alignments), 252

test_round_trip() (in module open-pyxl.styles.tests.test_protection), 255

test_roundtrip() (openpyxl.worksheet.tests.test_worksheet.TestPositioningmethod), 310

test_row_dimension() (open-pyxl.worksheet.tests.test_dimensions.TestRowDimensionmethod), 304

test_row_dimensions() (in module open-pyxl.reader.tests.test_worksheet), 249

test_row_range_re() (open-pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_rows() (openpyxl.chart.tests.test_reference.TestReferencemethod), 109

test_rows() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_rows_from_range() (in module open-pyxl.utils.tests.test_cell), 274

test_safe_iterator_none() (in module open-pyxl.xml.tests.test_functions), 349

test_safe_repr() (in module open-pyxl.compat.tests.test_compat), 163

test_safe_string() (in module open-pyxl.compat.tests.test_compat), 163

test_save() (in module open-pyxl.writer.tests.test_write_only), 346

test_save_same_file() (in module open-pyxl.tests.test_vba), 273

test_save_token() (open-pyxl.formula.tests.test_tokenizer.TestTokenizermethod), 236

test_save_twice() (open-pyxl.chart.tests.test_chart.TestChartBasemethod), 104

test_save_with_saved_comments() (in module open-pyxl.tests.test_vba), 273

test_save_with_vba() (in module open-pyxl.tests.test_vba), 273

test_save_without_vba() (in module open-pyxl.tests.test_vba), 273

test_save_xl_as_no_template() (in module open-pyxl.writer.tests.test_template), 344

test_save_xl_as_template() (in module open-pyxl.writer.tests.test_template), 344

test_scaling() (in module openpyxl.chart.tests.test_axis),103

test_scientific_re() (open-pyxl.formula.tests.test_tokenizer.TestTokenizerRegexesmethod), 236

test_sequence() (in module open-pyxl.packaging.tests.test_relationship), 241

test_sequence() (openpyxl.styles.tests.test_fills.TestGradientFillmethod), 253

test_serialise() (in module open-pyxl.styles.tests.test_differential), 253

test_serialise() (in module open-pyxl.worksheet.tests.test_views), 310

test_serialise() (openpyxl.formatting.tests.test_rule.TestColorScalemethod), 231

test_serialise() (openpyxl.formatting.tests.test_rule.TestDataBarmethod), 231

test_serialise() (openpyxl.formatting.tests.test_rule.TestFormatObjectmethod), 231

Index 459

openpyxl Documentation, Release 2.4.9

test_serialise() (openpyxl.formatting.tests.test_rule.TestIconSetmethod), 231

test_serialise() (openpyxl.formatting.tests.test_rule.TestRulemethod), 231

test_serialise() (openpyxl.styles.tests.test_borders.TestBordermethod), 252

test_serialise() (openpyxl.styles.tests.test_fills.TestGradientFillmethod), 253

test_serialise() (openpyxl.styles.tests.test_fills.TestPatternFillmethod), 253

test_serialise() (openpyxl.styles.tests.test_fonts.TestFontmethod), 254

test_series() (openpyxl.chart.tests.test_bar_chart.TestBarChartmethod), 103

test_set_bad_type() (in module open-pyxl.cell.tests.test_cell), 94

test_set_catgories() (open-pyxl.chart.tests.test_chart.TestChartBasemethod), 104

test_set_dimension() (open-pyxl.drawing.tests.test_drawing.TestDrawingmethod), 179

test_set_encoded_title() (open-pyxl.workbook.tests.test_child.TestWorkbookChildmethod), 283

test_setitem() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_setter() (openpyxl.descriptors.tests.test_base.TestDescriptormethod), 166

test_shape() (in module open-pyxl.comments.tests.test_shape_writer),160

test_shared_formula() (in module open-pyxl.reader.tests.test_worksheet), 249

test_shared_formulae() (in module open-pyxl.reader.tests.test_worksheet), 249

test_sheet_format() (in module open-pyxl.reader.tests.test_worksheet), 249

test_sheet_properties() (in module open-pyxl.reader.tests.test_worksheet), 249

test_sheet_protection() (in module open-pyxl.reader.tests.test_worksheet), 249

test_sheet_views() (in module open-pyxl.reader.tests.test_worksheet), 249

test_short_color() (in module open-pyxl.utils.tests.test_units), 275

test_show_gridlines() (in module open-pyxl.worksheet.tests.test_views), 310

test_simple_content() (in module open-pyxl.develop.tests.test_classify), 177

test_simple_styles() (in module open-pyxl.styles.tests.test_stylesheet), 256

test_simpleType() (in module open-pyxl.develop.tests.test_classify), 177

test_single_cell() (open-pyxl.chart.tests.test_reference.TestReferencemethod), 109

test_sort_state() (in module open-pyxl.reader.tests.test_worksheet), 250

test_split_into_parts() (in module open-pyxl.worksheet.tests.test_header), 307

test_split_named_styles() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_sqref() (openpyxl.worksheet.tests.test_datavalidation.TestDataValidationmethod), 304

test_squared_range() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_str() (openpyxl.descriptors.tests.test_serialisable.TestSerialisablemethod), 171

test_string (openpyxl.cell.tests.test_cell.TestEncoding at-tribute), 93

test_string() (in module openpyxl.cell.tests.test_cell), 94test_string() (in module open-

pyxl.reader.tests.test_worksheet), 250test_string_formula_data_only() (in module open-

pyxl.reader.tests.test_worksheet), 250test_string_re() (openpyxl.formula.tests.test_tokenizer.TestTokenizerRegexes

method), 236test_string_table() (in module open-

pyxl.cell.tests.test_read_only), 95test_strip_ws_name() (open-

pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_style_array() (open-pyxl.cell.tests.test_read_only.TestStylemethod), 95

test_style_assignment() (in module open-pyxl.reader.tests.test_excel), 248

test_styled_col() (in module open-pyxl.reader.tests.test_worksheet), 250

test_styled_row() (in module open-pyxl.reader.tests.test_worksheet), 250

test_styles() (openpyxl.styles.tests.test_named_style.TestNamedCellStyleListmethod), 254

test_table_builder() (in module open-pyxl.utils.tests.test_indexed_list), 275

test_tables() (in module open-pyxl.reader.tests.test_worksheet), 250

test_tables() (in module openpyxl.writer.tests.test_excel),344

test_tag_mismatch() (open-pyxl.descriptors.tests.test_nested.TestValuemethod), 169

test_template() (openpyxl.workbook.tests.test_workbook.TestWorkbookmethod), 287

test_text_color() (open-

460 Index

openpyxl Documentation, Release 2.4.9

pyxl.drawing.tests.test_shape.TestShapemethod), 183

test_theme() (openpyxl.styles.tests.test_colors.TestColormethod), 253

test_three_colors() (open-pyxl.formatting.tests.test_rule.TestColorScalemethod), 231

test_time_regex() (in module open-pyxl.cell.tests.test_cell), 94

test_time_to_days() (in module open-pyxl.utils.tests.test_datetime), 274

test_timedelta() (in module openpyxl.cell.tests.test_cell),94

test_timedelta_to_days() (in module open-pyxl.utils.tests.test_datetime), 274

test_tint() (openpyxl.styles.tests.test_colors.TestColormethod), 253

test_title() (openpyxl.chart.tests.test_series_factory.TestSeriesFactorymethod), 110

test_title_from_data() (open-pyxl.chart.tests.test_series_factory.TestSeriesFactorymethod), 110

test_title_maker() (in module open-pyxl.chart.tests.test_title), 112

test_title_too_long() (open-pyxl.workbook.tests.test_child.TestWorkbookChildmethod), 283

test_to_array() (openpyxl.styles.tests.test_cell_style.TestCellStylemethod), 252

test_to_array() (openpyxl.styles.tests.test_cell_style.TestCellStyleListmethod), 252

test_to_excel() (in module open-pyxl.utils.tests.test_datetime), 274

test_to_excel_mac() (in module open-pyxl.utils.tests.test_datetime), 275

test_to_tree() (openpyxl.descriptors.tests.test_nested.TestCustomAttributemethod), 168

test_to_tree() (openpyxl.descriptors.tests.test_nested.TestEmptyTagmethod), 169

test_to_tree() (openpyxl.descriptors.tests.test_nested.TestTextmethod), 169

test_to_tree() (openpyxl.descriptors.tests.test_nested.TestValuemethod), 169

test_to_tree() (openpyxl.descriptors.tests.test_sequence.TestComplexmethod), 169

test_to_tree() (openpyxl.descriptors.tests.test_sequence.TestPrimitivemethod), 170

test_to_tree() (openpyxl.descriptors.tests.test_sequence.TestValueSequencemethod), 170

test_to_tree() (openpyxl.descriptors.tests.test_serialisable.TestKeywordAttributemethod), 170

test_to_tree() (openpyxl.descriptors.tests.test_serialisable.TestKeywordNodemethod), 170

test_to_tree() (openpyxl.descriptors.tests.test_serialisable.TestRelation

method), 170test_to_xml() (openpyxl.chart.tests.test_data_source.TestNumRef

method), 105test_translate_col() (open-

pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_translate_formula() (open-pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_translate_range() (open-pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_translate_row() (open-pyxl.formula.tests.test_translate.TestTranslatormethod), 236

test_two_colors() (open-pyxl.formatting.tests.test_rule.TestColorScalemethod), 231

test_unbind() (openpyxl.comments.tests.test_comment.TestCommentmethod), 159

test_unescape() (in module open-pyxl.utils.tests.test_escape), 275

test_unicode() (openpyxl.worksheet.tests.test_header.TestHeaderFooterItemmethod), 307

test_unicode() (openpyxl.worksheet.tests.test_header.TestHeaderFooterPartmethod), 307

test_unknown_style() (open-pyxl.styles.tests.test_styleable.TestNamedStylemethod), 255

test_unmerge_coordinate() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_unmerge_range_string() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_unpack_print_area() (in module open-pyxl.workbook.tests.test_defined_name),284

test_unpack_print_titles() (in module open-pyxl.workbook.tests.test_defined_name),284

test_unprotected_cell() (open-pyxl.styles.tests.test_stylesheet.TestStylesheetmethod), 256

test_valid() (openpyxl.descriptors.tests.test_base.TestAllowNonemethod), 165

test_valid() (openpyxl.descriptors.tests.test_base.TestASCIImethod), 165

test_valid() (openpyxl.descriptors.tests.test_base.TestBoolmethod), 165

test_valid() (openpyxl.descriptors.tests.test_base.TestFloatmethod), 166

test_valid() (openpyxl.descriptors.tests.test_base.TestIntmethod), 166

Index 461

openpyxl Documentation, Release 2.4.9

test_valid() (openpyxl.descriptors.tests.test_base.TestLengthmethod), 166

test_valid() (openpyxl.descriptors.tests.test_base.TestMaxmethod), 166

test_valid() (openpyxl.descriptors.tests.test_base.TestMinmethod), 166

test_valid() (openpyxl.descriptors.tests.test_base.TestMinMaxmethod), 166

test_valid() (openpyxl.descriptors.tests.test_base.TestStringmethod), 166

test_valid() (openpyxl.descriptors.tests.test_base.TestTuplemethod), 167

test_valid() (openpyxl.descriptors.tests.test_base.TestValuesmethod), 167

test_valid() (openpyxl.descriptors.tests.test_excel.TestBase64Binarymethod), 167

test_valid() (openpyxl.descriptors.tests.test_excel.TestCellRangemethod), 167

test_valid() (openpyxl.descriptors.tests.test_excel.TestGuidmethod), 168

test_valid() (openpyxl.descriptors.tests.test_excel.TestHexBinarymethod), 168

test_valid() (openpyxl.descriptors.tests.test_excel.TestPercentagemethod), 168

test_valid() (openpyxl.descriptors.tests.test_excel.TestTextPointmethod), 168

test_valid() (openpyxl.descriptors.tests.test_excel.TestUniversalMeasuremethod), 168

test_valid_ctor() (open-pyxl.descriptors.tests.test_sequence.TestSequencemethod), 170

test_validation() (open-pyxl.styles.tests.test_colors.TestColor method),253

test_value_types() (open-pyxl.formatting.tests.test_rule.TestFormatObjectmethod), 231

test_values() (openpyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_vba() (in module open-pyxl.writer.tests.test_worksheet), 345

test_vba() (openpyxl.packaging.tests.test_manifest.TestManifestmethod), 240

test_vba_comments() (in module open-pyxl.writer.tests.test_worksheet), 345

test_W3CDTF_to_datetime() (in module open-pyxl.utils.tests.test_datetime), 274

test_whitespace_re() (open-pyxl.formula.tests.test_tokenizer.TestTokenizerRegexesmethod), 236

test_width() (openpyxl.drawing.tests.test_drawing.TestDrawingmethod), 179

test_workbook_is_template() (in module open-pyxl.writer.tests.test_template), 344

test_workbook_security() (open-pyxl.packaging.tests.test_workbook.TestWorkbookParsermethod), 241

test_worksheet() (in module open-pyxl.writer.tests.test_excel), 344

test_worksheet_copy() (open-pyxl.workbook.tests.test_workbook.TestCopymethod), 287

test_worksheet_copy_name() (open-pyxl.workbook.tests.test_workbook.TestCopymethod), 287

test_worksheet_dimension() (open-pyxl.worksheet.tests.test_worksheet.TestWorksheetmethod), 312

test_write() (openpyxl.chart.tests.test_area_chart.TestAreaChartmethod), 101

test_write() (openpyxl.chart.tests.test_bar_chart.TestBarChartmethod), 103

test_write() (openpyxl.chartsheet.tests.test_chartsheet.TestChartsheetmethod), 150

test_write() (openpyxl.chartsheet.tests.test_custom.TestCustomChartsheetViewmethod), 151

test_write() (openpyxl.chartsheet.tests.test_custom.TestCustomChartsheetViewsmethod), 151

test_write() (openpyxl.chartsheet.tests.test_properties.TestChartsheetPrmethod), 151

test_write() (openpyxl.chartsheet.tests.test_protection.TestChartsheetProtectionmethod), 151

test_write() (openpyxl.chartsheet.tests.test_publish.TestWebPublishItemsmethod), 151

test_write() (openpyxl.chartsheet.tests.test_publish.TestWebPulishItemmethod), 151

test_write() (openpyxl.chartsheet.tests.test_relation.TestDrawingHFmethod), 152

test_write() (openpyxl.chartsheet.tests.test_relation.TestSheetBackgroundPicturemethod), 152

test_write() (openpyxl.chartsheet.tests.test_views.TestChartsheetViewmethod), 152

test_write() (openpyxl.chartsheet.tests.test_views.TestChartsheetViewListmethod), 152

test_write() (openpyxl.drawing.tests.test_shape.TestShapeWritermethod), 183

test_write() (openpyxl.packaging.tests.test_manifest.TestManifestmethod), 241

test_write() (openpyxl.workbook.external_link.tests.test_external.TestExternalLinkmethod), 280

test_write() (openpyxl.workbook.tests.test_defined_name.TestDefinitionmethod), 283

test_write() (openpyxl.worksheet.tests.test_header.TestHeaderFooterItemmethod), 307

test_write() (openpyxl.worksheet.tests.test_page.TestPageMarginsmethod), 308

test_write() (openpyxl.worksheet.tests.test_page.TestPageSetupmethod), 308

462 Index

openpyxl Documentation, Release 2.4.9

test_write() (openpyxl.worksheet.tests.test_page.TestPrintOptionsmethod), 308

test_write() (openpyxl.worksheet.tests.test_table.TestTablemethod), 309

test_write_auto_filter() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_cell() (in module open-pyxl.writer.tests.test_worksheet), 345

test_write_chart() (in module open-pyxl.writer.tests.test_excel), 344

test_write_chart() (open-pyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawingmethod), 184

test_write_charts() (open-pyxl.chartsheet.tests.test_chartsheet.TestChartsheetmethod), 150

test_write_comment() (in module open-pyxl.writer.tests.test_worksheet), 345

test_write_comments() (in module open-pyxl.writer.tests.test_worksheet), 345

test_write_comments_vml() (in module open-pyxl.comments.tests.test_shape_writer),160

test_write_conditional_formatting() (open-pyxl.formatting.tests.test_formatting.TestConditionalFormattingmethod), 230

test_write_drawing() (in module open-pyxl.writer.tests.test_worksheet), 346

test_write_empty() (in module open-pyxl.writer.tests.test_worksheet), 346

test_write_empty_row() (in module open-pyxl.writer.tests.test_write_only), 346

test_write_empty_workbook() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_filters() (open-pyxl.worksheet.tests.test_filters.TestFiltersmethod), 306

test_write_formula() (in module open-pyxl.writer.tests.test_worksheet), 346

test_write_header() (in module open-pyxl.writer.tests.test_write_only), 346

test_write_height() (in module open-pyxl.writer.tests.test_worksheet), 346

test_write_height() (in module open-pyxl.writer.tests.test_write_only), 346

test_write_hidden_single_worksheet() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_hidden_worksheet() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_hyperlink_image_rels() (in module open-pyxl.writer.tests.test_worksheet), 346

test_write_image() (open-pyxl.drawing.tests.test_image.TestImagemethod), 182

test_write_images() (in module open-pyxl.writer.tests.test_excel), 344

test_write_named_range() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_picture() (open-pyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawingmethod), 184

test_write_properties() (in module open-pyxl.worksheet.tests.test_properties), 308

test_write_rels() (open-pyxl.drawing.tests.test_spreadsheet_drawing.TestSpreadsheetDrawingmethod), 184

test_write_root_rels() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_string_table() (in module open-pyxl.writer.tests.test_strings), 344

test_write_style() (open-pyxl.drawing.tests.test_shape.TestShapeWritermethod), 183

test_write_tables() (in module open-pyxl.writer.tests.test_worksheet), 346

test_write_text() (open-pyxl.drawing.tests.test_shape.TestShapeWritermethod), 183

test_write_theme() (in module open-pyxl.writer.tests.test_theme), 344

test_write_virtual_workbook() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_workbook() (in module open-pyxl.workbook.external_link.tests.test_external),280

test_write_workbook() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_workbook_code_name() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_workbook_protection() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_workbook_rels() (in module open-pyxl.writer.tests.test_workbook), 345

test_write_worksheet() (in module open-pyxl.styles.tests.test_stylesheet), 256

test_writer_validation() (open-pyxl.worksheet.tests.test_datavalidation.TestDataValidationmethod), 304

test_xl_content_type() (in module open-pyxl.writer.tests.test_template), 344

test_xy() (openpyxl.chart.tests.test_series_factory.TestSeriesFactorymethod), 110

test_zvalues() (openpyxl.chart.tests.test_series_factory.TestSeriesFactorymethod), 110

TestAbsoluteAnchor (class in open-pyxl.drawing.tests.test_spreadsheet_drawing),184

TestAllowNone (class in open-

Index 463

openpyxl Documentation, Release 2.4.9

pyxl.descriptors.tests.test_base), 165TestAreaChart (class in open-

pyxl.chart.tests.test_area_chart), 101TestAreaChart3D (class in open-

pyxl.chart.tests.test_area_chart), 101TestAreaSer (class in openpyxl.chart.tests.test_series),

109TestASCII (class in openpyxl.descriptors.tests.test_base),

165TestAuthor (class in open-

pyxl.comments.tests.test_author), 159TestAutoFilter (class in open-

pyxl.worksheet.tests.test_filters), 305TestAxis (class in openpyxl.chart.tests.test_axis), 102TestBandFormat (class in open-

pyxl.chart.tests.test_surface_chart), 111TestBandFormatList (class in open-

pyxl.chart.tests.test_surface_chart), 111TestBarChart (class in open-

pyxl.chart.tests.test_bar_chart), 103TestBarChart3D (class in open-

pyxl.chart.tests.test_bar_chart), 103TestBarSer (class in openpyxl.chart.tests.test_series), 110TestBase64Binary (class in open-

pyxl.descriptors.tests.test_excel), 167TestBlip (class in openpyxl.drawing.tests.test_fill), 179TestBlipFillProperties (class in open-

pyxl.drawing.tests.test_fill), 179TestBookView (class in open-

pyxl.workbook.tests.test_views), 286TestBool (class in openpyxl.descriptors.tests.test_base),

165TestBorder (class in openpyxl.styles.tests.test_borders),

252TestBreak (class in open-

pyxl.worksheet.tests.test_pagebreak), 308TestBubbleChart (class in open-

pyxl.chart.tests.test_bubble_chart), 103TestBubbleSer (class in openpyxl.chart.tests.test_series),

110TestCalcProperties (class in open-

pyxl.workbook.tests.test_properties), 285TestCellRange (class in open-

pyxl.descriptors.tests.test_excel), 167TestCellStyle (class in open-

pyxl.styles.tests.test_cell_style), 252TestCellStyleList (class in open-

pyxl.styles.tests.test_cell_style), 252TestCharacterProperties (class in open-

pyxl.drawing.tests.test_text), 184TestChartBase (class in openpyxl.chart.tests.test_chart),

103TestChartContainer (class in open-

pyxl.chart.tests.test_chartspace), 104

TestChartLines (class in openpyxl.chart.tests.test_axis),102

TestChartRelation (class in open-pyxl.drawing.tests.test_graphic), 180

TestChartsheet (class in open-pyxl.chartsheet.tests.test_chartsheet), 150

TestChartsheetPr (class in open-pyxl.chartsheet.tests.test_properties), 151

TestChartsheetProtection (class in open-pyxl.chartsheet.tests.test_protection), 151

TestChartsheetView (class in open-pyxl.chartsheet.tests.test_views), 152

TestChartsheetViewList (class in open-pyxl.chartsheet.tests.test_views), 152

TestColDimension (class in open-pyxl.worksheet.tests.test_dimensions), 304

TestColor (class in openpyxl.styles.tests.test_colors), 253TestColorChoice (class in open-

pyxl.drawing.tests.test_color), 178TestColorFilter (class in open-

pyxl.worksheet.tests.test_filters), 305TestColorMapping (class in open-

pyxl.drawing.tests.test_color), 178TestColorScale (class in open-

pyxl.formatting.tests.test_rule), 231TestComment (class in open-

pyxl.comments.tests.test_comment), 159TestComment (class in open-

pyxl.comments.tests.test_comment_sheet),159

TestCommentSheet (class in open-pyxl.comments.tests.test_comment_sheet),160

TestComplex (class in open-pyxl.descriptors.tests.test_sequence), 169

TestConditionalFormatting (class in open-pyxl.formatting.tests.test_formatting), 230

TestCopy (class in open-pyxl.workbook.tests.test_workbook), 287

TestCustomAttribute (class in open-pyxl.descriptors.tests.test_nested), 168

TestCustomChartsheetView (class in open-pyxl.chartsheet.tests.test_custom), 151

TestCustomChartsheetViews (class in open-pyxl.chartsheet.tests.test_custom), 151

TestCustomFilter (class in open-pyxl.worksheet.tests.test_filters), 305

TestCustomFilters (class in open-pyxl.worksheet.tests.test_filters), 305

TestCustomSplit (class in open-pyxl.chart.tests.test_pie_chart), 108

TestCustomWorkbookView (class in open-pyxl.workbook.tests.test_views), 286

TestDashStop (class in openpyxl.drawing.tests.test_line),

464 Index

openpyxl Documentation, Release 2.4.9

182TestDataBar (class in open-

pyxl.formatting.tests.test_rule), 231TestDataLabel (class in openpyxl.chart.tests.test_label),

106TestDataLabeList (class in open-

pyxl.chart.tests.test_label), 106TestDataPoint (class in openpyxl.chart.tests.test_marker),

107TestDataTable (class in open-

pyxl.chart.tests.test_chartspace), 104TestDataValidation (class in open-

pyxl.worksheet.tests.test_datavalidation),303

TestDataValidationList (class in open-pyxl.worksheet.tests.test_datavalidation),304

TestDateAx (class in openpyxl.chart.tests.test_axis), 102TestDateGroupItem (class in open-

pyxl.worksheet.tests.test_filters), 305TestDateTime (class in open-

pyxl.cell.tests.test_read_only), 94TestDefinition (class in open-

pyxl.workbook.tests.test_defined_name),283

TestDefinitionList (class in open-pyxl.workbook.tests.test_defined_name),284

TestDescriptor (class in open-pyxl.descriptors.tests.test_base), 165

TestDescriptor.Descriptor (class in open-pyxl.descriptors.tests.test_base), 166

TestDescriptor.Dummy (class in open-pyxl.descriptors.tests.test_base), 166

TestDisplayUnitList (class in open-pyxl.chart.tests.test_axis), 102

TestDispUnitsLabel (class in open-pyxl.chart.tests.test_axis), 102

TestDoughnutChart (class in open-pyxl.chart.tests.test_pie_chart), 108

TestDrawing (class in open-pyxl.drawing.tests.test_drawing), 178

TestDrawingHF (class in open-pyxl.chartsheet.tests.test_relation), 152

TestDynamicFilter (class in open-pyxl.worksheet.tests.test_filters), 306

TestEmptyTag (class in open-pyxl.descriptors.tests.test_nested), 168

TestEncoding (class in openpyxl.cell.tests.test_cell), 93TestErrorBar (class in open-

pyxl.chart.tests.test_error_bar), 106TestExtendedProperties (class in open-

pyxl.packaging.tests.test_extended), 240TestExternalBook (class in open-

pyxl.workbook.external_link.tests.test_external),280

TestExternalCell (class in open-pyxl.workbook.external_link.tests.test_external),280

TestExternalData (class in open-pyxl.chart.tests.test_chartspace), 104

TestExternalLink (class in open-pyxl.workbook.external_link.tests.test_external),280

TestExternalReference (class in open-pyxl.workbook.tests.test_external_reference),284

TestFileExtension (class in open-pyxl.packaging.tests.test_manifest), 240

TestFileSharing (class in open-pyxl.workbook.tests.test_protection), 286

TestFileVersion (class in open-pyxl.workbook.tests.test_properties), 285

TestFilterColumn (class in open-pyxl.worksheet.tests.test_filters), 306

TestFilters (class in openpyxl.worksheet.tests.test_filters),306

TestFloat (class in openpyxl.descriptors.tests.test_base),166

TestFont (class in openpyxl.styles.tests.test_fonts), 254TestFormatObject (class in open-

pyxl.formatting.tests.test_rule), 231TestFunctionGroup (class in open-

pyxl.workbook.tests.test_function_group),284

TestFunctionGroupList (class in open-pyxl.workbook.tests.test_function_group),284

TestGradientFill (class in openpyxl.styles.tests.test_fills),253

TestGradientFillProperties (class in open-pyxl.drawing.tests.test_fill), 179

TestGradientFillProperties (class in open-pyxl.drawing.tests.test_shapes), 183

TestGradientStop (class in open-pyxl.drawing.tests.test_fill), 179

TestGradientStopList (class in open-pyxl.drawing.tests.test_fill), 179

TestGraphicData (class in open-pyxl.drawing.tests.test_graphic), 180

TestGraphicFrame (class in open-pyxl.drawing.tests.test_graphic), 180

TestGraphicObject (class in open-pyxl.drawing.tests.test_graphic), 180

TestGrouping (class in open-pyxl.worksheet.tests.test_dimensions), 304

TestGuid (class in openpyxl.descriptors.tests.test_excel),167

Index 465

openpyxl Documentation, Release 2.4.9

TestHeaderFooter (class in open-pyxl.worksheet.tests.test_header), 306

TestHeaderFooterItem (class in open-pyxl.worksheet.tests.test_header), 307

TestHeaderFooterPart (class in open-pyxl.worksheet.tests.test_header), 307

TestHexBinary (class in open-pyxl.descriptors.tests.test_excel), 168

TestHSLColor (class in open-pyxl.drawing.tests.test_color), 178

TestHyperlink (class in open-pyxl.worksheet.tests.test_hyperlink), 307

TestHyperlinkList (class in open-pyxl.worksheet.tests.test_hyperlink), 307

TestIconFilter (class in open-pyxl.worksheet.tests.test_filters), 306

TestIconSet (class in openpyxl.formatting.tests.test_rule),231

TestImage (class in openpyxl.drawing.tests.test_image),182

TestInlineFont (class in openpyxl.cell.tests.test_text), 95TestInt (class in openpyxl.descriptors.tests.test_base), 166TestKeywordAttribute (class in open-

pyxl.descriptors.tests.test_serialisable), 170TestKeywordNode (class in open-

pyxl.descriptors.tests.test_serialisable), 170TestLayout (class in openpyxl.chart.tests.test_layout),

106TestLegend (class in openpyxl.chart.tests.test_legend),

106TestLegendEntry (class in open-

pyxl.chart.tests.test_legend), 107TestLength (class in openpyxl.descriptors.tests.test_base),

166TestLineChart (class in open-

pyxl.chart.tests.test_line_chart), 107TestLineChart (class in open-

pyxl.chart.tests.test_scatter_chart), 109TestLineChart3D (class in open-

pyxl.chart.tests.test_line_chart), 107TestLineEndProperties (class in open-

pyxl.drawing.tests.test_line), 182TestLineJoinMiterProperties (class in open-

pyxl.drawing.tests.test_line), 182TestLineProperties (class in open-

pyxl.drawing.tests.test_line), 182TestManifest (class in open-

pyxl.packaging.tests.test_manifest), 240TestManualLayout (class in open-

pyxl.chart.tests.test_layout), 106TestMarker (class in openpyxl.chart.tests.test_marker),

107TestMax (class in openpyxl.descriptors.tests.test_base),

166

TestMin (class in openpyxl.descriptors.tests.test_base),166

TestMinMax (class in open-pyxl.descriptors.tests.test_base), 166

TestNamedCellStyle (class in open-pyxl.styles.tests.test_named_style), 254

TestNamedCellStyleList (class in open-pyxl.styles.tests.test_named_style), 254

TestNamedStyle (class in open-pyxl.styles.tests.test_named_style), 254

TestNamedStyle (class in open-pyxl.styles.tests.test_styleable), 255

TestNamedStyleList (class in open-pyxl.styles.tests.test_named_style), 254

TestNestedSequence (class in open-pyxl.descriptors.tests.test_sequence), 169

TestNonVisualDrawingProps (class in open-pyxl.drawing.tests.test_graphic), 181

TestNonVisualGraphicFrame (class in open-pyxl.drawing.tests.test_graphic), 181

TestNonVisualGraphicFrameProperties (class in open-pyxl.drawing.tests.test_graphic), 181

TestNonVisualPictureProperties (class in open-pyxl.drawing.tests.test_graphic), 181

TestNumRef (class in open-pyxl.chart.tests.test_data_source), 105

TestOneCellAnchor (class in open-pyxl.drawing.tests.test_spreadsheet_drawing),184

TestOverride (class in open-pyxl.packaging.tests.test_manifest), 241

TestPageBreak (class in open-pyxl.worksheet.tests.test_pagebreak), 308

TestPageMargins (class in open-pyxl.chart.tests.test_print), 108

TestPageMargins (class in open-pyxl.worksheet.tests.test_page), 308

TestPageSetup (class in open-pyxl.worksheet.tests.test_page), 308

TestParagraph (class in openpyxl.drawing.tests.test_text),185

TestParagraphProperties (class in open-pyxl.drawing.tests.test_text), 185

TestPatternFill (class in openpyxl.styles.tests.test_fills),253

TestPatternFillProperties (class in open-pyxl.drawing.tests.test_fill), 179

TestPercentage (class in open-pyxl.descriptors.tests.test_excel), 168

TestPhoneticProperties (class in open-pyxl.cell.tests.test_text), 95

TestPhoneticText (class in openpyxl.cell.tests.test_text),95

TestPicture (class in open-

466 Index

openpyxl Documentation, Release 2.4.9

pyxl.drawing.tests.test_graphic), 181TestPictureLocking (class in open-

pyxl.drawing.tests.test_graphic), 181TestPictureNonVisual (class in open-

pyxl.drawing.tests.test_graphic), 181TestPictureOptions (class in open-

pyxl.chart.tests.test_picture), 107TestPieChart (class in open-

pyxl.chart.tests.test_pie_chart), 108TestPieChart3D (class in open-

pyxl.chart.tests.test_pie_chart), 108TestPieSer (class in openpyxl.chart.tests.test_series), 110TestPivotCache (class in open-

pyxl.workbook.tests.test_pivot), 285TestPivotCacheList (class in open-

pyxl.workbook.tests.test_pivot), 285TestPivotFormat (class in open-

pyxl.chart.tests.test_chartspace), 104TestPivotFormatList (class in open-

pyxl.chart.tests.test_chartspace), 104TestPivotSource (class in open-

pyxl.chart.tests.test_chartspace), 104TestPlotArea (class in open-

pyxl.chart.tests.test_chartspace), 104TestPositioning (class in open-

pyxl.worksheet.tests.test_worksheet), 310TestPrimitive (class in open-

pyxl.descriptors.tests.test_sequence), 170TestPrintOptions (class in open-

pyxl.worksheet.tests.test_page), 308TestPrintSettings (class in open-

pyxl.chart.tests.test_print), 108TestProjectedPieChart (class in open-

pyxl.chart.tests.test_pie_chart), 108TestProtection (class in open-

pyxl.chart.tests.test_chartspace), 105TestRadarSer (class in openpyxl.chart.tests.test_series),

110TestRead (class in openpyxl.tests.test_iter), 272TestReadOnlyWorksheet (class in open-

pyxl.worksheet.tests.test_read_only), 309TestReference (class in open-

pyxl.chart.tests.test_reference), 109TestRelation (class in open-

pyxl.descriptors.tests.test_serialisable), 170TestRelativeRect (class in open-

pyxl.drawing.tests.test_fill), 180TestRGBPercent (class in open-

pyxl.drawing.tests.test_color), 178TestRichText (class in openpyxl.cell.tests.test_text), 95TestRichText (class in openpyxl.chart.tests.test_text), 112TestRowDimension (class in open-

pyxl.worksheet.tests.test_dimensions), 304TestRule (class in openpyxl.formatting.tests.test_rule),

231TestScatterSer (class in openpyxl.chart.tests.test_series),

110TestSequence (class in open-

pyxl.descriptors.tests.test_sequence), 170TestSerialisable (class in open-

pyxl.descriptors.tests.test_serialisable), 170TestSeriesAxis (class in openpyxl.chart.tests.test_axis),

102TestSeriesFactory (class in open-

pyxl.chart.tests.test_series_factory), 110TestSeriesLabel (class in openpyxl.chart.tests.test_series),

110TestShape (class in openpyxl.drawing.tests.test_shape),

183TestShapeProperties (class in open-

pyxl.chart.tests.test_shapes), 111TestShapeWriter (class in open-

pyxl.drawing.tests.test_shape), 183TestSheetBackgroundPicture (class in open-

pyxl.chartsheet.tests.test_relation), 152TestSheetViews (class in open-

pyxl.worksheet.tests.test_views), 310TestSmartTag (class in open-

pyxl.workbook.tests.test_smart_tags), 286TestSmartTagList (class in open-

pyxl.workbook.tests.test_smart_tags), 286TestSmartTagProperties (class in open-

pyxl.workbook.tests.test_smart_tags), 286TestSortCondition (class in open-

pyxl.worksheet.tests.test_filters), 306TestSortState (class in open-

pyxl.worksheet.tests.test_filters), 306TestSpreadsheetDrawing (class in open-

pyxl.drawing.tests.test_spreadsheet_drawing),184

TestStockChart (class in open-pyxl.chart.tests.test_radar_chart), 109

TestStockChart (class in open-pyxl.chart.tests.test_stock_chart), 111

TestStrData (class in open-pyxl.chart.tests.test_data_source), 105

TestStretchInfoProperties (class in open-pyxl.drawing.tests.test_fill), 180

TestString (class in openpyxl.descriptors.tests.test_base),166

TestStrRef (class in open-pyxl.chart.tests.test_data_source), 105

TestStrVal (class in open-pyxl.chart.tests.test_data_source), 105

TestStyle (class in openpyxl.cell.tests.test_read_only), 95TestStyleArray (class in open-

pyxl.styles.tests.test_cell_style), 252TestStylesheet (class in open-

Index 467

openpyxl Documentation, Release 2.4.9

pyxl.styles.tests.test_stylesheet), 256TestSurface (class in open-

pyxl.chart.tests.test_chartspace), 105TestSurfaceChart (class in open-

pyxl.chart.tests.test_surface_chart), 111TestSurfaceChart3D (class in open-

pyxl.chart.tests.test_surface_chart), 111TestSurfaceSer (class in openpyxl.chart.tests.test_series),

110TestSystemColor (class in open-

pyxl.drawing.tests.test_color), 178TestTable (class in openpyxl.worksheet.tests.test_table),

309TestTableColumn (class in open-

pyxl.worksheet.tests.test_table), 309TestTableFormula (class in open-

pyxl.worksheet.tests.test_table), 309TestTableInfo (class in open-

pyxl.worksheet.tests.test_table), 310TestTablePartList (class in open-

pyxl.worksheet.tests.test_table), 310TestTableStyle (class in openpyxl.styles.tests.test_table),

256TestTableStyleElement (class in open-

pyxl.styles.tests.test_table), 256TestTableStyleList (class in open-

pyxl.styles.tests.test_table), 257TestText (class in openpyxl.cell.tests.test_text), 96TestText (class in openpyxl.descriptors.tests.test_nested),

169TestTextAxis (class in openpyxl.chart.tests.test_axis), 102TestTextBox (class in openpyxl.drawing.tests.test_text),

185TestTextPoint (class in open-

pyxl.descriptors.tests.test_excel), 168TestTitle (class in openpyxl.chart.tests.test_title), 112TestToken (class in open-

pyxl.formula.tests.test_tokenizer), 235TestTokenizer (class in open-

pyxl.formula.tests.test_tokenizer), 235TestTokenizerRegexes (class in open-

pyxl.formula.tests.test_tokenizer), 236TestTop10 (class in openpyxl.worksheet.tests.test_filters),

306TestTransform2D (class in open-

pyxl.drawing.tests.test_shapes), 183TestTranslator (class in open-

pyxl.formula.tests.test_translate), 236TestTrendline (class in open-

pyxl.chart.tests.test_trendline), 112TestTrendlineLabel (class in open-

pyxl.chart.tests.test_trendline), 112TestTuple (class in openpyxl.descriptors.tests.test_base),

167

TestTwoCellAnchor (class in open-pyxl.drawing.tests.test_spreadsheet_drawing),184

TestUniversalMeasure (class in open-pyxl.descriptors.tests.test_excel), 168

TestUpDownBars (class in open-pyxl.chart.tests.test_updown_bars), 112

TestValAx (class in openpyxl.chart.tests.test_axis), 102TestValue (class in open-

pyxl.descriptors.tests.test_nested), 169TestValues (class in openpyxl.descriptors.tests.test_base),

167TestValueSequence (class in open-

pyxl.descriptors.tests.test_sequence), 170TestView3D (class in open-

pyxl.chart.tests.test_chartspace), 105TestWebPublishing (class in open-

pyxl.workbook.tests.test_web), 287TestWebPublishItems (class in open-

pyxl.chartsheet.tests.test_publish), 151TestWebPublishObject (class in open-

pyxl.workbook.tests.test_web), 287TestWebPublishObjectList (class in open-

pyxl.workbook.tests.test_web), 287TestWebPulishItem (class in open-

pyxl.chartsheet.tests.test_publish), 151TestWorkbook (class in open-

pyxl.workbook.tests.test_workbook), 287TestWorkbookChild (class in open-

pyxl.workbook.tests.test_child), 283TestWorkbookPackage (class in open-

pyxl.workbook.tests.test_parser), 285TestWorkbookParser (class in open-

pyxl.packaging.tests.test_workbook), 241TestWorkbookProperties (class in open-

pyxl.workbook.tests.test_properties), 285TestWorkbookProtection (class in open-

pyxl.workbook.tests.test_protection), 286TestWorksheet (class in open-

pyxl.worksheet.tests.test_worksheet), 310TestWorksheetCopy (class in open-

pyxl.worksheet.tests.test_worksheet_copy),312

TestXMLColumnPr (class in open-pyxl.worksheet.tests.test_table), 310

Text (class in openpyxl.cell.text), 100Text (class in openpyxl.chart.text), 147Text (class in openpyxl.descriptors.base), 172text (openpyxl.cell.text.PhoneticText attribute), 100text (openpyxl.cell.text.RichText attribute), 100text (openpyxl.chart.axis.DisplayUnitsLabel attribute),

115text (openpyxl.chart.title.Title attribute), 148text (openpyxl.comments.comment_sheet.CommentRecord

468 Index

openpyxl Documentation, Release 2.4.9

attribute), 161text (openpyxl.comments.comments.Comment attribute),

163text (openpyxl.drawing.text.Paragraph attribute), 225text (openpyxl.formatting.rule.Rule attribute), 234TEXT (openpyxl.formula.tokenizer.Token attribute), 237text (openpyxl.worksheet.table.TableFormula attribute),

336Text() (in module openpyxl.cell.tests.test_text), 96text_color (openpyxl.drawing.shape.Shape attribute), 212text_rotation (openpyxl.styles.alignment.Alignment at-

tribute), 258TextAxis (class in openpyxl.chart.axis), 118TextAxis() (in module openpyxl.chart.tests.test_axis),

103TextBody (openpyxl.chart.chartspace.PivotFormat

attribute), 124TextField (class in openpyxl.drawing.text), 229textHAlign (openpyxl.comments.comment_sheet.Properties

attribute), 162textlink (openpyxl.drawing.graphic.Shape attribute), 208TextNormalAutofit (class in openpyxl.drawing.text), 230TextPoint (class in openpyxl.descriptors.excel), 173TextPoint() (in module open-

pyxl.descriptors.tests.test_excel), 168textPropertes (openpyxl.chart.axis.DisplayUnitsLabel at-

tribute), 115textProperties (openpyxl.chart.chartspace.ChartSpace at-

tribute), 123textProperties (openpyxl.chart.legend.Legend attribute),

133textProperties (openpyxl.chart.trendline.TrendlineLabel

attribute), 149textRotation (openpyxl.styles.alignment.Alignment at-

tribute), 257textVAlign (openpyxl.comments.comment_sheet.Properties

attribute), 162tgtFrame (openpyxl.drawing.text.Hyperlink attribute),

224theme (openpyxl.styles.colors.Color attribute), 261thickBot (openpyxl.worksheet.dimensions.RowDimension

attribute), 317thickBottom (openpyxl.worksheet.dimensions.SheetFormatProperties

attribute), 318thicket (openpyxl.workbook.web.WebPublishing at-

tribute), 301thickTop (openpyxl.worksheet.dimensions.RowDimension

attribute), 317thickTop (openpyxl.worksheet.dimensions.SheetFormatProperties

attribute), 318thresh (openpyxl.drawing.effect.AlphaBiLevelEffect at-

tribute), 190thresh (openpyxl.drawing.effect.BiLevelEffect attribute),

190

tickLblPos (openpyxl.chart.axis.DateAxis attribute), 115tickLblPos (openpyxl.chart.axis.NumericAxis attribute),

117tickLblPos (openpyxl.chart.axis.SeriesAxis attribute),

118tickLblPos (openpyxl.chart.axis.TextAxis attribute), 119tickLblSkip (openpyxl.chart.axis.SeriesAxis attribute),

118tickLblSkip (openpyxl.chart.axis.TextAxis attribute), 119tickMarkSkip (openpyxl.chart.axis.SeriesAxis attribute),

118tickMarkSkip (openpyxl.chart.axis.TextAxis attribute),

119tile (openpyxl.drawing.fill.BlipFillProperties attribute),

199TileInfoProperties (class in openpyxl.drawing.fill), 201tileRect (openpyxl.drawing.fill.GradientFillProperties at-

tribute), 199time_to_days() (in module openpyxl.utils.datetime), 277timedelta_to_days() (in module openpyxl.utils.datetime),

277timePeriod (openpyxl.formatting.rule.Rule attribute), 234tIns (openpyxl.drawing.text.RichTextProperties at-

tribute), 229tint (openpyxl.drawing.colors.SystemColor attribute),

189tint (openpyxl.drawing.fill.Blip attribute), 199tint (openpyxl.styles.colors.Color attribute), 261TintEffect (class in openpyxl.drawing.effect), 197Title (class in openpyxl.chart.title), 148title (openpyxl.chart.axis.DateAxis attribute), 115title (openpyxl.chart.axis.NumericAxis attribute), 117title (openpyxl.chart.axis.SeriesAxis attribute), 118title (openpyxl.chart.axis.TextAxis attribute), 119title (openpyxl.chart.chartspace.ChartContainer at-

tribute), 122title (openpyxl.chart.series.Series attribute), 142title (openpyxl.chartsheet.publish.WebPublishItem

attribute), 155title (openpyxl.drawing.graphic.NonVisualDrawingProps

attribute), 205title (openpyxl.packaging.core.DocumentProperties at-

tribute), 243title (openpyxl.workbook.web.WebPublishObject at-

tribute), 300Title() (in module openpyxl.chart.tests.test_title), 112title_maker() (in module openpyxl.chart.title), 148TitleDescriptor (class in openpyxl.chart.title), 148TitlesOfParts (openpyxl.packaging.extended.ExtendedProperties

attribute), 245to (openpyxl.drawing.spreadsheet_drawing.TwoCellAnchor

attribute), 220to_array() (openpyxl.styles.cell_style.CellStyle method),

260

Index 469

openpyxl Documentation, Release 2.4.9

to_excel() (in module openpyxl.utils.datetime), 277to_tree() (openpyxl.chart.chartspace.PlotArea method),

126to_tree() (openpyxl.chart.series.Series method), 143to_tree() (openpyxl.chartsheet.chartsheet.Chartsheet

method), 153to_tree() (openpyxl.comments.comment_sheet.CommentSheet

method), 161to_tree() (openpyxl.descriptors.nested.EmptyTag

method), 174to_tree() (openpyxl.descriptors.nested.Nested method),

174to_tree() (openpyxl.descriptors.nested.NestedText

method), 175to_tree() (openpyxl.descriptors.sequence.NestedSequence

method), 175to_tree() (openpyxl.descriptors.sequence.Sequence

method), 175to_tree() (openpyxl.descriptors.sequence.ValueSequence

method), 175to_tree() (openpyxl.descriptors.serialisable.Serialisable

method), 176to_tree() (openpyxl.packaging.core.NestedDateTime

method), 243to_tree() (openpyxl.packaging.core.QualifiedDateTime

method), 243to_tree() (openpyxl.packaging.extended.ExtendedProperties

method), 245to_tree() (openpyxl.packaging.manifest.Manifest

method), 246to_tree() (openpyxl.packaging.relationship.RelationshipList

method), 247to_tree() (openpyxl.styles.fills.GradientFill method), 263to_tree() (openpyxl.styles.fills.PatternFill method), 264to_tree() (openpyxl.styles.stylesheet.Stylesheet method),

270to_tree() (openpyxl.workbook.external_link.external.ExternalLink

method), 282to_tree() (openpyxl.workbook.parser.WorkbookPackage

method), 292to_tree() (openpyxl.worksheet.dimensions.ColumnDimension

method), 315to_tree() (openpyxl.worksheet.dimensions.DimensionHolder

method), 316to_tree() (openpyxl.worksheet.header_footer.HeaderFooterItem

method), 323to_tree() (openpyxl.worksheet.related.Related method),

333to_tree() (openpyxl.worksheet.table.Table method), 334Token (class in openpyxl.formula.tokenizer), 237TOKEN_ENDERS (open-

pyxl.formula.tokenizer.Tokenizer attribute),238

Tokenizer (class in openpyxl.formula.tokenizer), 238

tokenizer() (in module open-pyxl.formula.tests.test_tokenizer), 236

Tokenizer() (in module open-pyxl.formula.tests.test_translate), 236

TokenizerError, 238tooltip (openpyxl.drawing.text.Hyperlink attribute), 224tooltip (openpyxl.worksheet.hyperlink.Hyperlink at-

tribute), 323top (openpyxl.chart.print_settings.PageMargins at-

tribute), 139top (openpyxl.drawing.fill.RelativeRect attribute), 201top (openpyxl.styles.borders.Border attribute), 259top (openpyxl.styles.fills.GradientFill attribute), 263top (openpyxl.worksheet.filters.Top10 attribute), 322top (openpyxl.worksheet.page.PageMargins attribute),

324Top10 (class in openpyxl.worksheet.filters), 322top10 (openpyxl.worksheet.filters.FilterColumn at-

tribute), 320Top10() (in module openpyxl.worksheet.tests.test_filters),

306topLeftCell (openpyxl.worksheet.views.Pane attribute),

337topLeftCell (openpyxl.worksheet.views.SheetView

attribute), 339totalsRowBorderDxfId (openpyxl.worksheet.table.Table

attribute), 334totalsRowCellStyle (openpyxl.worksheet.table.Table at-

tribute), 334totalsRowCellStyle (open-

pyxl.worksheet.table.TableColumn attribute),335

totalsRowCount (openpyxl.worksheet.table.Table at-tribute), 334

totalsRowDxfId (openpyxl.worksheet.table.Table at-tribute), 334

totalsRowDxfId (openpyxl.worksheet.table.TableColumnattribute), 335

totalsRowFormula (open-pyxl.worksheet.table.TableColumn attribute),335

totalsRowFunction (open-pyxl.worksheet.table.TableColumn attribute),335

totalsRowLabel (openpyxl.worksheet.table.TableColumnattribute), 335

totalsRowShown (openpyxl.worksheet.table.Tableattribute), 335

TotalTime (openpyxl.packaging.extended.ExtendedPropertiesattribute), 245

Transform (class in openpyxl.drawing.colors), 189transform (openpyxl.chart.shapes.GraphicalProperties at-

tribute), 145Transform2D (class in openpyxl.drawing.shapes), 217

470 Index

openpyxl Documentation, Release 2.4.9

Transform2D() (in module open-pyxl.drawing.tests.test_shapes), 183

transitionEntry (openpyxl.worksheet.properties.WorksheetPropertiesattribute), 331

transitionEvaluation (open-pyxl.worksheet.properties.WorksheetPropertiesattribute), 331

translate_col() (openpyxl.formula.translate.Translatorstatic method), 239

translate_formula() (open-pyxl.formula.translate.Translator method),239

translate_range() (openpyxl.formula.translate.Translatorclass method), 239

translate_row() (openpyxl.formula.translate.Translatorstatic method), 239

Translator (class in openpyxl.formula.translate), 238Translator() (in module open-

pyxl.formula.tests.test_translate), 236Translator() (in module open-

pyxl.reader.tests.test_worksheet), 248TranslatorError, 239TranslatorError() (in module open-

pyxl.formula.tests.test_translate), 236Trendline (class in openpyxl.chart.trendline), 148trendline (openpyxl.chart.series.Series attribute), 143trendline (openpyxl.chart.series.XYSeries attribute), 144Trendline() (in module open-

pyxl.chart.tests.test_trendline), 112TrendlineLabel (class in openpyxl.chart.trendline), 149TrendlineLabel() (in module open-

pyxl.chart.tests.test_trendline), 112trendlineLbl (openpyxl.chart.trendline.Trendline at-

tribute), 149trendlineType (openpyxl.chart.trendline.Trendline at-

tribute), 149Tuple (class in openpyxl.descriptors.base), 172Tuple() (in module openpyxl.descriptors.tests.test_base),

167TwoCellAnchor (class in open-

pyxl.drawing.spreadsheet_drawing), 220twoCellAnchor (openpyxl.drawing.spreadsheet_drawing.SpreadsheetDrawing

attribute), 220TwoCellAnchor() (in module open-

pyxl.drawing.tests.test_spreadsheet_drawing),184

tx (openpyxl.chart.axis.DisplayUnitsLabel attribute), 115tx (openpyxl.chart.series.Series attribute), 143tx (openpyxl.chart.series.XYSeries attribute), 144tx (openpyxl.chart.title.Title attribute), 148tx (openpyxl.chart.trendline.TrendlineLabel attribute),

150tx (openpyxl.drawing.fill.TileInfoProperties attribute),

202

tx1 (openpyxl.drawing.colors.ColorMapping attribute),187

tx2 (openpyxl.drawing.colors.ColorMapping attribute),187

txBax (openpyxl.drawing.graphic.NonVisualDrawingShapePropsattribute), 206

txBody (openpyxl.drawing.graphic.Shape attribute), 209txPr (openpyxl.chart.axis.DateAxis attribute), 115txPr (openpyxl.chart.axis.DisplayUnitsLabel attribute),

115txPr (openpyxl.chart.axis.NumericAxis attribute), 117txPr (openpyxl.chart.axis.SeriesAxis attribute), 118txPr (openpyxl.chart.axis.TextAxis attribute), 119txPr (openpyxl.chart.chartspace.ChartSpace attribute),

123txPr (openpyxl.chart.chartspace.DataTable attribute), 124txPr (openpyxl.chart.chartspace.PivotFormat attribute),

125txPr (openpyxl.chart.label.DataLabel attribute), 131txPr (openpyxl.chart.label.DataLabelList attribute), 132txPr (openpyxl.chart.legend.Legend attribute), 133txPr (openpyxl.chart.legend.LegendEntry attribute), 133txPr (openpyxl.chart.title.Title attribute), 148txPr (openpyxl.chart.trendline.TrendlineLabel attribute),

150ty (openpyxl.drawing.fill.TileInfoProperties attribute),

202type (openpyxl.cell.text.PhoneticProperties attribute), 100type (openpyxl.chart.pie_chart.ProjectedPieChart at-

tribute), 138type (openpyxl.chart.radar_chart.RadarChart attribute),

140type (openpyxl.drawing.effect.EffectContainer attribute),

191type (openpyxl.drawing.line.LineEndProperties at-

tribute), 210type (openpyxl.drawing.text.AutonumberBullet at-

tribute), 220type (openpyxl.drawing.text.TextField attribute), 230type (openpyxl.formatting.rule.FormatObject attribute),

233type (openpyxl.formatting.rule.Rule attribute), 235type (openpyxl.formula.tokenizer.Token attribute), 238Type (openpyxl.packaging.relationship.Relationship at-

tribute), 246type (openpyxl.styles.colors.Color attribute), 261type (openpyxl.styles.fills.GradientFill attribute), 263type (openpyxl.styles.table.TableStyleElement attribute),

270type (openpyxl.workbook.defined_name.DefinedName

attribute), 289type (openpyxl.worksheet.datavalidation.DataValidation

attribute), 314type (openpyxl.worksheet.filters.DynamicFilter at-

Index 471

openpyxl Documentation, Release 2.4.9

tribute), 320type (openpyxl.worksheet.pivot.PivotArea attribute), 327TYPE_BOOL (openpyxl.cell.cell.Cell attribute), 96TYPE_ERROR (openpyxl.cell.cell.Cell attribute), 96TYPE_FORMULA (openpyxl.cell.cell.Cell attribute), 96TYPE_FORMULA_CACHE_STRING (open-

pyxl.cell.cell.Cell attribute), 96TYPE_INLINE (openpyxl.cell.cell.Cell attribute), 96TYPE_NULL (openpyxl.cell.cell.Cell attribute), 96TYPE_NUMERIC (openpyxl.cell.cell.Cell attribute), 96TYPE_STRING (openpyxl.cell.cell.Cell attribute), 96Typed (class in openpyxl.descriptors.base), 172typeface (openpyxl.drawing.text.Font attribute), 223tzname() (openpyxl.utils.datetime.GMT method), 277tzname() (openpyxl.utils.tests.test_datetime.CET

method), 274

Uu (openpyxl.cell.text.InlineFont attribute), 99u (openpyxl.drawing.text.CharacterProperties attribute),

223u (openpyxl.styles.fonts.Font attribute), 265uFill (openpyxl.drawing.text.CharacterProperties at-

tribute), 223uFillTx (openpyxl.drawing.text.CharacterProperties at-

tribute), 223uiObject (openpyxl.comments.comment_sheet.Properties

attribute), 162uLn (openpyxl.drawing.text.CharacterProperties at-

tribute), 223uLnTx (openpyxl.drawing.text.CharacterProperties at-

tribute), 223unbind() (openpyxl.comments.comments.Comment

method), 163underline (openpyxl.styles.fonts.Font attribute), 265UNDERLINE_DOUBLE (openpyxl.styles.fonts.Font at-

tribute), 264UNDERLINE_DOUBLE_ACCOUNTING (open-

pyxl.styles.fonts.Font attribute), 264UNDERLINE_SINGLE (openpyxl.styles.fonts.Font at-

tribute), 264UNDERLINE_SINGLE_ACCOUNTING (open-

pyxl.styles.fonts.Font attribute), 264unescape() (in module openpyxl.utils.escape), 277Unicode_Workbook() (in module open-

pyxl.writer.tests.test_workbook), 344unique (openpyxl.descriptors.sequence.Sequence at-

tribute), 175uniqueName (openpyxl.worksheet.table.TableColumn at-

tribute), 335UniversalMeasure (class in openpyxl.descriptors.excel),

174UniversalMeasure() (in module open-

pyxl.descriptors.tests.test_excel), 168

unmerge_cells() (open-pyxl.worksheet.worksheet.Worksheet method),343

up (openpyxl.drawing.shapes.Backdrop attribute), 213upBars (openpyxl.chart.updown_bars.UpDownBars at-

tribute), 150update() (openpyxl.compat.odict.OrderedDict method),

164updateLinks (openpyxl.workbook.properties.WorkbookProperties

attribute), 295UpDownBars (class in openpyxl.chart.updown_bars), 150upDownBars (openpyxl.chart.line_chart.LineChart

attribute), 134upDownBars (openpyxl.chart.line_chart.LineChart3D at-

tribute), 135upDownBars (openpyxl.chart.stock_chart.StockChart at-

tribute), 146UpDownBars() (in module open-

pyxl.chart.tests.test_updown_bars), 112upright (openpyxl.drawing.text.RichTextProperties

attribute), 229uri (openpyxl.descriptors.excel.Extension attribute), 173uri (openpyxl.drawing.graphic.GraphicData attribute),

202url (openpyxl.workbook.smart_tags.SmartTag attribute),

297useA (openpyxl.drawing.effect.ColorChangeEffect

attribute), 191useFirstPageNumber (open-

pyxl.worksheet.page.PrintPageSetup attribute),326

usePrinterDefaults (open-pyxl.worksheet.page.PrintPageSetup attribute),326

userInterface (openpyxl.chart.chartspace.Protection at-tribute), 127

userName (openpyxl.workbook.protection.FileSharingattribute), 296

userShapes (openpyxl.chart.chartspace.ChartSpaceattribute), 123

utcoffset() (openpyxl.utils.datetime.GMT method), 277utcoffset() (openpyxl.utils.tests.test_datetime.CET

method), 274

Vv (openpyxl.chart.data_source.NumVal attribute), 128v (openpyxl.chart.data_source.StrVal attribute), 129v (openpyxl.chart.series.SeriesLabel attribute), 143v (openpyxl.workbook.external_link.external.ExternalCell

attribute), 281v (openpyxl.worksheet.pivot.Index attribute), 327val (openpyxl.chart.error_bar.ErrorBars attribute), 130val (openpyxl.chart.series.Series attribute), 143val (openpyxl.drawing.colors.SystemColor attribute), 189

472 Index

openpyxl Documentation, Release 2.4.9

val (openpyxl.formatting.rule.FormatObject attribute),233

val (openpyxl.worksheet.filters.CustomFilter attribute),319

val (openpyxl.worksheet.filters.DynamicFilter attribute),320

val (openpyxl.worksheet.filters.Top10 attribute), 322valAx (openpyxl.chart.chartspace.PlotArea attribute), 126VALID_TYPES (openpyxl.cell.cell.Cell attribute), 96validate_archive() (in module openpyxl.tests.schema),

271validation_type (openpyxl.worksheet.datavalidation.DataValidation

attribute), 314valIso (openpyxl.worksheet.filters.DynamicFilter at-

tribute), 320value (openpyxl.cell.cell.Cell attribute), 97value (openpyxl.cell.interface.AbstractCell attribute), 98value (openpyxl.cell.read_only.EmptyCell attribute), 98value (openpyxl.cell.read_only.ReadOnlyCell attribute),

99value (openpyxl.chart.series.SeriesLabel attribute), 143value (openpyxl.descriptors.tests.test_base.TestASCII at-

tribute), 165value (openpyxl.descriptors.tests.test_sequence.SomeType

attribute), 169value (openpyxl.drawing.text.RegularTextRun attribute),

227value (openpyxl.formula.tokenizer.Token attribute), 238value (openpyxl.styles.colors.Color attribute), 261value (openpyxl.workbook.defined_name.DefinedName

attribute), 289VALUE_TAG (openpyxl.reader.worksheet.WorkSheetParser

attribute), 251ValueDescriptor (class in openpyxl.formatting.rule), 235values (openpyxl.worksheet.worksheet.Worksheet at-

tribute), 343values() (openpyxl.compat.odict.OrderedDict method),

164ValueSequence (class in openpyxl.descriptors.sequence),

175ValueSequence() (in module open-

pyxl.descriptors.tests.test_sequence), 170varPSubtotal (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328varSubtotal (openpyxl.worksheet.pivot.PivotAreaReference

attribute), 328varyColors (openpyxl.chart.area_chart.AreaChart at-

tribute), 113varyColors (openpyxl.chart.area_chart.AreaChart3D at-

tribute), 113varyColors (openpyxl.chart.bar_chart.BarChart attribute),

120varyColors (openpyxl.chart.bar_chart.BarChart3D

attribute), 121

varyColors (openpyxl.chart.bubble_chart.BubbleChart at-tribute), 121

varyColors (openpyxl.chart.line_chart.LineChart at-tribute), 134

varyColors (openpyxl.chart.line_chart.LineChart3D at-tribute), 135

varyColors (openpyxl.chart.pie_chart.DoughnutChart at-tribute), 137

varyColors (openpyxl.chart.pie_chart.PieChart attribute),137

varyColors (openpyxl.chart.pie_chart.PieChart3D at-tribute), 137

varyColors (openpyxl.chart.pie_chart.ProjectedPieChartattribute), 138

varyColors (openpyxl.chart.radar_chart.RadarChart at-tribute), 140

varyColors (openpyxl.chart.scatter_chart.ScatterChart at-tribute), 141

vba_code (openpyxl.worksheet.worksheet.Worksheet at-tribute), 343

vbProcedure (openpyxl.workbook.defined_name.DefinedNameattribute), 289

Vector3D (class in openpyxl.drawing.shapes), 218VectorLpstr (class in openpyxl.packaging.extended), 245VectorVariant (class in openpyxl.packaging.extended),

245version (openpyxl.packaging.core.DocumentProperties

attribute), 243vert (openpyxl.drawing.text.RichTextProperties at-

tribute), 229vertAlign (openpyxl.cell.text.InlineFont attribute), 99vertAlign (openpyxl.styles.fonts.Font attribute), 265vertical (openpyxl.styles.alignment.Alignment attribute),

258vertical (openpyxl.styles.borders.Border attribute), 259verticalCentered (openpyxl.worksheet.page.PrintOptions

attribute), 325verticalDpi (openpyxl.worksheet.page.PrintPageSetup at-

tribute), 326vertOverflow (openpyxl.drawing.text.RichTextProperties

attribute), 229view (openpyxl.worksheet.views.SheetView attribute),

339view3D (openpyxl.chart.bar_chart.BarChart3D attribute),

121view3D (openpyxl.chart.chartspace.ChartContainer at-

tribute), 122View3D() (in module open-

pyxl.chart.tests.test_chartspace), 105viewitems() (openpyxl.compat.odict.OrderedDict

method), 164viewkeys() (openpyxl.compat.odict.OrderedDict

method), 164viewvalues() (openpyxl.compat.odict.OrderedDict

Index 473

openpyxl Documentation, Release 2.4.9

method), 164visibility (openpyxl.workbook.views.BookView at-

tribute), 298vm (openpyxl.workbook.external_link.external.ExternalCell

attribute), 281vml (openpyxl.comments.shape_writer.ShapeWriter at-

tribute), 163vml (openpyxl.workbook.web.WebPublishing attribute),

301vml_path (openpyxl.comments.shape_writer.ShapeWriter

attribute), 163

Ww (openpyxl.chart.layout.ManualLayout attribute), 132w (openpyxl.drawing.line.LineEndProperties attribute),

210w (openpyxl.drawing.line.LineProperties attribute), 211w (openpyxl.drawing.shapes.Bevel attribute), 213w (openpyxl.drawing.shapes.Path2D attribute), 215W3CDTF_to_datetime() (in module open-

pyxl.utils.datetime), 277WebPublishing (class in openpyxl.workbook.web), 301webPublishing (openpyxl.workbook.parser.WorkbookPackage

attribute), 292WebPublishing() (in module open-

pyxl.workbook.tests.test_web), 287WebPublishItem (class in openpyxl.chartsheet.publish),

155webPublishItem (open-

pyxl.chartsheet.publish.WebPublishItemsattribute), 155

WebPublishItem() (in module open-pyxl.chartsheet.tests.test_publish), 151

WebPublishItems (class in openpyxl.chartsheet.publish),155

webPublishItems (open-pyxl.chartsheet.chartsheet.Chartsheet at-tribute), 153

WebPublishItems() (in module open-pyxl.chartsheet.tests.test_publish), 152

WebPublishObject (class in openpyxl.workbook.web),300

webPublishObject (open-pyxl.workbook.web.WebPublishObjectListattribute), 301

WebPublishObject() (in module open-pyxl.workbook.tests.test_web), 287

WebPublishObjectList (class in open-pyxl.workbook.web), 300

WebPublishObjectList() (in module open-pyxl.workbook.tests.test_web), 287

webPublishObjects (open-pyxl.workbook.parser.WorkbookPackageattribute), 292

width (openpyxl.chart.layout.ManualLayout attribute),132

width (openpyxl.drawing.drawing.Drawing attribute),190

width (openpyxl.drawing.line.LineProperties attribute),211

width (openpyxl.drawing.shapes.PositiveSize2D at-tribute), 215

width (openpyxl.drawing.tests.test_shape.DummyChartattribute), 183

width (openpyxl.drawing.tests.test_shape.DummyDrawingattribute), 183

width (openpyxl.worksheet.dimensions.ColumnDimensionattribute), 315

windowHeight (openpyxl.workbook.views.BookView at-tribute), 298

windowHeight (openpyxl.workbook.views.CustomWorkbookViewattribute), 300

windowProtection (open-pyxl.worksheet.views.SheetView attribute),339

windowWidth (openpyxl.workbook.views.BookView at-tribute), 298

windowWidth (openpyxl.workbook.views.CustomWorkbookViewattribute), 300

wireframe (openpyxl.chart.surface_chart.SurfaceChart at-tribute), 146

wireframe (openpyxl.chart.surface_chart.SurfaceChart3Dattribute), 147

wMode (openpyxl.chart.layout.ManualLayout attribute),132

Words (openpyxl.packaging.extended.ExtendedPropertiesattribute), 245

Workbook (class in openpyxl.workbook.workbook), 301Workbook() (in module openpyxl.conftest), 350Workbook() (in module open-

pyxl.reader.tests.test_worksheet), 248Workbook() (in module open-

pyxl.styles.tests.test_styleable), 255workbook_password (open-

pyxl.workbook.protection.WorkbookProtectionattribute), 297

workbookAlgorithmName (open-pyxl.workbook.protection.WorkbookProtectionattribute), 297

WorkbookAlreadySaved, 278WorkbookChild() (in module open-

pyxl.workbook.tests.test_child), 283workbookHashValue (open-

pyxl.workbook.protection.WorkbookProtectionattribute), 297

WorkbookPackage (class in openpyxl.workbook.parser),291

WorkbookPackage() (in module open-

474 Index

openpyxl Documentation, Release 2.4.9

pyxl.workbook.tests.test_parser), 285workbookParameter (open-

pyxl.workbook.defined_name.DefinedNameattribute), 289

WorkbookParser (class in open-pyxl.packaging.workbook), 247

WorkbookParser() (in module open-pyxl.packaging.tests.test_workbook), 241

workbookPassword (open-pyxl.workbook.protection.WorkbookProtectionattribute), 297

workbookPasswordCharacterSet (open-pyxl.workbook.protection.WorkbookProtectionattribute), 297

workbookPr (openpyxl.workbook.parser.WorkbookPackageattribute), 292

WorkbookProperties (class in open-pyxl.workbook.properties), 294

WorkbookProperties() (in module open-pyxl.workbook.tests.test_properties), 285

WorkbookProtection (class in open-pyxl.workbook.protection), 296

workbookProtection (open-pyxl.workbook.parser.WorkbookPackageattribute), 292

WorkbookProtection() (in module open-pyxl.workbook.tests.test_protection), 286

workbookSaltValue (open-pyxl.workbook.protection.WorkbookProtectionattribute), 297

workbookSpinCount (open-pyxl.workbook.protection.WorkbookProtectionattribute), 297

workbookViewId (open-pyxl.chartsheet.views.ChartsheetView at-tribute), 158

workbookViewId (openpyxl.worksheet.views.SheetViewattribute), 339

Worksheet (class in openpyxl.worksheet.worksheet), 339Worksheet() (in module open-

pyxl.chart.tests.test_reference), 109Worksheet() (in module openpyxl.conftest), 350Worksheet() (in module open-

pyxl.styles.tests.test_styleable), 256Worksheet() (in module open-

pyxl.worksheet.tests.test_worksheet), 312worksheet() (in module open-

pyxl.writer.tests.test_worksheet), 346worksheet_with_cf() (in module open-

pyxl.writer.tests.test_worksheet), 346WorksheetCopy (class in openpyxl.worksheet.copier),

313WorksheetCopy() (in module open-

pyxl.worksheet.tests.test_worksheet_copy),

313WorkSheetParser (class in openpyxl.reader.worksheet),

251WorkSheetParser() (in module open-

pyxl.reader.tests.test_worksheet), 248WorkSheetParserKeepVBA() (in module open-

pyxl.reader.tests.test_worksheet), 248WorksheetProperties (class in open-

pyxl.worksheet.properties), 330worksheets (openpyxl.workbook.workbook.Workbook

attribute), 303wrap (openpyxl.drawing.text.RichTextProperties at-

tribute), 229wrap_text (openpyxl.styles.alignment.Alignment at-

tribute), 258wrapText (openpyxl.styles.alignment.Alignment at-

tribute), 258write() (openpyxl.comments.shape_writer.ShapeWriter

method), 163write() (openpyxl.drawing.shape.ShapeWriter method),

212write_cell() (in module open-

pyxl.writer.etree_worksheet), 347write_cell_implementation() (in module open-

pyxl.writer.tests.test_worksheet), 346write_conditional_formatting() (in module open-

pyxl.writer.tests.test_worksheet), 346write_conditional_formatting() (in module open-

pyxl.writer.worksheet), 348write_data() (openpyxl.writer.excel.ExcelWriter method),

347write_drawing() (in module openpyxl.writer.worksheet),

348write_hyperlinks() (in module open-

pyxl.writer.worksheet), 348write_mergecells() (in module open-

pyxl.writer.worksheet), 348write_only (openpyxl.workbook.workbook.Workbook at-

tribute), 303write_root_rels() (in module openpyxl.writer.workbook),

348write_row() (in module open-

pyxl.writer.etree_worksheet), 347write_rows() (in module open-

pyxl.writer.etree_worksheet), 347write_rows() (in module open-

pyxl.writer.tests.test_worksheet), 346write_shapes() (openpyxl.comments.comment_sheet.CommentSheet

method), 161write_string_table() (in module openpyxl.writer.strings),

347write_stylesheet() (in module openpyxl.styles.stylesheet),

270write_theme() (in module openpyxl.writer.theme), 348

Index 475

openpyxl Documentation, Release 2.4.9

write_workbook() (in module open-pyxl.writer.workbook), 348

write_workbook_rels() (in module open-pyxl.writer.workbook), 348

write_worksheet() (in module open-pyxl.writer.tests.test_worksheet), 346

write_worksheet() (in module open-pyxl.writer.worksheet), 348

WriteOnlyCell() (in module openpyxl.cell.cell), 97WriteOnlyCell() (in module open-

pyxl.writer.dump_worksheet), 347WriteOnlyWorksheet (class in open-

pyxl.writer.write_only), 348WriteOnlyWorksheet() (in module open-

pyxl.writer.tests.test_write_only), 346writer (openpyxl.writer.write_only.WriteOnlyWorksheet

attribute), 349ws() (in module openpyxl.tests.conftest), 271WSPACE (openpyxl.formula.tokenizer.Token attribute),

237WSPACE_RE (openpyxl.formula.tokenizer.Tokenizer at-

tribute), 238

Xx (openpyxl.chart.layout.ManualLayout attribute), 132x (openpyxl.drawing.shapes.AdjPoint2D attribute), 212x (openpyxl.drawing.shapes.Point2D attribute), 215x (openpyxl.drawing.shapes.Point3D attribute), 215x_axis (openpyxl.chart.area_chart.AreaChart attribute),

113x_axis (openpyxl.chart.area_chart.AreaChart3D at-

tribute), 113x_axis (openpyxl.chart.bar_chart.BarChart attribute), 120x_axis (openpyxl.chart.bar_chart.BarChart3D attribute),

121x_axis (openpyxl.chart.bubble_chart.BubbleChart at-

tribute), 122x_axis (openpyxl.chart.line_chart.LineChart attribute),

134x_axis (openpyxl.chart.line_chart.LineChart3D attribute),

135x_axis (openpyxl.chart.radar_chart.RadarChart attribute),

140x_axis (openpyxl.chart.scatter_chart.ScatterChart at-

tribute), 141x_axis (openpyxl.chart.stock_chart.StockChart attribute),

146x_axis (openpyxl.chart.surface_chart.SurfaceChart3D at-

tribute), 147xf (openpyxl.styles.cell_style.CellStyleList attribute),

260xfId (openpyxl.styles.cell_style.CellStyle attribute), 260xfId (openpyxl.styles.cell_style.StyleArray attribute), 261

xfId (openpyxl.styles.named_styles.NamedStyle at-tribute), 267

xfrm (openpyxl.chart.shapes.GraphicalProperties at-tribute), 145

xfrm (openpyxl.drawing.graphic.GraphicFrame at-tribute), 203

xfrm (openpyxl.drawing.graphic.GroupShapePropertiesattribute), 204

xlm (openpyxl.workbook.defined_name.DefinedNameattribute), 289

xml_source (openpyxl.worksheet.read_only.ReadOnlyWorksheetattribute), 333

xmlColumnPr (openpyxl.worksheet.table.TableColumnattribute), 336

XMLColumnProps (class in openpyxl.worksheet.table),337

XMLColumnProps() (in module open-pyxl.worksheet.tests.test_table), 310

xmlDataType (openpyxl.worksheet.table.XMLColumnPropsattribute), 337

xMode (openpyxl.chart.layout.ManualLayout attribute),132

xpath (openpyxl.worksheet.table.XMLColumnProps at-tribute), 337

xSplit (openpyxl.worksheet.views.Pane attribute), 338xVal (openpyxl.chart.series.Series attribute), 143xVal (openpyxl.chart.series.XYSeries attribute), 144xWindow (openpyxl.workbook.views.BookView at-

tribute), 298xWindow (openpyxl.workbook.views.CustomWorkbookView

attribute), 300xWindow (openpyxl.worksheet.datavalidation.DataValidationList

attribute), 315XYSeries (class in openpyxl.chart.series), 143

Yy (openpyxl.chart.layout.ManualLayout attribute), 132y (openpyxl.drawing.shapes.AdjPoint2D attribute), 212y (openpyxl.drawing.shapes.Point2D attribute), 215y (openpyxl.drawing.shapes.Point3D attribute), 215y_axis (openpyxl.chart.area_chart.AreaChart attribute),

113y_axis (openpyxl.chart.area_chart.AreaChart3D at-

tribute), 113y_axis (openpyxl.chart.bar_chart.BarChart attribute), 120y_axis (openpyxl.chart.bar_chart.BarChart3D attribute),

121y_axis (openpyxl.chart.bubble_chart.BubbleChart at-

tribute), 122y_axis (openpyxl.chart.line_chart.LineChart attribute),

134y_axis (openpyxl.chart.line_chart.LineChart3D attribute),

135

476 Index

openpyxl Documentation, Release 2.4.9

y_axis (openpyxl.chart.radar_chart.RadarChart attribute),140

y_axis (openpyxl.chart.scatter_chart.ScatterChart at-tribute), 141

y_axis (openpyxl.chart.stock_chart.StockChart attribute),146

y_axis (openpyxl.chart.surface_chart.SurfaceChart3D at-tribute), 147

year (openpyxl.worksheet.filters.DateGroupItem at-tribute), 319

yMode (openpyxl.chart.layout.ManualLayout attribute),132

ySplit (openpyxl.worksheet.views.Pane attribute), 338yVal (openpyxl.chart.series.Series attribute), 143yVal (openpyxl.chart.series.XYSeries attribute), 144yWindow (openpyxl.workbook.views.BookView at-

tribute), 298yWindow (openpyxl.workbook.views.CustomWorkbookView

attribute), 300yWindow (openpyxl.worksheet.datavalidation.DataValidationList

attribute), 315

Zz (openpyxl.drawing.shapes.Point3D attribute), 215z (openpyxl.drawing.shapes.Shape3D attribute), 217z_axis (openpyxl.chart.area_chart.AreaChart3D at-

tribute), 114z_axis (openpyxl.chart.bar_chart.BarChart3D attribute),

121z_axis (openpyxl.chart.line_chart.LineChart3D attribute),

135z_axis (openpyxl.chart.surface_chart.SurfaceChart3D at-

tribute), 147zeroHeight (openpyxl.worksheet.dimensions.SheetFormatProperties

attribute), 318zoom (openpyxl.drawing.shapes.Camera attribute), 213zoomScale (openpyxl.chartsheet.views.ChartsheetView

attribute), 158zoomScale (openpyxl.worksheet.views.SheetView

attribute), 339zoomScaleNormal (open-

pyxl.worksheet.views.SheetView attribute),339

zoomScalePageLayoutView (open-pyxl.worksheet.views.SheetView attribute),339

zoomScaleSheetLayoutView (open-pyxl.worksheet.views.SheetView attribute),339

zoomToFit (openpyxl.chartsheet.custom.CustomChartsheetViewattribute), 154

zoomToFit (openpyxl.chartsheet.views.ChartsheetViewattribute), 158

zoomToFit (openpyxl.worksheet.views.SheetViewattribute), 339

zVal (openpyxl.chart.series.Series attribute), 143

Index 477