3.1.5 (2024-06-28)
3.1.4 (2024-06-12)
#2189 Assigning named styles doesn’t work
#2190 Problems caused when saving workbooks created by LibreOffice
Changes
Python 3.6 and 3.7 are no longer supported.
3.1.3 (2024-05-29)
Bugfixes
#1401 Column name caches are slow and use a lot of memory
#1457 Improved handling of duplicate named styles
#1842 Rich-text can be saved if lxml is not installed
#1954 Documentation for sheet views is incorrect
#1973 Timedeltas not read properly in read-only mode
#1987 List of formulae names contains mistakes
#1967 Filters does not handle non-numerical filters
#2054 Type checking increases exponentially
#2057 Loading pivot tables can be unnecessarily slow
#2102 Improve performance when reading files with lots of custom properties
#2106 Setting Trendline.name attribute raises exception when saving
#2120 Timezone and Zombie formatting cannot be combined.
#2107 Column name generation is inefficient and slow
#2122 File handlers not always released in read-only mode
#2149 Workbook files not properly closed on Python ≥ 3.11.8 and Windows
#2161 Pivot cache definitions using tupleCache had serialisation issues
Changes
Add a __repr__ method for Row and Column dimension objects so you don’t need to check every time.
3.1.2 (2023-03-11)
3.1.1 (2023-02-13)
Bugfixes
3.1.0 (2023-01-31)
New Features
Added support for data table formulae
Mapped chartspace graphical properties to charts for advanced formatting
Bugfixes
#1156 Table filters are always overriden
#1360 Can’t read some ScatterCharts if n
#1724 Problem with multilevel indices in dataframes
#1763 Make calculating worksheet sizes slightly faster
#1772 Problem with category indices in dataframes
#1786 NamedStyles share attributes - mutables gotcha
#1851 Allow print area to be set to None
#1852 Worksheet for print title and print areas can’t be found
#1853 Custom document properties that are strings can be empty
#1858 ConditionalFormatting lost when pivot table updated
#1864 Better handling of defined names
#1904 dataframe_to_rows() misalignment on multiindex
#1908 Ditto
#1912 Excel doesn’t like xmlns:space on nodes with only whitespace, which it treats as empty.
#1942 Exception when print areas use table references.
Pull Requests
Deprecations
The following properties have been removed from worksheets: formula_attributes, page_breaks, show_summary_below, show_summary_right, page_size orientation. Client code should use the relevant objects.
Removals
The following deprecated methods have been removed from workbooks: get_named_range, add_named_range, remove_named_range. And the get_emu_dimesions from images.
3.0.10 (2022-05-19)
Bugfixes
3.0.9 (2021-09-22)
Bugfixes
#1284 Ignore blank ignored in existing Data Validations
#1539 Add support for cell protection for merged cell ranges
#1645 Timezone-aware datetimes raise an Exception
#1666 Improved normalisation of chart series
#1670 Catch OverflowError for out of range datetimes
#1708 Alignment.relativeIndent can be negative
#1736 Incorrect default value groupBy attribute
3.0.8 (brown bag)
Deleted because it contained breaking changes from 3.1
3.0.7 (2021-03-09)
Bugfixes
Pull Requests
3.0.6 (2021-01-14)
Bugfixes
#1154 Borders in differential styles are incorrect
#1287 Error when opening some pivot tables
#1366 Resave breaks the border format in conditional formatting rules
#1450 Read-only workbook not closed properly if generator interrupted
#1547 Pandas.Multiindex.labels deprecated
#1552 Pandas.Multiinex not expanded correctly
#1557 Cannot read rows with exponents
#1568 numpy.float is deprecated
#1571 Cells without coordinate attributes not always correctly handled
Pull Requests
3.0.5 (2020-08-21)
Bugfixes
#1413 Incorrectly consider currency format as datetime
#1490 Cannot copy worksheets with merged cells
#1492 Empty worksheets do not return generators when looping.
#1496 Hyperlinks duplicated on multiple saves
#1500 Incorrectly literal format as datetime
#1502 Links set to range of cells not preserved
#1507 Exception when opening workbook with chartsheets and tables
3.0.4 (2020-06-24)
Bugfixes
#844 Find tables by name
#1414 Worksheet protection missing in existing files
#1439 Exception when reading files with external images
#1452 Reading lots of merged cells is very slow.
#1455 Read support for Bubble Charts.
#1458 Preserve any indexed colours
#1473 Reading many thousand of merged cells is really slow.
#1474 Adding tables in write-only mode raises an exception.
Pull Requests
PR377 Add support for finding tables by name or range.
3.0.3 (2020-01-20)
Bugfixes
3.0.2 (2019-11-25)
Bug fixes
#1267 DeprecationError if both defusedxml and lxml are installed
#1345 ws._current_row is higher than ws.max_row
#1365 Border bottom style is not optional when it should be
#1367 Empty cells in read-only, values-only mode are sometimes returned as ReadOnlyCells
#1368 Cannot add page breaks to existing worksheets if none exist already
Pull Requests
PR359 Improvements to the documentation
3.0.1 (2019-11-14)
Bugfixes
#1250 Cannot read empty charts.
Pull Requests
3.0.0 (2019-09-25)
Python 3.6+ only release
2.6.4 (2019-09-25)
Final release for Python 2.7 and 3.5
Bugfixes
` #1330 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1330>`_ Cannot save workbooks with comments more than once.
2.6.3 (2019-08-19)
Bugfixes
Pull Requests
PR344 Make sure NamedStyles number formats are correctly handled
2.6.2 (2019-03-29)
Bugfixes
#1173 Workbook has no _date_formats attribute
#1190 Cannot create charts for worksheets with quotes in the title
#1228 MergedCells not removed when range is unmerged
#1232 Link to pivot table lost from charts
#1233 Chart colours change after saving
#1236 Cannot use ws.cell in read-only mode with Python 2.7
2.6.1 (2019-03-04)
Bugfixes
#1174 ReadOnlyCell.is_date does not work properly
#1175 Cannot read Google Docs spreadsheet with a Pivot Table
#1180 Charts created with openpyxl cannot be styled
#1181 Cannot handle some numpy number types
#1182 Exception when reading unknowable number formats
#1186 Only last formatting rule for a range loaded
#1191 Give MergedCell a value attribute
#1193 Cannot process worksheets with comments
#1197 Cannot process worksheets with both row and page breaks
#1204 Cannot reset dimensions in ReadOnlyWorksheets
#1211 Incorrect descriptor in ParagraphProperties
#1213 Missing hier attribute in PageField raises an exception
2.6.0 (2019-02-06)
Bugfixes
2.6.-b1 (2019-01-08)
Bugfixes
2.6-a1 (2018-11-21)
Major changes
Implement robust for merged cells so that these can be formatted the way Excel does without confusion. Thanks to Magnus Schieder.
Minor changes
Add support for worksheet scenarios
Add read support for chartsheets
Add method for moving ranges of cells on a worksheet
Drop support for Python 3.4
Last version to support Python 2.7
Deprecations
Type inference and coercion for cell values
2.5.14 (2019-01-23)
Bugfixes
Pull Requests
2.5.13 (brown bag)
2.5.12 (2018-11-29)
Bugfixes
Pull Requests
PR300 Use defusedxml if available
2.5.11 (2018-11-21)
Pull Requests
2.5.10 (2018-11-13)
Bugfixes
#1114 Empty column dimensions should not be saved.
Pull Requests
2.5.9 (2018-10-19)
Bugfixes
Pull Requests
2.5.8 (2018-09-25)
2.5.7 (2018-09-13)
2.5.6 (2018-08-30)
2.5.5 (2018-08-04)
Bugfixes
Pull Requests
PR267 Introduce read-support for images
2.5.4 (2018-06-07)
Bugfixes
Minor changes
Improve read support for pivot tables and don’t always create a Filters child for filterColumn objects.
Support folding rows <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/259/fold-rows>`_
2.5.3 (2018-04-18)
Bugfixes
2.5.2 (2018-04-06)
Bugfixes
Minor changes
Support for dataframes with multiple columns and multiple indices.
2.5.1 (2018-03-12)
Bugfixes
#934 Headers and footers not included in write-only mode.
#960 Deprecation warning raised when using ad-hoc access in read-only mode.
#964 Not all cells removed when deleting multiple rows.
#966 Cannot read 3d bar chart correctly.
#967 Problems reading some charts.
#968 Worksheets with SHA protection become corrupted after saving.
#974 Problem when deleting ragged rows or columns.
#976 GroupTransforms and GroupShapeProperties have incorrect descriptors
Make sure that headers and footers in chartsheets are included in the file
2.5.0 (2018-01-24)
Minor changes
Correct definition for Connection Shapes. Related to # 958
2.5.0-b2 (2018-01-19)
Bugfixes
Major Changes
You can now insert and delete rows and columns in worksheets
Minor Changes
pip now handles which Python versions can be used.
2.5.0-b1 (2017-10-19)
Bugfixes
#812 Explicitly support for multiple cell ranges in conditonal formatting
#827 Non-contiguous cell ranges in validators get merged
#837 Empty data validators create invalid Excel files
#860 Large validation ranges use lots of memory
#876 Unicode in chart axes not handled correctly in Python 2
#882 ScatterCharts have defective axes
#885 Charts with empty numVal elements cannot be read
#894 Scaling options from existing files ignored
#895 Charts with PivotSource cannot be read
#903 Cannot read gradient fills
#904 Quotes in number formats could be treated as datetimes
Major Changes
worksheet.cell() no longer accepts a coordinate parameter. The syntax is now ws.cell(row, column, value=None)
Minor Changes
Added CellRange and MultiCellRange types (thanks to Laurent LaPorte for the suggestion) as a utility type for things like data validations, conditional formatting and merged cells.
Deprecations
ws.merged_cell_ranges has been deprecated because MultiCellRange provides sufficient functionality
2.5.0-a3 (2017-08-14)
Bugfixes
2.5.0-a2 (2017-06-25)
Major Changes
Read support for charts
Bugfixes
2.5.0-a1 (2017-05-30)
Compatibility
Dropped support for Python 2.6 and 3.3. openpyxl will not run with Python 2.6
Major Changes
Read/write support for pivot tables
Deprecations
Dropped the anchor method from images and additional constructor arguments
Bugfixes
Pull requests
163 Improved GradientFill
Minor changes
Remove deprecated methods from Cell
Remove deprecated methods from Worksheet
Added read/write support for the datetime type for cells
2.4.11 (2018-01-24)
#957 https://foss.heptapod.net/openpyxl/openpyxl/-/issues/957 Relationship type for tables is borked
2.4.10 (2018-01-19)
Bugfixes
#912 https://foss.heptapod.net/openpyxl/openpyxl/-/issues/912 Copying objects uses shallow copy
#921 https://foss.heptapod.net/openpyxl/openpyxl/-/issues/921 API documentation not generated automatically
#927 https://foss.heptapod.net/openpyxl/openpyxl/-/issues/927 Exception raised when adding coloured borders together
#931 https://foss.heptapod.net/openpyxl/openpyxl/-/issues/931 Number formats not correctly deduplicated
Pull requests
203 https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/203/ Correction to worksheet protection description
210 https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/210/ Some improvements to the API docs
211 https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/211/ Improved deprecation decorator
218 https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/218/ Fix problems with deepcopy
2.4.9 (2017-10-19)
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
Pull requests
2.4.8 (2017-05-30)
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
Minor changes
Preserve any table styles
2.4.7 (2017-04-24)
Bugfixes
#807 Sample files being included by mistake in sdist
2.4.6 (2017-04-14)
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
2.4.5 (2017-03-07)
Bugfixes
Pull requests
2.4.4 (2017-02-23)
Bugfixes
Minor Changes
Add roundtrip support for worksheet tables.
Pull requests
160 Don’t init mimetypes more than once.
2.4.3 (unreleased)
bad release
2.4.2 (2017-01-31)
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
#756 Potential XXE vulerability
#758 Cannot create files with page breaks and charts
#759 Problems with worksheets with commas in their titles
Minor Changes
Add unicode support for sheet name incrementation.
2.4.1 (2016-11-23)
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
Minor changes
Add support for Python 3.6
Correct documentation for headers and footers
Deprecations
Worksheet methods get_named_range() and get_sqaured_range()
Bug fixes
2.4.0 (2016-09-15)
Bug fixes
Major changes
Add support for builtin styles and include one for Pandas
Minor changes
Add a keep_links option to load_workbook. External links contain cached copies of the external workbooks. If these 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.
2.4.0-b1 (2016-06-08)
Minor changes
Add an the alias hide_drop_down to DataValidation for showDropDown because that is how Excel works.
Bug fixes
Features
Add write support for worksheet tables
2.4.0-a1 (2016-04-11)
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
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
Bug fixes
#152 Hyperlinks lost when reading files
#171 Add function for copying worksheets
#386 Cells with inline strings considered empty
#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
2.3.5 (2016-04-11)
Bug fixes
#618 Comments not written in write-only mode
2.3.4 (2016-03-16)
Bug fixes
Minor changes
Preserve the order of external references because formualae use numerical indices.
Typo corrected in cell unit tests (PR 118)
2.3.3 (2016-01-18)
Bug fixes
Minor changes
PR 103 Documentation about chart scaling and axis limits
Raise an exception when trying to copy cells from other workbooks.
2.3.2 (2015-12-07)
Bug fixes
Minor changes
2.3.1 (2015-11-20)
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
Minor changes
PR 88 Fix page margins in parser.
2.3.0 (2015-10-20)
Major changes
Support the creation of chartsheets
Bug fixes
#532 Problems when cells have no style in read-only mode.
Minor changes
PR 79 Make PlotArea editable in charts
Use graphicalProperties as the alias for spPr
2.3.0-b2 (2015-09-04)
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
Minor changes
Worksheets are now iterable by row.
Assign individual cell styles only if they are explicitly set.
2.3.0-b1 (2015-06-29)
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.
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
Minor changes
Read-only and write-only worksheets renamed.
Write-only workbooks support charts and images.
PR76 Prevent comment images from conflicting with VBA
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
2.2.6 (unreleased)
Bug fixes
2.2.5 (2015-06-29)
Bug fixes
2.2.4 (2015-06-17)
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
2.2.3 (2015-05-26)
Bug fixes
2.2.2 (2015-04-28)
Bug fixes
2.2.1 (2015-03-31)
Minor changes
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
2.2.0 (2015-03-11)
Bug fixes
#415 Improved exception when passing in invalid in memory files.
2.2.0-b1 (2015-02-18)
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.)
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
#417 Cannot create print titles
#420 Rename confusing constants
#422 Preserve color index in a workbook if it differs from the standard
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
2.1.5 (2015-02-18)
Bug fixes
Minor changes
Allow cells to be appended to standard worksheets for code compatibility with write-only mode.
2.1.4 (2014-12-16)
Bug fixes
Minor changes
Add relation namespace to root element for compatibility with iWork
Serialize comments relation in LXML-backend
2.1.3 (2014-12-09)
Minor changes
Bug fixes
2.1.2 (2014-10-23)
Minor changes
Bug fixes
2.1.1 (2014-10-08)
Minor changes
PR 20 Support different workbook code names
Allow auto_axis keyword for ScatterCharts
Bug fixes
2.1.0 (2014-09-21)
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
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
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
2.0.5 (2014-08-08)
Bug fixes
2.0.4 (2014-06-25)
Minor changes
Add a sample file illustrating colours
Bug fixes
#331 DARKYELLOW was incorrect
Correctly handle extend attribute for fonts
2.0.3 (2014-05-22)
Minor changes
Updated docs
Bug fixes
#319 Cannot load Workbooks with vertAlign styling for fonts
2.0.2 (2014-05-13)
2.0.1 (2014-05-13) brown bag
2.0.0 (2014-05-13) brown bag
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
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
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
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
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
#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)
1.8.6 (2014-05-05)
Minor changes
Fixed typo for import Elementtree
Bugfixes
#279 Incorrect path for comments files on Windows
1.8.5 (2014-03-25)
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
1.8.4 (2014-02-25)
Bugfixes
1.8.3 (2014-02-09)
Major changes
Always parse using cElementTree
Minor changes
Slight improvements in memory use when parsing
1.8.2 (2014-01-17)
1.8.1 (2014-01-14)
1.8.0 (2014-01-08)
Compatibility
Support for Python 2.5 dropped.
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
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
1.7.0 (2013-10-31)
Major changes
Drops support for Python < 2.5 and last version to support Python 2.5
Compatibility
Tests run on Python 2.5, 2.6, 2.7, 3.2, 3.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
Known bugfixes
Miscellaneous
Performance improvements in optimised writer
Docs updated