Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python, OpenOffice: Programmatically Manipulating spreadsheets

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.

like image 554
Adam Matan Avatar asked Mar 01 '10 14:03

Adam Matan


People also ask

Can Python interact with Excel?

Openpyxl is a Python library that provides various methods to interact with Excel Files using Python. It allows operations like reading, writing, arithmetic operations, plotting graphs, etc.

How do you link data and spreadsheets in Open Office?

Select the cell where the upper left-hand cell of the external data is to be inserted. Choose Insert > Link to External Data. On the External Data dialog, type the URL of the source document or click the [...] button to open a file selection dialog.

What is the equivalent of Excel in open office?

The solution to storing all your numbers and lists! Calc is the spreadsheet application you've always wanted. Newcomers find it intuitive and easy to learn; professional data miners and number crunchers will appreciate the comprehensive range of advanced functions.


1 Answers

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

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

like image 89
Desintegr Avatar answered Sep 22 '22 07:09

Desintegr