Create an Excel spreadsheet report

Set up and configure output to Microsoft® Excel™ from your reporting application. This option is useful if you want to perform custom calculations in Excel.

Note: Excel reports, as output from Genero Report Writer, do not print at high quality. If you require high-fidelity printing, use one of the other output options, such as SVG.

The report output can be sent to an Excel spreadsheet by passing the string "XLS" or "XLSX" to the function fgl_report_selectDevice. First, you should configure the report output using the fgl_report_configureXLSDevice or fgl_report_configureXLSXDevice functions.

This code fragment illustrates the functions enabling Excel output:
fgl_report_configureXLSXDevice (
   fromPage INTEGER,
   toPage INTEGER,
   removeWhitespace INTEGER,
   ignoreRowAlignment INTEGER,
   ignoreColumnAlignment INTEGER,
   removeBackgroundImages INTEGER,
   mergePages INTEGER) 

You can configure cell merging using the fgl_report_setXLSMergeCells() or the fgl_report_setXLSXMergeCells() function.

Excel report output

The output is in the specified Excel format, with the XLS format limited to 65,536 rows. In contrast, for the XLSX format the document is generated with constant memory consumption, so that very large documents can be produced without exhausting heap space.

Note: The XLSX format can only be opened with newer versions of Microsoft Excel (2007 or later). A backward compatibility pack can be downloaded from Microsoft; however, the XLSX format is then subject to the 65,536 limit of the earlier versions.

Any existing report, including ASCII, can be output to the spreadsheet.

The layout of the cells (size, font color, etc.) can be predictably controlled from the Report Designer. The goal is to put the report layout into the cells of the spreadsheet efficiently. There is an option in the functions fgl_report_configureXLSDevice and fgl_report_configureXLSXDevice to ignore the vertical or horizontal alignment. The default is TRUE for Excel document output, because the emphasis is on the ability to compute the values in the cells, rather than on the appearance.

When items in the report design overlap, by default the placement but not the alignment is preserved in the spreadsheet. To make the necessary decisions, Genero Studio marks the column and row boundaries internally with tabs. If two consecutive tabs have no element that bounds on them, the column or row collapses. The implication of this is:

  • White space (empty columns, empty rows) is eliminated when possible.
  • Elements that overlap may be placed in the same column, but they maintain their relative placement (above/below).
  • Contiguous items are never placed in the same column, but maintain their relative placement and alignment.

The values in the cells are generated for the report, not the Excel formulas.

The following report elements are specially rendered in Excel:

  • Graphical elements such as bar codes are rendered as images.
  • Business graphs are rendered as tables.
  • For pivot tables, only the fact rows are shipped. The pivot table is therefore rendered as a flat table structure without being disrupted by group totals. You can then use the data to create an Excel pivot table with business charts and row-spanning formulas.