[reportlab-users] Spreadsheet Table

Tomasz Świderski contact at tomaszswiderski.com
Thu Feb 18 10:43:57 EST 2010


Hello,

as promised in
http://two.pairlist.net/pipermail/reportlab-users/2010-February/009312.html
I am introducing Spreadsheet Table. It's based of platypus/tables.py and
have exacly the same properties. It passes all old_tables_tests.

In addition to reportlab 2.4 Table functionalities it can:
- repeat rows from below
- calculate formulas on runtime.

Each formula is subclass of Formula class. It has _evaluate method with
definition:

def _evaluate(self, data, repeat_rows, repeat_rows_b, active_rows,
cell_coord):

data - all data passed to Table on creation time
repeat_rows, repeat_rows_b - how many rows are repeated on top, bottom
of Table
active_rows - tuple containing range of visible rows
cell_coord - tuple containing col, row position of evaluated formula

This information is enough to calculate sum of column values from
current page, certain range of data (not necessarily one row or column) etc.

I didn't have much time so I implemented only two formulas for demo
needs. I believe it is possible to emulate all spreadsheet formulas with
it. It should be no problem to write formula for time addition etc.
Since Formula class have access to it's cell style - you can change
colors depending of cell value, for example black font for positive and
red for negative numbers.

I'm looking forward to any comments about this Spreadsheet implementation.

Best regards,
Tomasz Świderski
-------------- next part --------------
A non-text attachment was scrubbed...
Name: spreadsheettables.py
Type: text/x-python
Size: 67957 bytes
Desc: not available
Url : <http://two.pairlist.net/pipermail/reportlab-users/attachments/20100218/f6872d2f/attachment-0001.py>


More information about the reportlab-users mailing list