Data liberation: Difference between revisions
(7 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
* CSV: advantages: edit long lists; problems: Excel reformats and may cut off account codes etc | * CSV: advantages: edit long lists; problems: Excel reformats and may cut off account codes etc | ||
== Excel file support == | == OpenOffice file support (OpenDocument) == | ||
===Manual Way=== | |||
The article [http://www.codeguru.com/csharp/csharp/cs_data/xml/article.php/c16311 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==== | |||
* [http://wiki.openoffice.org/wiki/AODL AODL Project Home] | |||
* [http://wiki.openoffice.org/wiki/AODL_FAQ 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! | |||
* [http://wiki.openoffice.org/wiki/AODL_examples Examples] | |||
== Microsoft Excel file support (Office Open XML) == | |||
* see http://stackoverflow.com/questions/151005/create-excel-xls-and-xlsx-file-from-c | * 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://www.leniel.net/2009/07/creating-excel-spreadsheets-xls-xlsx-c.html | ||
Line 15: | Line 34: | ||
* 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." | * 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/ | * 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" | |||
===Export to Excel 5.0 / BIFF8 format === | |||
We are now using excellibrary (LGPL) for exporting files in the Online Registration Module | |||
http://code.google.com/p/excellibrary/ | |||
== 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 | |||
** http://www.novogeek.com/post/2009/04/22/Converting-DataTable-to-JSON-using-JayRock.aspx | |||
* 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 |
Latest revision as of 14:52, 26 July 2013
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!
- Examples
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"
Export to Excel 5.0 / BIFF8 format
We are now using excellibrary (LGPL) for exporting files in the Online Registration Module
http://code.google.com/p/excellibrary/
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