Dashboard > Pentaho Reporting > Home > Task136372TableExportBase
Task136372TableExportBase
Added by Thomas Morgner, last edited by Thomas Morgner on Feb 19, 2007  (view change)
Labels: 
(None)


Import the table-exporter code from the classic branch into LibLayout

Task Description

In the Classic Engine, we have support to export arbitary reports into table structures, namely HTML and Excel tables. In LibLayout, we have similiar requirements, the rendered content must be written into a Excel, OpenOffice-Calc or HTML table structure. The scope of this task is to take the table-export code from the classic engine, clean it up (remove the reporting specific parts) and make it work with the rendered page objects that are passed into the output targets of LibLayout.

Solution Approach

After grabbing the code from the old engine, change all references to MetaElements into LibLayoutElements. Table-Cells should be formed for all block-level elements and table-cells. It makes no sense to form cells for inline elements, in the worst case this would result in a one-cell-per-word situtation - surely interesting to look at but not useable anymore.

If possible, retain the original structure and form a base-module which provides the table-computation (column and row sizes) while the actual rendering is implemented in the output specific modules (Excel, OO-Calc etc).

The renderer step of the layouting engine already handles manual pagebreaks and maps them into own layouts. The output step always receives a full page for the rendering, and one page always equals to one sheet in the workbook.

Open Points

What happens with inline-box elements. Most document systems have no support for them - we can either transform them into cells (which may cause trouble with the client-side layouting) or we can treat them as ordinary inline elements. In that case, the renderer step has to deal with them differently, so that the output-meta-data might have to be extended.

Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.2 Build:#807 May 20, 2007) - Bug/feature request - Contact Administrators