Data liberation
Data liberation
- see also Google's effort: http://www.dataliberation.org/
The idea is that it should be easy to get data in and out of OpenPetra.org
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)
Links
- 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!
- Download of Sources and Binaries
- The Mercurial Code Repository isn't working (as of 23 Dec. 2010), but the sources can be downloaded and they compile OK
Microsoft Excel file support (Office Open XML)
- see http://stackoverflow.com/questions/151005/create-excel-xls-and-xlsx-file-from-c
- see http://www.leniel.net/2009/07/creating-excel-spreadsheets-xls-xlsx-c.html
- see http://npoi.codeplex.com/ "This project is the .NET version of POI Java project at http://poi.apache.org/. POI is an open source project which can help you read/write xls, doc, ppt files. It has a wide application."
- see http://excelpackage.codeplex.com/ "ExcelPackage provides server-side generation of Excel 2007 spreadsheets. It is a set of classes and wrappers around the .NET 3.0 System.IO.Packaging API and the new Office Open XML file format."
- http://www.carlosag.net/Tools/ExcelXmlWriter/
- see also http://www.codeproject.com/KB/office/ExcelGenerator.aspx; problem with compatibility of Code Project Open License (CPOL) with GPL though; see http://en.wikipedia.org/wiki/Code_Project_Open_License_(CPOL): "The license is thus incompatible with the GPL and some other open source licenses"
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.
JSON
- see http://code.google.com/p/jsonexserializer/ a c# library for JSON
- http://jayrock.berlios.de/ Jayrock
- see also http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=768&ns=16282 mentioning System.Web.Script.Serialization.JavaScriptSerializer and System.Runtime.Serialization.Runtime.DataContractJsonSerializer