EzODF.py maintained by pyexcel ---------------------------------- .. image:: https://raw.githubusercontent.com/pyexcel/pyexcel.github.io/master/images/patreon.png :target: https://www.patreon.com/pyexcel .. image:: https://api.travis-ci.org/pyexcel/pyexcel-ezodf.svg?branch=master :target: http://travis-ci.org/pyexcel/pyexcel-ezodf .. image:: https://codecov.io/gh/pyexcel/pyexcel-ezodf/branch/master/graph/badge.svg :target: https://codecov.io/gh/pyexcel/pyexcel-ezodf .. image:: https://img.shields.io/gitter/room/gitterHQ/gitter.svg :target: https://gitter.im/pyexcel/Lobby Maintenance ============= Since `T0ha/ezodf `_ was not updated for too long, **pyexcel** tries to cover up the **holiday** period until @T0ha will come back to continue. **pyexcel** is happy to push the changes if requested. If you are a developer and are interested in this project, please apply for co-maintenanceship. Abstract ======== **ezodf** is a Python package to create new or open existing OpenDocument (ODF) files to extract, add, modify or delete document data. a simple example:: from ezodf import newdoc, Paragraph, Heading, Sheet odt = newdoc(doctype='odt', filename='text.odt') odt.body += Heading("Chapter 1") odt.body += Paragraph("This is a paragraph.") odt.save() ods = newdoc(doctype='ods', filename='spreadsheet.ods') sheet = Sheet('SHEET', size=(10, 10)) ods.sheets += sheet sheet['A1'].set_value("cell with text") sheet['B2'].set_value(3.141592) sheet['C3'].set_value(100, currency='USD') sheet['D4'].formula = "of:=SUM([.B2];[.C3])" pi = sheet[1, 1].value ods.save() for more examples see: /examples folder Dependencies ============ * lxml for painless serialisation with prefix declaration (xlmns:prefix="global:namespace:specifier") in the root element. Declarations for unused prefixes are also possible. * nose for testing For CPython 2.6 compatibility: * weakrefset for fixing incompatibility with weakref module before 2.7 * unittest2 for asserts like in python 2.7+ The target platform is CPython 2.7 and CPython 3.2+, work on compability with CPython 2.6 is in progress. Installation ============ You can install pyexcel-ezodf via pip: .. code-block:: bash $ pip install pyexcel-ezodf or clone it and install it: .. code-block:: bash $ git clone https://github.com/pyexcel/pyexcel-ezodf.git $ cd pyexcel-ezodf $ python setup.py install Documentation ============= http://packages.python.org/ezodf Author ================ Manfred Moitzi Contributors ================ `Anton Shvein `_ `chfw `_ `Jona `_ NEWS ==== Version 0.3.4 - 23 October 2017 * added CONTRIBUTORS.rst into tar ball Version 0.3.3 - 17 Auguest 2017 Package name is now changed to pyexcel-ezodf but you do not need to change your code. You stiil import it as `ezodf` * `issue 1 `_, stream alike object(except StringIO) cannot be handled * `issue 3 `_, `ezodf PR 21 `_ license.rst -> license.txt * `issue 4 `_, `ezodf PR 20 `_ cell.value_as() * `issue 5 `_, `ezodf issue 23 `_ restore the support for fodt and fods * `issue 6 `_, `ezodf PR 17 `_ add Python 3.5 to test matrix * `PR 18 `_, Use cStringIO as default but keep StringIO as optional Version 0.3.2 - December 2015 * Support wheels and python3 Version 0.3.1 - December 2015 * File-like objects utilisation improved Version 0.3.0 - November 2014 * Maitainer changed * Simple variables and user fields support added * Tests system changed to nose * Travis CI support added * Python 2.6 - 3.4 support added Version 0.2.5 - Juli 2012 * Alpha version * license changed to MIT license * development stopped - for now Version 0.2.4 - June 2012 * Alpha version * can open tables with many repeated rows/cols, 3 opening strategies are supported * tested: on Win7/Ubuntu 32-Bit with CPython 2.7 and CPython 3.2 Version 0.2.3 - January 2012 * Alpha version * tested: on Windows7 32 Bit with CPython 2.7 and CPython 3.2 Version 0.2.2 - March 2011 * Alpha version * Spreadsheet: added cell-span management * tested with Python 3.2 - OK * added tobytes() method to all document classes * opendoc() accept the zip-file content as 'bytes' instead of the filename as parameter 'filename' * newdoc() accept the zip-file content as 'bytes' instead of the filename as parameter 'template' Version 0.2.1 - 06 February 2011 * Alpha version * added basic spreadsheet support * Spreadsheet: added sheet, row, column and cell management Version 0.2.0 - 18 January 2011 * Alpha version * create new empty odt, ods, odp, odg file * added template support - can create ott, ots, otp, otg files * open documents - ezodf.opendoc(filename) * create new documents - ezdof.newdoc(doctype, filename, template) * Text: added Paragraph, Heading, Span, Hyperlink, List, Section objects Version 0.1.0 - 02 January 2011 * Pre-Alpha version * open/saveas ODF documents * modify meta data