Data liberation

From OpenPetra Wiki
Jump to navigation Jump to search

Data liberation

The idea is that it should be easy to get data in and out of

XML/YML/CSV support

  • XML: advantages: easier to handle from external programs, they can transform the data
  • YML: advantages: easy to read and write for manual adjustments
  • CSV: advantages: edit long lists; problems: Excel reformats and may cut off account codes etc

OpenOffice file support (OpenDocument)

Manual Way

The article How to Read and Write ODF/ODS Files (OpenDocument Spreadsheets) explains the steps a C# programmer needs to make to have basic read and write capabilities for the OpenDocument Spreadsheet format. No external library is needed for that.

AODL .NET Library

"AODL is the .net module of the ODF Toolkit. The library is completly written in pure C# and can be used to extend your .net based software to support the OpenDocument Format. To use AODL within your projects respectively software there is no need of a deep knowlegde of the OpenDocument Format itself. It would be helpfull to understand what's going behind the scenes and for writing your own extensions, but as mentioned before this isn't a fundamental requirement."

  • Creating new documents in the text and the spreadsheet format.
  • Loading and manipulating documents in the text and spreadsheet format.
  • Initial support for Charts within Spreadsheet Documents.
  • Export loaded or created documents into the HTML format (text and spreadsheet documents).
  • Export loaded or created documents into the PDF Format. (this is in an early state of implementation and only available for text documents)


  • AODL Project Home
  • FAQ's
    • According to the FAQ, AODL does not need an installed OpenOffice on the machine where it is executed and works on mono on Linux as well!
  • Examples

Microsoft Excel file support (Office Open XML)

Export to Excel 5.0 / BIFF8 format

We are now using excellibrary (LGPL) for exporting files in the Online Registration Module

Data Exchange between Software Services

This is quite different from the previous approaches, because it does not target the user, but the data exchange between software services and programs; one example could be an AJAX webclient that communicates with the server via JSON or XML.