openpyxl Documentation
-
Upload
khangminh22 -
Category
Documents
-
view
15 -
download
0
Transcript of openpyxl Documentation
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
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
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
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
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
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
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
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
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
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 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
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
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