OpenPyXL 3.0.7
  • 教程
  • 简单用法
  • 性能
  • 优化模式
  • 插入和删除行和列,移动单元格范围
  • 操纵 Pandas 和 NumPy
  • 图表
  • 注释
  • 操控样式
  • 额外工作表特性
  • 条件格式化
  • 数据透视表
  • 打印设置
  • 使用过滤器和排序
  • 验证单元格
  • 定义名称
  • 工作表表格
  • 剖析公式
  • 日期和时间
  • 保护
  • 开发
  • openpyxl 包
  • 3.0.7 (2021-03-09)
  • 3.0.6 (2021-01-14)
  • 3.0.5 (2020-08-21)
  • 3.0.4 (2020-06-24)
  • 3.0.3 (2020-01-20)
  • 3.0.2 (2019-11-25)
  • 3.0.1 (2019-11-14)
  • 3.0.0 (2019-09-25)
  • 2.6.4 (2019-09-25)
  • 2.6.3 (2019-08-19)
  • 2.6.2 (2019-03-29)
  • 2.6.1 (2019-03-04)
  • 2.6.0 (2019-02-06)
  • 2.6.-b1 (2019-01-08)
  • 2.6-a1 (2018-11-21)
  • 2.5.14 (2019-01-23)
  • 2.5.13 (brown bag)
  • 2.5.12 (2018-11-29)
  • 2.5.11 (2018-11-21)
  • 2.5.10 (2018-11-13)
  • 2.5.9 (2018-10-19)
  • 2.5.8 (2018-09-25)
  • 2.5.7 (2018-09-13)
  • 2.5.6 (2018-08-30)
  • 2.5.5 (2018-08-04)
  • 2.5.4 (2018-06-07)
  • 2.5.3 (2018-04-18)
  • 2.5.2 (2018-04-06)
  • 2.5.1 (2018-03-12)
  • 2.5.0 (2018-01-24)
  • 2.5.0-b2 (2018-01-19)
  • 2.5.0-b1 (2017-10-19)
  • 2.5.0-a3 (2017-08-14)
  • 2.5.0-a2 (2017-06-25)
  • 2.5.0-a1 (2017-05-30)
  • 2.4.11 (2018-01-24)
  • 2.4.10 (2018-01-19)
  • 2.4.9 (2017-10-19)
  • 2.4.8 (2017-05-30)
  • 2.4.7 (2017-04-24)
  • 2.4.6 (2017-04-14)
  • 2.4.5 (2017-03-07)
  • 2.4.4 (2017-02-23)
  • 2.4.3 (未发行)
  • 2.4.2 (2017-01-31)
  • 2.4.1 (2016-11-23)
  • 2.4.0 (2016-09-15)
  • 2.4.0-b1 (2016-06-08)
  • 2.4.0-a1 (2016-04-11)
  • 2.3.5 (2016-04-11)
  • 2.3.4 (2016-03-16)
  • 2.3.3 (2016-01-18)
  • 2.3.2 (2015-12-07)
  • 2.3.1 (2015-11-20)
  • 2.3.0 (2015-10-20)
  • 2.3.0-b2 (2015-09-04)
  • 2.3.0-b1 (2015-06-29)
  • 2.2.6 (未发行)
  • 2.2.5 (2015-06-29)
  • 2.2.4 (2015-06-17)
  • 2.2.3 (2015-05-26)
  • 2.2.2 (2015-04-28)
  • 2.2.1 (2015-03-31)
  • 2.2.0 (2015-03-11)
  • 2.2.0-b1 (2015-02-18)
  • 2.1.5 (2015-02-18)
  • 2.1.4 (2014-12-16)
  • 2.1.3 (2014-12-09)
  • 2.1.2 (2014-10-23)
  • 2.1.1 (2014-10-08)
  • 2.1.0 (2014-09-21)
  • 2.0.5 (2014-08-08)
  • 2.0.4 (2014-06-25)
  • 2.0.3 (2014-05-22)
  • 2.0.2 (2014-05-13)
  • 2.0.1 (2014-05-13) brown bag
  • 2.0.0 (2014-05-13) brown bag
  • 1.8.6 (2014-05-05)
  • 1.8.5 (2014-03-25)
  • 1.8.4 (2014-02-25)
  • 1.8.3 (2014-02-09)
  • 1.8.2 (2014-01-17)
  • 1.8.1 (2014-01-14)
  • 1.8.0 (2014-01-08)
  • 1.7.0 (2013-10-31)
  • 3.0.7 (2021-03-09)

    Bug 修复

    • #1588 <https://foss.heptapod.net/openpyxl/openpyxl/-/issues/1588>
    • #1589 Exception raised when merging cells which do not have borders all the way round.
    • #1594 Python 2 print statement in the tutorial

    拉出请求

    • PR392 Add documentation on datetime handling
    • PR393 Drop dependency on jdcal
    • PR394 Datetime rounding
    • PR395 Unify handling of 1900 epoch
    • PR397 Add explicit support for reading datetime deltas
    • PR399 Millisecond precision for datetimes

    3.0.6 (2021-01-14)

    Bug 修复

    • #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

    拉出请求

    • PR385 Improved handling of borders for differential styles
    • PR386 Support subclasses of datetime objects
    • PR387 Improved handling of cells without coordinates

    3.0.5 (2020-08-21)

    Bug 修复

    • #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)

    Bug 修复

    • #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.

    拉出请求

    • PR377 Add support for finding tables by name or range.

    3.0.3 (2020-01-20)

    Bug 修复

    • #1260 Exception when handling merged cells with hyperlinks
    • #1373 Problems when both lxml and defusedxml are installed
    • #1385 CFVO with incorrect values cannot be processed

    3.0.2 (2019-11-25)

    Bug 修复

    • #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

    拉出请求

    • PR359 Improvements to the documentation

    3.0.1 (2019-11-14)

    Bug 修复

    拉出请求

    3.0.0 (2019-09-25)

    Python 3.6+ only release

    2.6.4 (2019-09-25)

    用于 Python 2.7 和 3.5 的最终发行

    Bug 修复

    2.6.3 (2019-08-19)

    Bug 修复

    • #1237 Fix 3D charts.
    • #1290 Minimum for holeSize in Doughnut charts too high
    • #1291 Warning for MergedCells with comments
    • #1296 Pagebreaks duplicated
    • #1309 Workbook has no default CellStyle
    • #1330 Workbooks with comments cannot be saved multiple times

    拉出请求

    • PR344 Make sure NamedStyles number formats are correctly handled

    2.6.2 (2019-03-29)

    Bug 修复

    • #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)

    Bug 修复

    • #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 属性
    • #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)

    Bug 修复

    • #1162 Exception on tables with names containing spaces.
    • #1170 Cannot save files with existing images.

    2.6.-b1 (2019-01-08)

    Bug 修复

    • #1141 Cannot use read-only mode with stream
    • #1143 Hyperlinks always set on A1
    • #1151 Internal row counter not initialised when reading files
    • #1152 Exception raised on out of bounds date

    2.6-a1 (2018-11-21)

    主要变化

    • Implement robust for merged cells so that these can be formatted the way Excel does without confusion. Thanks to Magnus Schieder.

    次要变化

    • 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

    弃用

    • Type inference and coercion for cell values

    2.5.14 (2019-01-23)

    Bug 修复

    • #1150 Correct typo in LineProperties
    • #1142 Exception raised for unsupported image files
    • #1159 Exception raised when cannot find source for non-local cache object

    拉出请求

    • PR301 Add support for nested brackets to the tokeniser
    • PR303 Improvements on handling nested brackets in the tokeniser

    2.5.13 (brown bag)

    2.5.12 (2018-11-29)

    Bug 修复

    • #1130 Overwriting default font in Normal style affects library default
    • #1133 Images not added to anchors.
    • #1134 Cannot read pivot table formats without dxId
    • #1138 Repeated registration of simple filter could lead to memory leaks

    拉出请求

    • PR300 使用 defusedxml 若可用

    2.5.11 (2018-11-21)

    拉出请求

    • PR295 Improved handling of missing rows
    • PR296 Add support for defined names to tokeniser

    2.5.10 (2018-11-13)

    Bug 修复

    • #1114 Empty column dimensions should not be saved.

    拉出请求

    • PR285 Tokenizer failure for quoted sheet name in second half of range
    • PR289 Improved error detection in ranges.

    2.5.9 (2018-10-19)

    Bug 修复

    • #1000 Clean AutoFilter name definitions
    • #1106 Attribute missing from Shape object
    • #1109 Failure to read all DrawingML means workbook can’t be read

    拉出请求

    • PR281 Allow newlines in formulae
    • PR284 Fix whitespace in front of infix operator in formulae

    2.5.8 (2018-09-25)

    • #877 Cannot control how missing values are displayed in charts.
    • #948 Cell references can’t be used for chart titles
    • #1095 Params in iter_cols and iter_rows methods are slightly wrong.

    2.5.7 (2018-09-13)

    • #954 Sheet title containing % need quoting in references
    • #1047 Cannot set quote prefix
    • #1093 Pandas timestamps raise KeyError

    2.5.6 (2018-08-30)

    • #832 Read-only mode can leave find-handles open when reading dimensions
    • #933 Set a worksheet directly as active
    • #1086 Internal row counter not adjusted when rows are deleted or inserted

    2.5.5 (2018-08-04)

    Bug 修复

    • #1049 Files with Mac epoch are read incorrectly
    • #1058 Cannot copy merged cells
    • #1066 Cannot access ws.active_cell

    拉出请求

    • PR267 Introduce read-support for images

    2.5.4 (2018-06-07)

    Bug 修复

    • #1025 Cannot read files with 3D charts.
    • #1030 Merged cells take a long time to parse

    次要变化

    2.5.3 (2018-04-18)

    Bug 修复

    • #983 Warning level too aggressive.
    • #1015 Alignment and protection values not saved for named styles.
    • #1017 Deleting elements from a legend doesn’t work.
    • #1018 Index names repeated for every row in dataframe.
    • #1020 Worksheet protection not being stored.
    • #1023 Exception raised when reading a tooltip.

    2.5.2 (2018-04-06)

    Bug 修复

    • #949 High memory use when reading text-heavy files.
    • #970 Copying merged cells copies references.
    • #978 Cannot set comment size.
    • #985 Exception when trying to save workbooks with no views.
    • #995 Cannot delete last row or column.
    • #1002 Cannot read Drawings containing embedded images.

    次要变化

    • Support for dataframes with multiple columns and multiple indices.

    2.5.1 (2018-03-12)

    Bug 修复

    • #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)

    次要变化

    • Correct definition for Connection Shapes. Related to # 958

    2.5.0-b2 (2018-01-19)

    Bug 修复

    • #915 TableStyleInfo has no required attributes
    • #925 Cannot read files with 3D drawings
    • #926 Incorrect version check in installer
    • Cell merging uses transposed parameters
    • #928 ExtLst missing keyword for PivotFields
    • #932 Inf causes problems for Excel
    • #952 Cannot load table styles with custom names

    主要变化

    • You can now insert and delete rows and columns in worksheets

    次要变化

    • pip now handles which Python versions can be used.

    2.5.0-b1 (2017-10-19)

    Bug 修复

    • #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

    主要变化

    worksheet.cell() no longer accepts a coordinate parameter. The syntax is now ws.cell(row, column, value=None)

    次要变化

    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.

    弃用

    ws.merged_cell_ranges has been deprecated because MultiCellRange provides sufficient functionality

    2.5.0-a3 (2017-08-14)

    Bug 修复

    • #848 Reading workbooks with Pie Charts raises an exception
    • #857 Pivot Tables without Worksheet Sources raise an exception

    2.5.0-a2 (2017-06-25)

    主要变化

    • Read support for charts

    Bug 修复

    • #833 Cannot access chartsheets by title
    • #834 Preserve workbook views
    • #841 Incorrect classification of a datetime

    2.5.0-a1 (2017-05-30)

    兼容性

    • Dropped support for Python 2.6 and 3.3. openpyxl will not run with Python 2.6

    主要变化

    • Read/write support for pivot tables

    弃用

    • Dropped the anchor method from images and additional constructor arguments

    Bug 修复

    • #779 Fails to recognise Chinese date format`
    • #828 Include hidden cells in charts`

    拉出请求

    • 163 Improved GradientFill

    次要变化

    • 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)

    2.4.10 (2018-01-19)

    Bug 修复

    拉出请求

    2.4.9 (2017-10-19)

    Bug 修复

    • #809 Incomplete documentation of copy_worksheet 方法
    • #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

    拉出请求

    • #179 Cells kept in a set
    • #180 Support for Workbook protection
    • #182 Read support for page breaks
    • #183 Improve documentation of copy_worksheet 方法
    • #198 Fix for #908

    2.4.8 (2017-05-30)

    Bug 修复

    • 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

    次要变化

    • Preserve any table styles

    2.4.7 (2017-04-24)

    Bug 修复

    • #807 Sample files being included by mistake in sdist

    2.4.6 (2017-04-14)

    Bug 修复

    • #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)

    Bug 修复

    • #750 Adding images keeps file handles open
    • #772 Exception for column-only ranges
    • #773 Cannot copy worksheets with non-ascii titles on Python 2

    拉出请求

    • 161 Support for non-standard names for Workbook part.
    • 162 Documentation correction

    2.4.4 (2017-02-23)

    Bug 修复

    • #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

    次要变化

    • Add roundtrip support for worksheet tables.

    拉出请求

    • 160 Don’t init mimetypes more than once.

    2.4.3 (未发行)

    bad release

    2.4.2 (2017-01-31)

    Bug 修复

    • #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

    次要变化

    • Add unicode support for sheet name incrementation.

    2.4.1 (2016-11-23)

    Bug 修复

    • #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

    次要变化

    • Add support for Python 3.6
    • Correct documentation for headers and footers

    弃用

    Worksheet methods get_named_range() and get_sqaured_range()

    Bug 修复

    2.4.0 (2016-09-15)

    Bug 修复

    • #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

    主要变化

    • Add support for builtin styles and include one for Pandas

    次要变化

    • 添加 keep_links 选项到 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)

    次要变化

    • Add an the alias hide_drop_down to DataValidation for showDropDown because that is how Excel works.

    Bug 修复

    • #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

    特征

    • Add write support for worksheet tables

    2.4.0-a1 (2016-04-11)

    次要变化

    • Remove deprecated methods from DataValidation
    • Remove deprecated methods from PrintPageSetup
    • Convert AutoFilter to Serialisable and extend support for filters
    • Add support for SortState
    • 移除 use_iterators keyword when loading workbooks. Use read_only 代替。
    • 移除 optimized_write keyword for new workbooks. Use write_only 代替。
    • 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
    • 添加 property for worksheets
    • Default column width changed to 8 as per the specification

    弃用

    • 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 修复

    • #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 修复

    • #618 Comments not written in write-only mode

    2.3.4 (2016-03-16)

    Bug 修复

    • #594 Content types might be missing when keeping VBA
    • #599 Cells with only one cell look empty
    • #607 Serialise NaN as ‘’

    次要变化

    • 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 修复

    • #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

    次要变化

    • 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 修复

    • #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

    次要变化

    • PR 97 One VML file per worksheet.
    • PR 96 Correct descriptor for CharacterProperties.rtl
    • #498 Metadata is not essential to use the package.

    2.3.1 (2015-11-20)

    Bug 修复

    • #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

    次要变化

    • PR 88 Fix page margins in parser.

    2.3.0 (2015-10-20)

    主要变化

    • Support the creation of chartsheets

    Bug 修复

    • #532 Problems when cells have no style in read-only mode.

    次要变化

    • PR 79 Make PlotArea editable in charts
    • Use graphicalProperties as the alias for spPr

    2.3.0-b2 (2015-09-04)

    Bug 修复

    • #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

    次要变化

    • Worksheets are now iterable by row.
    • Assign individual cell styles only if they are explicitly set.

    2.3.0-b1 (2015-06-29)

    主要变化

    • 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

    次要变化

    • Read-only and write-only worksheets renamed.
    • Write-only workbooks support charts and images.
    • PR76 Prevent comment images from conflicting with VBA

    Bug 修复

    • #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 (未发行)

    Bug 修复

    • #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)

    2.2.5 (2015-06-29)

    Bug 修复

    • #463 Unexpected keyword “mergeCell”
    • #484 Unusual dimensions breaks read-only mode
    • #485 Move return out of loop

    2.2.4 (2015-06-17)

    Bug 修复

    • #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 修复

    • #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

    2.2.2 (2015-04-28)

    Bug 修复

    • #447 Uppercase datetime number formats not recognised.
    • #453 Borders broken in shared_styles.

    2.2.1 (2015-03-31)

    次要变化

    • PR54 Improved precision on times near midnight.
    • PR55 Preserve macro buttons

    Bug 修复

    • #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 修复

    • #415 Improved exception when passing in invalid in memory files.

    2.2.0-b1 (2015-02-18)

    主要变化

    • 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 修复

    • #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

    次要变化

    • 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 修复

    • #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

    次要变化

    • Allow cells to be appended to standard worksheets for code compatibility with write-only mode.

    2.1.4 (2014-12-16)

    Bug 修复

    • #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

    次要变化

    • Add relation namespace to root element for compatibility with iWork
    • Serialize comments relation in LXML-backend

    2.1.3 (2014-12-09)

    次要变化

    Bug 修复

    • #379 ws.append() doesn’t set RowDimension Correctly
    • #380 empty cells formatted as datetimes raise exceptions

    2.1.2 (2014-10-23)

    次要变化

    Bug 修复

    • #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

    2.1.1 (2014-10-08)

    次要变化

    • PR 20 Support different workbook code names
    • Allow auto_axis keyword for ScatterCharts

    Bug 修复

    • #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 Complete read support for DataValidation
    • #367 Iterate over unsized worksheets

    2.1.0 (2014-09-21)

    主要变化

    • “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

    次要变化

    • 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 修复

    • #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 修复

    • #348 incorrect casting of boolean strings
    • #349 roundtripping cells with formulae

    2.0.4 (2014-06-25)

    次要变化

    • Add a sample file illustrating colours

    Bug 修复

    • #331 DARKYELLOW was incorrect
    • Correctly handle extend attribute for fonts

    2.0.3 (2014-05-22)

    次要变化

    • Updated docs

    Bug 修复

    • #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

    主要变化

    • 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

    次要变化

    • All tests converted to pytest
    • Pyflakes used for static code analysis
    • Sample code in the documentation is automatically run
    • Support GradientFills
    • BaseColWidth set

    拉出请求

    • #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 修复

    • #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)

    次要变化

    Fixed typo for import Elementtree

    Bug 修复

    • #279 Incorrect path for comments files on Windows

    1.8.5 (2014-03-25)

    次要变化

    • 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)

    Bug 修复

    • #260 better handling of undimensioned worksheets
    • #268 non-ascii in formualae
    • #282 correct implementation of register_namepsace for Python 2.6

    1.8.3 (2014-02-09)

    主要变化

    Always parse using cElementTree

    次要变化

    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

    1.8.2 (2014-01-17)

    • #247 - iterable worksheets open too many files
    • #252 - improved handling of lxml
    • #253 - better handling of unique sheetnames

    1.8.1 (2014-01-14)

    1.8.0 (2014-01-08)

    兼容性

    Support for Python 2.5 dropped.

    主要变化

    • Support conditional formatting
    • Support lxml as backend
    • Support reading and writing comments
    • pytest as testrunner now required
    • Improvements in charts: new types, more reliable

    次要变化

    • load_workbook now accepts data_only to allow extracting values only from formulae. Default is false.
    • Images can now be anchored to cells
    • 更新文档
    • Provisional benchmarking
    • Added convenience methods for accessing worksheets and cells by key

    1.7.0 (2013-10-31)

    主要变化

    Drops support for Python < 2.5 and last version to support Python 2.5

    兼容性

    在 Python 2.5、2.6、2.7、3.2、3.3 运行测试

    合并拉出请求

    • 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

    已知 Bug 修复

    杂项

    Performance improvements in optimised writer

    更新文档