Python, OpenOffice: Programmatically Manipulating spreadsheets

Adam Matan picture Adam Matan · Mar 1, 2010 · Viewed 13.6k times · Source

I have an spreadsheet-based automated report that needs to be created daily, with some charts, aggregating functions (e.g. SUM and AVERAGE) and formatted cells (Dates, percentage, etc.).

I have tried to write these results directly to an Excel file, but Python's xlwt and xlrd don'y support charts and functions.

Moreover, trying to open an existing, formatted Excel file and changing some cell's values ended up erasing all charts and functions in the existing file.

Is there a way to write charts and functions to an OpenOffice spreadsheet, or at least change cells in an existing spreadsheet without erasing data? If there is a Pythonic way to do it, I can easily convert the OO file into an Excel file and deliver it.

Answer

Desintegr picture Desintegr · Mar 1, 2010

You can use PyUNO, a Python library to use UNO API.

Here is a Python example to do some manipulations in a Calc document.