jepegit / cellpy

extract and tweak data from electrochemical tests of cells
MIT License
88 stars 30 forks source link

Pin openpyxl to latest version 3.0.7 #175

Closed pyup-bot closed 3 years ago

pyup-bot commented 3 years ago

This PR pins openpyxl to the latest release 3.0.7.

Changelog ### 3.0.7 ``` ================== Bugfixes -------- * `1588 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1588>` * `1589 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1589>`_ Exception raised when merging cells which do not have borders all the way round. * `1594 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1594>`_ Python 2 print statement in the tutorial Pull Requests ------------- * `PR392 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/392/>`_ Add documentation on datetime handling * `PR393 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/393/>`_ Drop dependency on jdcal * `PR394 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/394/>`_ Datetime rounding * `PR395 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/395/>`_ Unify handling of 1900 epoch * `PR397 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/397/>`_ Add explicit support for reading datetime deltas * `PR399 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/399/>`_ Millisecond precision for datetimes ``` ### 3.0.6 ``` ================== Bugfixes -------- * `1154 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1154>`_ Borders in differential styles are incorrect * `1287 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1528>`_ Error when opening some pivot tables * `1366 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1366>`_ Resave breaks the border format in conditional formatting rules * `1450 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1450>`_ Read-only workbook not closed properly if generator interrupted * `1547 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1547>`_ Pandas.Multiindex.labels deprecated * `1552 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1557>`_ Pandas.Multiinex not expanded correctly * `1557 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1557>`_ Cannot read rows with exponents * `1568 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1568>`_ numpy.float is deprecated * `1571 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1571>`_ Cells without coordinate attributes not always correctly handled Pull Requests ------------- * `PR385 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/385/>`_ Improved handling of borders for differential styles * `PR386 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/386/>`_ Support subclasses of datetime objects * `PR387 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/387/>`_ Improved handling of cells without coordinates ``` ### 3.0.5 ``` ================== Bugfixes -------- * `1413 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1413>`_ Incorrectly consider currency format as datetime * `1490 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1490>`_ Cannot copy worksheets with merged cells * `1492 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1492>`_ Empty worksheets do not return generators when looping. * `1496 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1496>`_ Hyperlinks duplicated on multiple saves * `1500 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1500>`_ Incorrectly literal format as datetime * `1502 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1502>`_ Links set to range of cells not preserved * `1507 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1507>`_ Exception when opening workbook with chartsheets and tables ``` ### 3.0.4 ``` ================== Bugfixes -------- * `844 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/844>`_ Find tables by name * `1414 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1414>`_ Worksheet protection missing in existing files * `1439 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1439>`_ Exception when reading files with external images * `1452 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1452>`_ Reading lots of merged cells is very slow. * `1455 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1455>`_ Read support for Bubble Charts. * `1458 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1458>`_ Preserve any indexed colours * `1473 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1473>`_ Reading many thousand of merged cells is really slow. * `1474 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1474>`_ Adding tables in write-only mode raises an exception. Pull Requests ------------- * `PR377 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/377/>`_ Add support for finding tables by name or range. ``` ### 3.0.3 ``` ================== Bugfixes -------- * `1260 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1260>`_ Exception when handling merged cells with hyperlinks * `1373 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1373>`_ Problems when both lxml and defusedxml are installed * `1385 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1385>`_ CFVO with incorrect values cannot be processed ``` ### 3.0.2 ``` ================== Bug fixes --------- * `1267 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1267>`_ DeprecationError if both defusedxml and lxml are installed * `1345 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1345>`_ ws._current_row is higher than ws.max_row * `1365 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1365>`_ Border bottom style is not optional when it should be * `1367 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1367>`_ Empty cells in read-only, values-only mode are sometimes returned as ReadOnlyCells * `1368 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1368>`_ Cannot add page breaks to existing worksheets if none exist already Pull Requests ------------- * `PR359 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/359/>`_ Improvements to the documentation ``` ### 3.0.1 ``` ================== Bugfixes -------- * `1250 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1250>`_ Cannot read empty charts. Pull Requests ------------- * `PR354 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/354/>`_ Fix for #1250 * `PR352 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/354/>`_ TableStyleElement is a sequence ``` ### 3.0.0 ``` ================== Python 3.6+ only release ------------------------ ``` ### 2.6.4 ``` ================== 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 ``` ================== Bugfixes -------- * `1237 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1237>`_ Fix 3D charts. * `1290 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1290>`_ Minimum for holeSize in Doughnut charts too high * `1291 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1291>`_ Warning for MergedCells with comments * `1296 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1296>`_ Pagebreaks duplicated * `1309 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1309>`_ Workbook has no default CellStyle * `1330 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1330>`_ Workbooks with comments cannot be saved multiple times Pull Requests ------------- * `PR344 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/345/>`_ Make sure NamedStyles number formats are correctly handled ``` ### 2.6.2 ``` ================== Bugfixes -------- * `1173 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1173>`_ Workbook has no _date_formats attribute * `1190 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1190>`_ Cannot create charts for worksheets with quotes in the title * `1228 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1228>`_ MergedCells not removed when range is unmerged * `1232 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1232>`_ Link to pivot table lost from charts * `1233 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1233>`_ Chart colours change after saving * `1236 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1236>`_ Cannot use ws.cell in read-only mode with Python 2.7 ``` ### 2.6.1 ``` ================== Bugfixes -------- * `1174 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1174>`_ ReadOnlyCell.is_date does not work properly * `1175 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1175>`_ Cannot read Google Docs spreadsheet with a Pivot Table * `1180 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1180>`_ Charts created with openpyxl cannot be styled * `1181 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1181>`_ Cannot handle some numpy number types * `1182 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1182>`_ Exception when reading unknowable number formats * `1186 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1186>`_ Only last formatting rule for a range loaded * `1191 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1191>`_ Give MergedCell a `value` attribute * `1193 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1193>`_ Cannot process worksheets with comments * `1197 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1197>`_ Cannot process worksheets with both row and page breaks * `1204 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1204>`_ Cannot reset dimensions in ReadOnlyWorksheets * `1211 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1211>`_ Incorrect descriptor in ParagraphProperties * `1213 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1213>`_ Missing `hier` attribute in PageField raises an exception ``` ### 2.6.0 ``` ================== Bugfixes -------- * `1162 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1162>`_ Exception on tables with names containing spaces. * `1170 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1170>`_ Cannot save files with existing images. ``` ### 2.6.b1 ``` ==================== Bugfixes -------- * `1141 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1141>`_ Cannot use read-only mode with stream * `1143 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1143>`_ Hyperlinks always set on A1 * `1151 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1151>`_ Internal row counter not initialised when reading files * `1152 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1152>`_ Exception raised on out of bounds date ``` ### 2.6a1 ``` =================== 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 ``` =================== Bugfixes -------- * `1150 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1150>`_ Correct typo in LineProperties * `1142 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1142>`_ Exception raised for unsupported image files * `1159 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1159>`_ Exception raised when cannot find source for non-local cache object Pull Requests ------------- * `PR301 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/301/>`_ Add support for nested brackets to the tokeniser * `PR303 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/301/>`_ Improvements on handling nested brackets in the tokeniser ``` ### 2.5.13 ``` ================== ``` ### 2.5.12 ``` =================== Bugfixes -------- * `1130 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1130>`_ Overwriting default font in Normal style affects library default * `1133 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1133>`_ Images not added to anchors. * `1134 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1134>`_ Cannot read pivot table formats without dxId * `1138 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1138>`_ Repeated registration of simple filter could lead to memory leaks Pull Requests ------------- * `PR300 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/300/>`_ Use defusedxml if available ``` ### 2.5.11 ``` =================== Pull Requests ------------- * `PR295 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/295>`_ Improved handling of missing rows * `PR296 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/296>`_ Add support for defined names to tokeniser ``` ### 2.5.10 ``` =================== Bugfixes -------- * `1114 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1114>`_ Empty column dimensions should not be saved. Pull Requests ------------- * `PR285 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/285>`_ Tokenizer failure for quoted sheet name in second half of range * `PR289 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/289>`_ Improved error detection in ranges. ``` ### 2.5.9 ``` ================== Bugfixes -------- * `1000 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1000>`_ Clean AutoFilter name definitions * `1106 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1106>`_ Attribute missing from Shape object * `1109 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1109>`_ Failure to read all DrawingML means workbook can't be read Pull Requests ------------- * `PR281 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/281>`_ Allow newlines in formulae * `PR284 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/284>`_ Fix whitespace in front of infix operator in formulae ``` ### 2.5.8 ``` ================== * `877 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/877>`_ Cannot control how missing values are displayed in charts. * `948 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/948>`_ Cell references can't be used for chart titles * `1095 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1095>`_ Params in iter_cols and iter_rows methods are slightly wrong. ``` ### 2.5.7 ``` ================== * `954 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/954>`_ Sheet title containing % need quoting in references * `1047 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1047>`_ Cannot set quote prefix * `1093 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1093>`_ Pandas timestamps raise KeyError ``` ### 2.5.6 ``` ================== * `832 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/832>`_ Read-only mode can leave find-handles open when reading dimensions * `933 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/933>`_ Set a worksheet directly as active * `1086 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1086>`_ Internal row counter not adjusted when rows are deleted or inserted ``` ### 2.5.5 ``` ================== Bugfixes -------- * `1049 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1049>`_ Files with Mac epoch are read incorrectly * `1058 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1058>`_ Cannot copy merged cells * `1066 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1066>`_ Cannot access ws.active_cell Pull Requests ------------- * `PR267 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/267/image-read>`_ Introduce read-support for images ``` ### 2.5.4 ``` ================== Bugfixes -------- * `1025 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1025>`_ Cannot read files with 3D charts. * `1030 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1030>`_ Merged cells take a long time to parse 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 ``` ================== Bugfixes -------- * `983 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/983>`_ Warning level too aggressive. * `1015 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1015>`_ Alignment and protection values not saved for named styles. * `1017 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1017>`_ Deleting elements from a legend doesn't work. * `1018 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1018>`_ Index names repeated for every row in dataframe. * `1020 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1020>`_ Worksheet protection not being stored. * `1023 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1023>`_ Exception raised when reading a tooltip. ``` ### 2.5.2 ``` ================== Bugfixes -------- * `949 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/949>`_ High memory use when reading text-heavy files. * `970 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/970>`_ Copying merged cells copies references. * `978 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/978>`_ Cannot set comment size. * `985 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/895>`_ Exception when trying to save workbooks with no views. * `995 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/995>`_ Cannot delete last row or column. * `1002 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1002>`_ Cannot read Drawings containing embedded images. Minor changes ------------- * Support for dataframes with multiple columns and multiple indices. ``` ### 2.5.1 ``` ================== Bugfixes -------- * `934 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/934>`_ Headers and footers not included in write-only mode. * `960 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/960>`_ Deprecation warning raised when using ad-hoc access in read-only mode. * `964 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/964>`_ Not all cells removed when deleting multiple rows. * `966 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/966>`_ Cannot read 3d bar chart correctly. * `967 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/967>`_ Problems reading some charts. * `968 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/968>`_ Worksheets with SHA protection become corrupted after saving. * `974 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/974>`_ Problem when deleting ragged rows or columns. * `976 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/976>`_ GroupTransforms and GroupShapeProperties have incorrect descriptors * Make sure that headers and footers in chartsheets are included in the file ``` ### 2.5.0 ``` ================== Minor changes ------------- * Correct definition for Connection Shapes. Related to 958 ``` ### 2.5.0b2 ``` ===================== Bugfixes -------- * `915 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/915>`_ TableStyleInfo has no required attributes * `925 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/925>`_ Cannot read files with 3D drawings * `926 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/926>`_ Incorrect version check in installer * Cell merging uses transposed parameters * `928 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/928>`_ ExtLst missing keyword for PivotFields * `932 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/932>`_ Inf causes problems for Excel * `952 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/952>`_ Cannot load table styles with custom names 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.0b1 ``` ===================== Bugfixes -------- * `812 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/812>`_ Explicitly support for multiple cell ranges in conditonal formatting * `827 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/827>`_ Non-contiguous cell ranges in validators get merged * `837 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/837>`_ Empty data validators create invalid Excel files * `860 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/860>`_ Large validation ranges use lots of memory * `876 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/876>`_ Unicode in chart axes not handled correctly in Python 2 * `882 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/882>`_ ScatterCharts have defective axes * `885 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/885>`_ Charts with empty numVal elements cannot be read * `894 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/894>`_ Scaling options from existing files ignored * `895 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/895>`_ Charts with PivotSource cannot be read * `903 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/903>`_ Cannot read gradient fills * `904 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/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.0a3 ``` ===================== Bugfixes -------- * `848 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/848>`_ Reading workbooks with Pie Charts raises an exception * `857 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/857>`_ Pivot Tables without Worksheet Sources raise an exception ``` ### 2.5.0a2 ``` ===================== Major Changes ------------- * Read support for charts Bugfixes -------- * `833 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/833>`_ Cannot access chartsheets by title * `834 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/834>`_ Preserve workbook views * `841 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/841>`_ Incorrect classification of a datetime ``` ### 2.5.0a1 ``` ===================== 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 -------- * `779 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/779>`_ Fails to recognise Chinese date format` * `828 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/828>`_ Include hidden cells in charts` Pull requests ------------- * `163 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_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 ``` =================== * 957 `<https://foss.heptapod.net/openpyxl/openpyxl/-/issues/957>`_ Relationship type for tables is borked ``` ### 2.4.10 ``` =================== 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 ``` ================== Bugfixes -------- * `809 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/809>`_ Incomplete documentation of `copy_worksheet` method * `811 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/811>`_ Scoped definedNames not removed when worksheet is deleted * `824 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/824>`_ Raise an exception if a chart is used in multiple sheets * `842 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/842>`_ Non-ASCII table column headings cause an exception in Python 2 * `846 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/846>`_ Conditional formats not supported in write-only mode * `849 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/849>`_ Conditional formats with no sqref cause an exception * `859 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/859>`_ Headers that start with a number conflict with font size * `902 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/902>`_ TableStyleElements don't always have a condtional format * `908 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/908>`_ Read-only mode sometimes returns too many cells Pull requests ------------- * `179 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/179>`_ Cells kept in a set * `180 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/180>`_ Support for Workbook protection * `182 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/182>`_ Read support for page breaks * `183 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/183>`_ Improve documentation of `copy_worksheet` method * `198 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/198>`_ Fix for #908 ``` ### 2.4.8 ``` ================== Bugfixes -------- * AutoFilter.sortState being assignd to the ws.sortState * `766 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/666>`_ Sheetnames with apostrophes need additional escaping * `729 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/729>`_ Cannot open files created by Microsoft Dynamics * `819 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/819>`_ Negative percents not case correctly * `821 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/821>`_ Runtime imports can cause deadlock * `855 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/855>`_ Print area containing only columns leads to corrupt file Minor changes ------------- * Preserve any table styles ``` ### 2.4.7 ``` ================== Bugfixes -------- * `807 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/807>`_ Sample files being included by mistake in sdist ``` ### 2.4.6 ``` ================== Bugfixes -------- * `776 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/776>`_ Cannot apply formatting to plot area * `780 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/780>`_ Exception when element attributes are Python keywords * `781 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/781>`_ Exception raised when saving files with styled columns * `785 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/785>`_ Number formats for data labels are incorrect * `788 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/788>`_ Worksheet titles not quoted in defined names * `800 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/800>`_ Font underlines not read correctly ``` ### 2.4.5 ``` ================== Bugfixes -------- * `750 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/750>`_ Adding images keeps file handles open * `772 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/772>`_ Exception for column-only ranges * `773 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/773>`_ Cannot copy worksheets with non-ascii titles on Python 2 Pull requests ------------- * `161 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/161>`_ Support for non-standard names for Workbook part. * `162 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/162>`_ Documentation correction ``` ### 2.4.4 ``` ================== Bugfixes -------- * `673 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/673>`_ Add close method to workbooks * `762 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/762>`_ openpyxl can create files with invalid style indices * `729 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/729>`_ Allow images in write-only mode * `744 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/744>`_ Rounded corners for charts * `747 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/747>`_ Use repr when handling non-convertible objects * `764 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/764>`_ Hashing function is incorrect * `765 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/765>`_ Named styles share underlying array Minor Changes ------------- * Add roundtrip support for worksheet tables. Pull requests ------------- * `160 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/160>`_ Don't init mimetypes more than once. ``` ### 2.4.3 ``` ================== bad release ``` ### 2.4.2 ``` ================== Bug fixes --------- * `727 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/727>`_ DeprecationWarning is incorrect * `734 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/734>`_ Exception raised if userName is missing * `739 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/739>`_ Always provide a date1904 attribute * `740 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/740>`_ Hashes should be stored as Base64 * `743 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/743>`_ Print titles broken on sheetnames with spaces * `748 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/748>`_ Workbook breaks when active sheet is removed * `754 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/754>`_ Incorrect descriptor for Filter values * `756 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/756>`_ Potential XXE vulerability * `758 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/758>`_ Cannot create files with page breaks and charts * `759 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/759>`_ Problems with worksheets with commas in their titles Minor Changes ------------- * Add unicode support for sheet name incrementation. ``` ### 2.4.1 ``` ================== Bug fixes --------- * `643 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/643>`_ Make checking for duplicate sheet titles case insensitive * `647 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/647>`_ Trouble handling LibreOffice files with named styles * `687 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/682>`_ Directly assigned new named styles always refer to "Normal" * `690 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/690>`_ Cannot parse print titles with multiple sheet names * `691 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/691>`_ Cannot work with macro files created by LibreOffice * Prevent duplicate differential styles * `694 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/694>`_ Allow sheet titles longer than 31 characters * `697 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/697>`_ Cannot unset hyperlinks * `699 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/699>`_ Exception raised when format objects use cell references * `703 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/703>`_ Copy height and width when copying comments * `705 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/705>`_ Incorrect content type for VBA macros * `707 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/707>`_ IndexError raised in read-only mode when accessing individual cells * `711 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/711>`_ Files with external links become corrupted * `715 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/715>`_ Cannot read files containing macro sheets * `717 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/717>`_ Details from named styles not preserved when reading files * `722 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/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 ``` ================== Bug fixes --------- * `652 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/652>`_ Exception raised when epoch is 1904 * `642 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/642>`_ Cannot handle unicode in headers and footers in Python 2 * `646 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/646>`_ Cannot handle unicode sheetnames in Python 2 * `658 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/658>`_ Chart styles, and axis units should not be 0 * `663 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/663>`_ Strings in external workbooks not unicode 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.0b1 ``` ===================== Minor changes ------------- * Add an the alias `hide_drop_down` to DataValidation for `showDropDown` because that is how Excel works. Bug fixes --------- * `625 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/625>`_ Exception raises when inspecting EmptyCells in read-only mode * `547 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/547>`_ Functions for handling OOXML "escaped" ST_XStrings * `629 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/629>`_ Row Dimensions not supported in write-only mode * `530 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/530>`_ Problems when removing worksheets with charts * `630 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/630>`_ Cannot use SheetProtection in write-only mode Features -------- * Add write support for worksheet tables ``` ### 2.4.0a1 ``` ===================== 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 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/152>`_ Hyperlinks lost when reading files * `171 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/171>`_ Add function for copying worksheets * `386 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/386>`_ Cells with inline strings considered empty * `397 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/397>`_ Add support for ranges of rows and columns * `446 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/446>`_ Workbook with definedNames corrupted by openpyxl * `481 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/481>`_ "safe" reserved ranges are not read from workbooks * `501 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/501>`_ Discarding named ranges can lead to corrupt files * `574 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/574>`_ Exception raised when using the class method to parse Relationships * `579 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/579>`_ Crashes when reading defined names with no content * `597 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/597>`_ Cannot read worksheets without coordinates * `617 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/617>`_ Customised named styles not correctly preserved ``` ### 2.3.5 ``` ================== Bug fixes --------- * `618 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/618>`_ Comments not written in write-only mode ``` ### 2.3.4 ``` ================== Bug fixes --------- * `594 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/594>`_ Content types might be missing when keeping VBA * `599 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/599>`_ Cells with only one cell look empty * `607 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/607>`_ Serialise NaN as '' Minor changes ------------- * Preserve the order of external references because formualae use numerical indices. * Typo corrected in cell unit tests (PR 118) ``` ### 2.3.3 ``` ================== Bug fixes --------- * `540 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/540>`_ Cannot read merged cells in read-only mode * `565 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/565>`_ Empty styled text blocks cannot be parsed * `569 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/569>`_ Issue warning rather than raise Exception raised for unparsable definedNames * `575 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/575>`_ Cannot open workbooks with embdedded OLE files * `584 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/584>`_ Exception when saving borders with attributes Minor changes ------------- * `PR 103 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/103/>`_ Documentation about chart scaling and axis limits * Raise an exception when trying to copy cells from other workbooks. ``` ### 2.3.2 ``` ================== Bug fixes --------- * `554 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/554>`_ Cannot add comments to a worksheet when preserving VBA * `561 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/561>`_ Exception when reading phonetic text * `562 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/562>`_ DARKBLUE is the same as RED * `563 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/563>`_ Minimum for row and column indexes not enforced Minor changes ------------- * `PR 97 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/97/>`_ One VML file per worksheet. * `PR 96 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/96/>`_ Correct descriptor for CharacterProperties.rtl * `498 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/498>`_ Metadata is not essential to use the package. ``` ### 2.3.1 ``` ================== Bug fixes --------- * `534 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/534>`_ Exception when using columns property in read-only mode. * `536 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/536>`_ Incorrectly handle comments from Google Docs files. * `539 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/539>`_ Flexible value types for conditional formatting. * `542 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/542>`_ Missing content types for images. * `543 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/543>`_ Make sure images fit containers on all OSes. * `544 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/544>`_ Gracefully handle missing cell styles. * `546 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/546>`_ ExternalLink duplicated when editing a file with macros. * `548 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/548>`_ Exception with non-ASCII worksheet titles * `551 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/551>`_ Combine multiple LineCharts Minor changes ------------- * `PR 88 <https://foss.heptapod.net/openpyxl/openpyxl/-/merge_requests/88/>`_ Fix page margins in parser. ``` ### 2.3.0 ``` ================== Major changes ------------- * Support the creation of chartsheets Bug fixes --------- * `532 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/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.0b2 ``` ===================== Bug fixes --------- * `488 <https://bitbucket.org/openpyxl/openpyxl/issue/488>`_ Support hashValue attribute for sheetProtection * `493 <https://bitbucket.org/openpyxl/openpyxl/issue/493>`_ Warn that unsupported extensions will be dropped * `494 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/494/>`_ Cells with exponentials causes a ValueError * `497 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/497/>`_ Scatter charts are broken * `499 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/499/>`_ Inconsistent conversion of localised datetimes * `500 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/500/>`_ Adding images leads to unreadable files * `509 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/509/>`_ Improve handling of sheet names * `515 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/515/>`_ Non-ascii titles have bad repr * `516 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/516/>`_ Ignore unassigned worksheets Minor changes ------------- * Worksheets are now iterable by row. * Assign individual cell styles only if they are explicitly set. ``` ### 2.3.0b1 ``` ===================== 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 <https://bitbucket.org/openpyxl/openpyxl/pull-request/76>`_ Prevent comment images from conflicting with VBA Bug fixes --------- * `81 <https://bitbucket.org/openpyxl/openpyxl/issue/81>`_ Support stacked bar charts * `88 <https://bitbucket.org/openpyxl/openpyxl/issue/88>`_ Charts break hyperlinks * `97 <https://bitbucket.org/openpyxl/openpyxl/issue/97>`_ Pie and combination charts * `99 <https://bitbucket.org/openpyxl/openpyxl/issue/99>`_ Quote worksheet names in chart references * `150 <https://bitbucket.org/openpyxl/openpyxl/issue/150>`_ Support additional chart options * `172 <https://bitbucket.org/openpyxl/openpyxl/issue/172>`_ Support surface charts * `381 <https://bitbucket.org/openpyxl/openpyxl/issue/381>`_ Preserve named styles * `470 <https://bitbucket.org/openpyxl/openpyxl/issue/470>`_ Adding more than 10 worksheets with the same name leads to duplicates sheet names and an invalid file ``` ### 2.2.6 ``` ================== Bug fixes --------- * `502 <https://bitbucket.org/openpyxl/openpyxl/issue/502>`_ Unexpected keyword "mergeCell" * `503 <https://bitbucket.org/openpyxl/openpyxl/issue/503>`_ tostring missing in dump_worksheet * `506 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/506>`_ Non-ASCII formulae cannot be parsed * `508 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/508>`_ Cannot save files with coloured tabs * Regex for ignoring named ranges is wrong (character class instead of prefix) ``` ### 2.2.5 ``` ================== Bug fixes --------- * `463 <https://bitbucket.org/openpyxl/openpyxl/issue/463>`_ Unexpected keyword "mergeCell" * `484 <https://bitbucket.org/openpyxl/openpyxl/issue/484>`_ Unusual dimensions breaks read-only mode * `485 <https://bitbucket.org/openpyxl/openpyxl/issue/485>`_ Move return out of loop ``` ### 2.2.4 ``` ================== Bug fixes --------- * `464 <https://bitbucket.org/openpyxl/openpyxl/issue/464>`_ Cannot use images when preserving macros * `465 <https://bitbucket.org/openpyxl/openpyxl/issue/465>`_ ws.cell() returns an empty cell on read-only workbooks * `467 <https://bitbucket.org/openpyxl/openpyxl/issue/467>`_ Cannot edit a file with ActiveX components * `471 <https://bitbucket.org/openpyxl/openpyxl/issue/471>`_ Sheet properties elements must be in order * `475 <https://bitbucket.org/openpyxl/openpyxl/issue/475>`_ Do not redefine class __slots__ in subclasses * `477 <https://bitbucket.org/openpyxl/openpyxl/issue/477>`_ Write-only support for SheetProtection * `478 <https://bitbucket.org/openpyxl/openpyxl/issue/477>`_ Write-only support for DataValidation * Improved regex when checking for datetime formats ``` ### 2.2.3 ``` ================== Bug fixes --------- * `451 <https://bitbucket.org/openpyxl/openpyxl/issue/451>`_ fitToPage setting ignored * `458 <https://bitbucket.org/openpyxl/openpyxl/issue/458>`_ Trailing spaces lost when saving files. * `459 <https://bitbucket.org/openpyxl/openpyxl/issue/459>`_ setup.py install fails with Python 3 * `462 <https://bitbucket.org/openpyxl/openpyxl/issue/462>`_ Vestigial rId conflicts when adding charts, images or comments * `455 <https://bitbucket.org/openpyxl/openpyxl/issue/455>`_ Enable Zip64 extensions for all versions of Python ``` ### 2.2.2 ``` ================== Bug fixes --------- * `447 <https://bitbucket.org/openpyxl/openpyxl/issue/447>`_ Uppercase datetime number formats not recognised. * `453 <https://bitbucket.org/openpyxl/openpyxl/issue/453>`_ Borders broken in shared_styles. ``` ### 2.2.1 ``` ================== Minor changes ------------- * `PR54 <https://bitbucket.org/openpyxl/openpyxl/pull-request/54>`_ Improved precision on times near midnight. * `PR55 <https://bitbucket.org/openpyxl/openpyxl/pull-request/55>`_ Preserve macro buttons Bug fixes --------- * `429 <https://bitbucket.org/openpyxl/openpyxl/issue/429>`_ Workbook fails to load because header and footers cannot be parsed. * `433 <https://bitbucket.org/openpyxl/openpyxl/issue/433>`_ File-like object with encoding=None * `434 <https://bitbucket.org/openpyxl/openpyxl/issue/434>`_ SyntaxError when writing page breaks. * `436 <https://bitbucket.org/openpyxl/openpyxl/issue/436>`_ Read-only mode duplicates empty rows. * `437 <https://bitbucket.org/openpyxl/openpyxl/issue/437>`_ Cell.offset raises an exception * `438 <https://bitbucket.org/openpyxl/openpyxl/issue/438>`_ Cells with pivotButton and quotePrefix styles cannot be read * `440 <https://bitbucket.org/openpyxl/openpyxl/issue/440>`_ Error when customised versions of builtin formats * `442 <https://bitbucket.org/openpyxl/openpyxl/issue/442>`_ Exception raised when a fill element contains no children * `444 <https://bitbucket.org/openpyxl/openpyxl/issue/442>`_ Styles cannot be copied ``` ### 2.2.0 ``` ================== Bug fixes --------- * `415 <https://bitbucket.org/openpyxl/openpyxl/issue/415>`_ Improved exception when passing in invalid in memory files. ``` ### 2.2.0b1 ``` ===================== 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 <https://bitbucket.org/openpyxl/openpyxl/pull-request/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 <https://bitbucket.org/openpyxl/openpyxl/issue/103>`_ Set the zoom of a sheet * `199 <https://bitbucket.org/openpyxl/openpyxl/issue/199>`_ Hide gridlines * `215 <https://bitbucket.org/openpyxl/openpyxl/issue/215>`_ Preserve sheet view setings * `262 <https://bitbucket.org/openpyxl/openpyxl/issue/262>`_ Set the zoom of a sheet * `392 <https://bitbucket.org/openpyxl/openpyxl/issue/392>`_ Worksheet header not read * `387 <https://bitbucket.org/openpyxl/openpyxl/issue/387>`_ Cannot read files without styles.xml * `410 <https://bitbucket.org/openpyxl/openpyxl/issue/410>`_ Exception when preserving whitespace in strings * `417 <https://bitbucket.org/openpyxl/openpyxl/issue/417>`_ Cannot create print titles * `420 <https://bitbucket.org/openpyxl/openpyxl/issue/420>`_ Rename confusing constants * `422 <https://bitbucket.org/openpyxl/openpyxl/issue/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 <https://bitbucket.org/openpyxl/openpyxl/pull-request/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 ``` ================== Bug fixes --------- * `403 <https://bitbucket.org/openpyxl/openpyxl/issue/403>`_ Cannot add comments in write-only mode * `401 <https://bitbucket.org/openpyxl/openpyxl/issue/401>`_ Creating cells in an empty row raises an exception * `408 <https://bitbucket.org/openpyxl/openpyxl/issue/408>`_ from_excel adjustment for Julian dates 1 < x < 60 * `409 <https://bitbucket.org/openpyxl/openpyxl/issue/409>`_ refersTo is an optional attribute Minor changes ------------- * Allow cells to be appended to standard worksheets for code compatibility with write-only mode. ``` ### 2.1.4 ``` ================== Bug fixes --------- * `393 <https://bitbucket.org/openpyxl/openpyxl/issue/393>`_ IterableWorksheet skips empty cells in rows * `394 <https://bitbucket.org/openpyxl/openpyxl/issue/394>`_ Date format is applied to all columns (while only first column contains dates) * `395 <https://bitbucket.org/openpyxl/openpyxl/issue/395>`_ temporary files not cleaned properly * `396 <https://bitbucket.org/openpyxl/openpyxl/issue/396>`_ Cannot write "=" in Excel file * `398 <https://bitbucket.org/openpyxl/openpyxl/issue/398>`_ Cannot write empty rows in write-only mode with LXML installed Minor changes ------------- * Add relation namespace to root element for compatibility with iWork * Serialize comments relation in LXML-backend ``` ### 2.1.3 ``` ================== Minor changes ------------- * `PR 31 <https://bitbucket.org/openpyxl/openpyxl/pull-request/31/>`_ Correct tutorial * `PR 32 <https://bitbucket.org/openpyxl/openpyxl/pull-request/32/>`_ See #380 * `PR 37 <https://bitbucket.org/openpyxl/openpyxl/pull-request/37/>`_ Bind worksheet to ColumnDimension objects Bug fixes --------- * `379 <https://bitbucket.org/openpyxl/openpyxl/issue/379>`_ ws.append() doesn't set RowDimension Correctly * `380 <https://bitbucket.org/openpyxl/openpyxl/issue/379>`_ empty cells formatted as datetimes raise exceptions ``` ### 2.1.2 ``` ================== Minor changes ------------- * `PR 30 <https://bitbucket.org/openpyxl/openpyxl/pull-request/30/>`_ Fix regex for positive exponentials * `PR 28 <https://bitbucket.org/openpyxl/openpyxl/pull-request/28/>`_ Fix for #328 Bug fixes --------- * `120 <https://bitbucket.org/openpyxl/openpyxl/issue/120>`_, `#168 <https://bitbucket.org/openpyxl/openpyxl/issue/168>`_ defined names with formulae raise exceptions, `#292 <https://bitbucket.org/openpyxl/openpyxl/issue/292>`_ * `328 <https://bitbucket.org/openpyxl/openpyxl/issue/328/>`_ ValueError when reading cells with hyperlinks * `369 <https://bitbucket.org/openpyxl/openpyxl/issue/369>`_ IndexError when reading definedNames * `372 <https://bitbucket.org/openpyxl/openpyxl/issue/372>`_ number_format not consistently applied from styles ``` ### 2.1.1 ``` ================== Minor changes ------------- * PR 20 Support different workbook code names * Allow auto_axis keyword for ScatterCharts Bug fixes --------- * `332 <https://bitbucket.org/openpyxl/openpyxl/issue/332>`_ Fills lost in ConditionalFormatting * `360 <https://bitbucket.org/openpyxl/openpyxl/issue/360>`_ Support value="none" in attributes * `363 <https://bitbucket.org/openpyxl/openpyxl/issue/363>`_ Support undocumented value for textRotation * `364 <https://bitbucket.org/openpyxl/openpyxl/issue/364>`_ Preserve integers in read-only mode * `366 <https://bitbucket.org/openpyxl/openpyxl/issue/366>`_ Complete read support for DataValidation * `367 <https://bitbucket.org/openpyxl/openpyxl/issue/367>`_ Iterate over unsized worksheets ``` ### 2.1.0 ``` ================== 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 <https://bitbucket.org/openpyxl/openpyxl/issue/153>`_ Cannot read visibility of sheets and rows * `181 <https://bitbucket.org/openpyxl/openpyxl/issue/181>`_ No content type for worksheets * `241 <https://bitbucket.org/openpyxl/openpyxl/issue/241>`_ Cannot read sheets with inline strings * `322 <https://bitbucket.org/openpyxl/openpyxl/issue/322>`_ 1-indexing for merged cells * `339 <https://bitbucket.org/openpyxl/openpyxl/issue/339>`_ Correctly handle removal of cell protection * `341 <https://bitbucket.org/openpyxl/openpyxl/issue/341>`_ Cells with formulae do not round-trip * `347 <https://bitbucket.org/openpyxl/openpyxl/issue/347>`_ Read DataValidations * `353 <https://bitbucket.org/openpyxl/openpyxl/issue/353>`_ Support Defined Named Ranges to external workbooks ``` ### 2.0.5 ``` ================== Bug fixes --------- * `348 <https://bitbucket.org/openpyxl/openpyxl/issue/348>`_ incorrect casting of boolean strings * `349 <https://bitbucket.org/openpyxl/openpyxl/issue/349>`_ roundtripping cells with formulae ``` ### 2.0.4 ``` ================== Minor changes ------------- * Add a sample file illustrating colours Bug fixes --------- * `331 <https://bitbucket.org/openpyxl/openpyxl/issue/331>`_ DARKYELLOW was incorrect * Correctly handle extend attribute for fonts ``` ### 2.0.3 ``` ================== Minor changes ------------- * Updated docs Bug fixes --------- * `319 <https://bitbucket.org/openpyxl/openpyxl/issue/319>`_ Cannot load Workbooks with vertAlign styling for fonts ``` ### 2.0.2 ``` ================== ``` ### 2.0.1 ``` ============================= ``` ### 2.0.0 ``` ============================= 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 <https://bitbucket.org/openpyxl/openpyxl/issue/46>`_ ColumnDimension style error * `86 <https://bitbucket.org/openpyxl/openpyxl/issue/86>`_ reader.worksheet.fast_parse sets booleans to integers * `98 <https://bitbucket.org/openpyxl/openpyxl/issue/98>`_ Auto sizing column widths does not work * `137 <https://bitbucket.org/openpyxl/openpyxl/issue/137>`_ Workbooks with chartsheets * `185 <https://bitbucket.org/openpyxl/openpyxl/issue/185>`_ Invalid PageMargins * `230 <https://bitbucket.org/openpyxl/openpyxl/issue/230>`_ Using \v in cells creates invalid files * `243 <https://bitbucket.org/openpyxl/openpyxl/issue/243>`_ - IndexError when loading workbook * `263 <https://bitbucket.org/openpyxl/openpyxl/issue/263>`_ - Forded conversion of line breaks * `267 <https://bitbucket.org/openpyxl/openpyxl/issue/267>`_ - Raise exceptions when passed invalid types * `270 <https://bitbucket.org/openpyxl/openpyxl/issue/270>`_ - Cannot open files which use non-standard sheet names or reference Ids * `269 <https://bitbucket.org/openpyxl/openpyxl/issue/269>`_ - Handling unsized worksheets in IterableWorksheet * `270 <https://bitbucket.org/openpyxl/openpyxl/issue/270>`_ - Handling Workbooks with non-standard references * `275 <https://bitbucket.org/openpyxl/openpyxl/issue/275>`_ - Handling auto filters where there are only custom filters * `277 <https://bitbucket.org/openpyxl/openpyxl/issue/277>`_ - Harmonise chart and cell coordinates * `280 <https://bitbucket.org/openpyxl/openpyxl/issue/280>`_- Explicit exception raising for invalid characters * `286 <https://bitbucket.org/openpyxl/openpyxl/issue/286>`_ - Optimized writer can not handle a datetime.time value * `296 <https://bitbucket.org/openpyxl/openpyxl/issue/296>`_ - Cell coordinates not consistent with documentation * `300 <https://bitbucket.org/openpyxl/openpyxl/issue/300>`_ - Missing column width causes load_workbook() exception * `304 <https://bitbucket.org/openpyxl/openpyxl/issue/304>`_ - Handling Workbooks with absolute paths for worksheets (from Sharepoint) ``` ### 1.8.6 ``` ================== Minor changes ------------- Fixed typo for import Elementtree Bugfixes -------- * `279 <https://bitbucket.org/openpyxl/openpyxl/issue/279>`_ Incorrect path for comments files on Windows ``` ### 1.8.5 ``` ================== 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 ``` ================== Bugfixes -------- * `260 <https://bitbucket.org/openpyxl/openpyxl/issue/260>`_ better handling of undimensioned worksheets * `268 <https://bitbucket.org/openpyxl/openpyxl/issue/268>`_ non-ascii in formualae * `282 <https://bitbucket.org/openpyxl/openpyxl/issue/282>`_ correct implementation of register_namepsace for Python 2.6 ``` ### 1.8.3 ``` ================== Major changes ------------- Always parse using cElementTree Minor changes ------------- Slight improvements in memory use when parsing * `256 <https://bitbucket.org/openpyxl/openpyxl/issue/256>`_ - error when trying to read comments with optimised reader * `260 <https://bitbucket.org/openpyxl/openpyxl/issue/260>`_ - unsized worksheets * `264 <https://bitbucket.org/openpyxl/openpyxl/issue/264>`_ - only numeric cells can be dates ``` ### 1.8.2 ``` ================== * `247 <https://bitbucket.org/openpyxl/openpyxl/issue/247>`_ - iterable worksheets open too many files * `252 <https://bitbucket.org/openpyxl/openpyxl/issue/252>`_ - improved handling of lxml * `253 <https://bitbucket.org/openpyxl/openpyxl/issue/253>`_ - better handling of unique sheetnames ``` ### 1.8.1 ``` ================== * `246 <https://bitbucket.org/openpyxl/openpyxl/issue/246>`_ ``` ### 1.8.0 ``` ================== 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