IO package: Difference between revisions

882 bytes added ,  14 August 2014
Line 38: Line 38:
The io package comes with different interfaces to read/write different file formats.
The io package comes with different interfaces to read/write different file formats.
# COM
# COM
## This ''(interface)'' is only available on MS Windows '''and''' with a MS Office installation.
## This ''(interface)'' is only available on MS Windows '''and''' with an MS Office installation.
# [POI POI/OOXML JXL OXS UNO OTK JOD]
# [POI, POI/OOXML, JXL, OXS, UNO, OTK, JOD]
## Say hello to the many java-based interfaces to read very slowly shitty formats
## These are java-based interfaces. They are generally slower than Octave's native OCT interface; OTOH they offer more flexibility. Generally the OCT interface offers sufficient flexibility and speed.
# OCT
# OCT
## This is the new impressive and fast ''(mostly written in Octave itself! + two C files to bypass bottlenecks)'' interface which only supports .xlsx, .ods and .gnumeric files
## This is the new impressive and fast ''(mostly written in Octave itself! + two C files to bypass bottlenecks)'' interface which presently supports .xlsx, .ods and .gnumeric files.
(Note that .ods is a complicated file format with many gotchas that doesn't lend itself for fast file I/O. So unfortunately the fastest .ods interface is the Java-based jOpenDocument (JOD) (luckily it is GPL). However if speed is not an issue or if you hate Java, the OCT interface still performs fast enough.)


So, if you want to read/write '''.xlsx''' files, you'll only need the io-package >=2.2.0.  
So, if you want to read/write '''.xlsx''' files, you'll only need the io-package >=2.2.0.  
Line 48: Line 49:
But if you have to read/write '''.xls''' files, you'll need either
But if you have to read/write '''.xls''' files, you'll need either
* MS Windows with MS Office backings - or
* MS Windows with MS Office backings - or
* need Octave build with --enable-java, + Java, and one or more of the Java interfaces!
* Octave built with --enable-java, + a Java JRE or -JDK, and one or more of the Java interfaces (i.e., the class libs)!
 
If you want to read/write .gnumeric files, the OCT interface is even the only option.
 
For some rarely used file formats you'll need LibreOffice + Octave built with Java enabled + a Java JRE or -JDK. But OK, once there you can enjoy formats then like Unified Office Format, Data Interchange Format, SYLK, OpenDocument Flat XML, the old OpenOffice.org .sxc format and some others you may have heard of ;-)


==== force an interface ====
==== force an interface ====
99

edits