From: <prn...@us...> - 2011-04-17 20:43:53
|
Revision: 8217 http://octave.svn.sourceforge.net/octave/?rev=8217&view=rev Author: prnienhuis Date: 2011-04-17 20:43:47 +0000 (Sun, 17 Apr 2011) Log Message: ----------- Spell checks, adapted to (coming) io-1.0.15; description of chk_spreadsheet_support included. Modified Paths: -------------- trunk/octave-forge/main/io/doc/READ-ODS.html trunk/octave-forge/main/io/doc/READ-XLS.html Modified: trunk/octave-forge/main/io/doc/READ-ODS.html =================================================================== --- trunk/octave-forge/main/io/doc/READ-ODS.html 2011-04-17 19:50:49 UTC (rev 8216) +++ trunk/octave-forge/main/io/doc/READ-ODS.html 2011-04-17 20:43:47 UTC (rev 8217) @@ -30,7 +30,7 @@ <p align="center"><u><font face="Arial, sans-serif"><font size="4"><b>ODS support for Octave</b></font></font></u></p><p align="center"><font face="Arial, sans-serif"><font size="2">Copyright \xA9 2009 - 2011 Philip Nienhuis <prnienhuis at users.sf.net></font></font></p><p align="center"><font face="Arial, sans-serif"><font size="2">This -version February 16, 2011</font></font></p> +version April 17, 2011</font></font></p> <p><font face="Arial, sans-serif"><font size="2"><i>(ODS = Open Document Format spreadsheet data format, used by e.g., OpenOffice.org.)</i></font></font></p><p><font face="Arial, sans-serif"><font size="2"><i></i></font></font></p><dl><dt><p align="left"><font face="Arial, sans-serif"><font size="2"><u><b>Files @@ -42,15 +42,25 @@ </dl> </dl> </dl> - <dt><p><font face="Arial, sans-serif"><font size="2"><i><b>ods2oct.m</b></i><br>Read raw data from an - ODS spreadsheet file using the file pointer handed by odsopen.</font></font></p></dt><dt><p><font face="Arial, sans-serif"><font size="2"><i><b>oct2ods.m</b></i><br>Write data to an ODS - spreadsheet file using the file pointer handed by odsopen.</font></font></p></dt><dt><p><font face="Arial, sans-serif"><font size="2"><i><b>odsclose.m</b></i><br>Close file handle made - by odsopen and -if data have been transfered to a spreadsheet- save - data.</font></font></p></dt><dt><p><font face="Arial, sans-serif"><font size="2"><i><b>odsfinfo.m</b></i><br>Explore sheet names and - optionally estimated data size of ods files with unknown content.</font></font></p></dt><dt><p><font face="Arial, sans-serif"><font size="2"><i><b>calccelladdress.m</b></i><br>Utility function needed - for jOpenDocument class.</font></font></p></dt><dt><p><font face="Arial, sans-serif"><font size="2"><i><b>parsecell.m</b></i><br>(contained in Excel - xlsread scripts, but works also for ods support) parse raw data - (cell array) into separate numeric array and text (cell) array.)</font></font></p></dt><dt style="font-style: italic;"><font face="Arial, sans-serif"><font size="2"><b>spsh_chkrange.m</b></font></font></dt><dt style="font-style: italic;"> + <dt><p><font face="Arial, sans-serif"><font size="2"><i><b>ods2oct.m</b></i> + <br>Read raw data from an ODS spreadsheet file using the file pointer handed by odsopen.</font></font></p></dt><dt> + <p><font face="Arial, sans-serif"><font size="2"><i><b>oct2ods.m</b></i> + <br>Write data to an ODS spreadsheet file using the file pointer handed by odsopen.</font></font></p></dt><dt> + <p><font face="Arial, sans-serif"><font size="2"><i><b>odsclose.m</b></i> + <br>Close file handle made by odsopen and -if data have been transfered to a spreadsheet- save + data.</font></font></p></dt><dt> + <p><font face="Arial, sans-serif"><font size="2"><i><b>odsfinfo.m</b></i> + <br>Explore sheet names and optionally estimated data size of ods files with unknown content.</font></font></p></dt><dt> + <p><font face="Arial, sans-serif"><font size="2"><i><b>calccelladdress.m</b></i> + <br>Utility function needed for jOpenDocument class.</font></font></p></dt><dt> + <p><font face="Arial, sans-serif"><font size="2"><i><b>parsecell.m</b></i> + <br>(contained in Excel xlsread scripts, but works also for ods support) parse raw data (cell array) into separate numeric array and text (cell) array.)</font></font></p></dt><dt> + <p><font face="Arial, sans-serif"><font size="2"><i><b>chk_spreadsheet_support.m</b></i> + <br>Internal function for (1) checking, (2) setting up, (3) debugging spreadsheet support. While + not specifically meant for direct invocation from the Octave prompt (it + is more useful during initialization of Octave itself) it can be very + helpful when hunting down issues with spreadsheet support in Octave.</font></font></p></dt> + <dt style="font-style: italic;"><font face="Arial, sans-serif"><font size="2"><b>spsh_chkrange.m</b></font></font></dt><dt style="font-style: italic;"> <font face="Arial, sans-serif"><font size="2"><b>spsh_prstype.m</b></font></font></dt><dt style="font-style: italic;"> <font face="Arial, sans-serif"><font size="2"><b>getusedrange.m</b></font></font></dt><dt style="font-style: italic;"> <font face="Arial, sans-serif"><font size="2"><b>calccelladdress.m</b></font></font></dt><dt style="font-style: italic;"> @@ -85,8 +95,8 @@ <ul> <li><p align="left"> <font face="Arial, sans-serif"><font size="2">(currently the preferred - option) <b>odfdom.jar</b> (<u>only</u> versions <b>0.7.5</b> and - <b>0.8.6</b> work OK!) & <b>xercesImpl.jar</b>. Get them here:</font></font></p></li><li><p align="left"> + option) <b>odfdom.jar</b> (<u>only</u> versions <b>0.7.5</b>, + <b>0.8.6</b>, and <b>0.8.7</b> work OK!) & <b>xercesImpl.jar</b>. Get them here:</font></font></p></li><li><p align="left"> <a href="http://odftoolkit.org/projects/odfdom/downloads/directory/previous-versions%252Freleases"><font face="Arial, sans-serif"><font size="2">http://odftoolkit.org/projects/odfdom/downloads/directory/previous-versions%252Freleases</font></font></a></p></li><li><p align="left" lang="zxx"> <font color="#000080"><font face="Arial, sans-serif"><font size="2"><u>http://odftoolkit.org/projects/odfdom/downloads/directory/current-version</u></font></font></font></p></li><li><p align="left"> <a href="http://xerces.apache.org/mirrors.cgi"><font face="Arial, sans-serif"><font size="2">http://xerces.apache.org/mirrors.cgi</font></font></a></p></li></ul> @@ -314,7 +324,11 @@ hamper progress for a while.</font></font></p></dt><dd></dd></dl> <p align="center"><font face="Arial, sans-serif"><font size="4"><u><b>TROUBLESHOOTING</b></u></font></font></p><dl> <dt><p><font face="Arial, sans-serif"><font size="2">Some hints for - troubleshooting ODS support are given here. </font></font> + troubleshooting ODS support are given here.<br> + Since April 2011 the function chk_spreadsheet_support() has been included in + the io package. Calling it with arguments ('', 3) (empty string and debug level 3) + will echo a lot of diagnostics to the screen. Large parts of the steps + outlined below have been automated in this script.</font></font> </p></dt></dl> <ol> <li><p align="left"><font face="Arial, sans-serif"><font size="2">Check @@ -435,10 +449,12 @@ have implemented support for odfdom-0.8.6.jar \x96 that version is at last sufficiently reliable to use. The few remaining bugs and limitations could easily be worked around by diving in the older - TableTable API.</font></font></dt><dt> + TableTable API. Later on (early 2011) version 0.8.7 has been tested + too - this needed a few adjustments; clearly the odfdom API (currently at main + version 0) is not stable yet.</font></font></dt><dt> <font face="Arial, sans-serif"><font size="2">So at the moment - (January 2011 = last I looked) only odfdom versions <b>0.7.5</b> - and <b>0.8.6</b> are supported. Ihaven't tried the odfdom-0.8.7 snapshot.</font></font></dt><dt> + (April 2011 = last I looked) only odfdom versions <b>0.7.5</b>, + <b>0.8.6</b> and <b>0.8.7</b> are supported.</font></font></dt><dt> <br> </dt><dt><font face="Arial, sans-serif"><font size="2">If you want to experiment with odfdom 0.8 & 0.8.5, you can try:</font></font></dt></dl> @@ -451,7 +467,7 @@ <font face="Arial, sans-serif"><font size="2">oct2ods.m (revision 7159)</font></font></li></ul> <p><font face="Arial, sans-serif"><font size="2">Enjoy!</font></font></p><p align="center"><font face="Arial, sans-serif"><font size="2">Philip - Nienhuis, February 16, 2011</font></font></p><dl><dd><p align="center"> + Nienhuis, April 17, 2011</font></font></p><dl><dd><p align="center"> <br> </p></dd></dl> </body></html> \ No newline at end of file Modified: trunk/octave-forge/main/io/doc/READ-XLS.html =================================================================== --- trunk/octave-forge/main/io/doc/READ-XLS.html 2011-04-17 19:50:49 UTC (rev 8216) +++ trunk/octave-forge/main/io/doc/READ-XLS.html 2011-04-17 20:43:47 UTC (rev 8217) @@ -17,27 +17,33 @@ <p align="center"><font face="Arial, sans-serif"><font size="2">README for Excel spreadsheet file r/w access scripts for octave (> 3.4.0)<br><br>Copyright (C) 2009 - 2011 Philip Nienhuis <prnienhuis -at users.sf.net><br><br>This version February 16, 2011</font></font></p><dl> +at users.sf.net><br><br>This version April 17, 2011</font></font></p><dl> <dt><p><br> </p></dt></dl> <p align="center"><font face="Arial, sans-serif"><font size="4"><u><b>EXCEL .XLS SUPPORT FILES</b></u></font></font></p><dl> <dt><p> - <font face="Arial, sans-serif"><font size="2"><br><b style="font-style: italic;">doc/README-XLS.html</b><br>This file.</font></font><br></p></dt><dt><font face="Arial, sans-serif"><font size="2"></font></font><dt style="font-style: italic;"><font face="Arial, sans-serif"><font size="2"><b>xlsread.m</b></font></font></dt><dt> + <font face="Arial, sans-serif"><font size="2"> + <br><b style="font-style: italic;">doc/README-XLS.html</b><br>This file.</font></font> + <br></p></dt><dt><font face="Arial, sans-serif"><font size="2"></font></font><dt style="font-style: italic;"><font face="Arial, sans-serif"><font size="2"><b>xlsread.m</b></font></font></dt><dt> <font face="Arial, sans-serif"><font size="2">All-in-one function for - writing data from one specific worksheet in an Excel spreadsheet file. - This script has Matlab-compatible functionality. <br><br></font></font></dt><font style="font-style: italic;" face="Arial, sans-serif"><font size="2"><b>xlswrite.m</b></font></font></dt><dt> + reading data from one specific worksheet in an Excel spreadsheet file. + This script has Matlab-compatible functionality. + <br><br></font></font></dt><font style="font-style: italic;" face="Arial, sans-serif"><font size="2"><b>xlswrite.m</b></font></font></dt><dt> <font face="Arial, sans-serif"><font size="2">All-in-one function for writing data to one specific worksheet in an Excel spreadsheet file. - This script has Matlab-compatible functionality. <br><br><b style="font-style: italic;">xlsfinfo.m</b></font></font></dt><dt> + This script has Matlab-compatible functionality. + <br><br><b style="font-style: italic;">xlsfinfo.m</b></font></font></dt><dt> <font face="Arial, sans-serif"><font size="2">All-in-one function for exploring basic properties of an Excel spreadsheet file. This script - has Matlab-compatible functionality.<br><br><b style="font-style: italic;">xlsopen.m</b></font></font></dt><dt> + has Matlab-compatible functionality. + <br><br><b style="font-style: italic;">xlsopen.m</b></font></font></dt><dt> <font face="Arial, sans-serif"><font size="2">Function for "opening" (= providing a handle to) an Excel spreadsheet file ("workbook"). This function sorts out which interface to use for .xls access - (i.e.,COM; Java & Apache POI; JexcelAPI; etc.), but it's choice - can be overridden.<br><br><b style="font-style: italic;">xls2oct.m</b></font></font></dt><dt> + (i.e.,COM; Java & Apache POI; JexcelAPI; OpenXLS; etc.), but it's choice + can be overridden. + <br><br><b style="font-style: italic;">xls2oct.m</b></font></font></dt><dt> <font face="Arial, sans-serif"><font size="2">Function for reading data from a specific worksheet pointed to in a struct created by xlsopen.m. xls2oct can be called multiple times consecutively using @@ -45,23 +51,32 @@ different ranges and/or worksheets. Data are returned in the form of a 2D heterogeneous cell array that can be parsed by parsecell.m. xls2oct is a mere wrapper for interface-dependent scripts that do - the actual low-level reading .<br><br><b style="font-style: italic;">oct2xls.m</b></font></font></dt><dt> + the actual low-level reading. + <br><br><b style="font-style: italic;">oct2xls.m</b></font></font></dt><dt> <font face="Arial, sans-serif"><font size="2">Function for writing data to a specific worksheet pointed to in a struct created by xlsopen.m. octxls can be called multiple times consecutively using the same pointer struct, each time allowing to write data to different ranges and/or worksheets. oct2xls is a mere wrapper for interface-dependent scripts that do the actual low-level - writing.<br><br><b style="font-style: italic;">xlsclose.m</b></font></font></dt><dt> + writing. + <br><br><b style="font-style: italic;">xlsclose.m</b></font></font></dt><dt> <font face="Arial, sans-serif"><font size="2">Function for closing (the handle to) an Excel workbook. When data have been written to the workbook oct2xls will write the workbook to disk. Otherwise, the file pointer is simply closed and possibly used interfaces for Excel access (COM/ActiveX/Excel.exe) will be shut down - properly.<br><br><b style="font-style: italic;">parsecell.m</b></font></font></dt><dt> - <font face="Arial, sans-serif"><font size="2">Function for separating - the data in raw arrays returned by xls2oct, into numerical/logical - and text (cell) arrays.</font></font></dt><dt> + properly. + <br><br><b style="font-style: italic;">parsecell.m</b></font></font></dt><dt> + <font face="Arial, sans-serif"><font size="2">Function for separating + the data in raw arrays returned by xls2oct, into numerical/logical + and text (cell) arrays. + <br><br><b style="font-style: italic;">chk_spreadsheet_support.m</b></font></font></dt><dt> + <font face="Arial, sans-serif"><font size="2">Internal function for + (1) checking, (2) setting up, (3) debugging spreadsheet support. While + not specifically meant for direct invocation from the Octave prompt (it + is more useful during initialization of Octave itself) it can be very + helpful when hunting down issues with spreadsheet support in Octave.</font></font></dt><dt> <br> </dt><dt style="font-style: italic;"><font face="Arial, sans-serif"><font size="2"><b>spsh_chkrange.m</b></font></font></dt><dt style="font-style: italic;"> <font face="Arial, sans-serif"><font size="2"><b>spsh_prstype.m</b></font></font></dt><dt style="font-style: italic;"> @@ -120,6 +135,14 @@ <font face="Arial, sans-serif"><font size="2">Get it here: <a href="http://sourceforge.net/projects/jexcelapi/files/">http://sourceforge.net/projects/jexcelapi/files/</a></font></font></li></ul> <dl> + <dt><font face="Arial, sans-serif"><font size="2">OpenXLS specific:</font></font></dt></dl> +<ul> + <li> + <font face="Arial, sans-serif"><font size="2">class .jar: <b>jxl.jar</b> + in classpath</font></font></li><li> + <font face="Arial, sans-serif"><font size="2">Get it here: + <a href="http://sourceforge.net/projects/openxls/">http://sourceforge.net/projects/openxls/</a></font></font></li></ul> +<dl> <dt><font face="Arial, sans-serif"><font size="2">Hint: simply put the relevant javaaddpath statements in the .octaverc file.</font></font></dt></dl> <p align="center"><font face="Arial, sans-serif"><font size="2"><br><font size="4"><u><b>USAGE</b></u></font></font></font></p><dl> @@ -304,11 +327,12 @@ (through COM / ActiveX on Windows systems) is probably the most robust and versatile and especially FAST option. There's one gotcha: in case of some type of COM errors Excel will keep running - invisibly; you can only end it through Task Manager.<br>A tiny - problem is that one cannot find out easily through COM what file - types are supported; xls, wks, wk1, xlsx, etc.<br>Another -obvious- - limitation is that COM Excel access only works on Windows systems - where Excel is installed.<br><br>JExcelAPI (Java-based and therefore + invisibly; you can only end it through Task Manager. + <br>A tiny problem is that one cannot find out easily through COM what file + types are supported; xls, wks, wk1, xlsx, etc. + <br>Another -obvious- limitation is that COM Excel access only works on Windows systems + where Excel is installed. + <br><br>JExcelAPI (Java-based and therefore platform-independent) is proven technology but switching between reading and writing is quite involved and memory-hungry when processing large spreadsheets. As the docs state, JExcelAPI is @@ -331,7 +355,8 @@ relies on cached results (i.e. results computed by Excel itself). Depending on Excel settings (\x93Automatic calculation\x94 ON or OFF) this may or may not yield incorrect (or expected) - results.<br><br>Apache POI (Java-based and platform-independent too) + results. + <br><br>Apache POI (Java-based and platform-independent too) is based on the OpenOffice.org I/O Excel r/w routines. It is a more versatile than JExcelAPI, while it doesn't support BIFF5 it does support BIFF8 (Excel 97 \x96 2003) and OOXML (Excel 2007).</font></font></dt><dt> @@ -341,9 +366,15 @@ have been implemented. I've made the relevant subfunction (xls2jpoi2oct) fall back to cached formula results (and yield a suitable warning) for non-implemented Excel functions while reading - Excel files.<br><br>All in all, of the two Java options I'd prefer - Apache POI rather than JexcelAPI. But the latter is indispensable - for BIFF5 formats.</font></font></dt><dt> + Excel files. + <br><br>OpenXLS (an open source version of Extentech's commercial + Java-xls product) is still experimental. It seems to work faster than + JExcelAPI, but it has other issues - i.e., it locks the .xls file and + the unlocking mechanism is a bit wonky. Sometimes xls files keep being + locked until Octave is shut down. + <br><br>All in all, of the three Java options I'd prefer + Apache POI rather than OpenXLS or JexcelAPI. But the latter is + indispensable for BIFF5 formats.</font></font></dt><dt> <br> </dt><dt><font face="Arial, sans-serif"><font size="2">Some notes on the choice for Java:</font></font></dt></dl> @@ -407,7 +438,11 @@ <dt><p><font face="Arial, sans-serif"><font size="2">Some hints for troubleshooting Excel support are contained in this thread:</font></font></p></dt><dt><p><a href="http://sourceforge.net/mailarchive/forum.php?thread_name=4C61B649.9090802%40hccnet.nl&forum_name=octave-dev"><font face="Arial, sans-serif"><font size="2">http://sourceforge.net/mailarchive/forum.php?thread_name=4C61B649.9090802%40hccnet.nl&forum_name=octave-dev</font></font></a></p></dt><dt><p><font face="Arial, sans-serif"><font size="2">dated August 10, 2010.</font></font></p></dt><dt><p><font face="Arial, sans-serif"><font size="2">A more structured - approach is below:</font></font></p></dt></dl> + approach is below.<br><br> + Since April 2011 a special purpose setup file has been included in the io package + (chk_spreadsheet_support.m). Large parts of the approach below (starting at Step 2) have been automated in this script. + When running it with the second input argument (debug level) set to 3 + a lot of useful diagnostic output will be printed to screen.</font></font></p></dt></dl> <ol> <li><p align="left"><font face="Arial, sans-serif"><font size="2">Check if COM / ActiveXworks (only under Windows OS). Do a </font></font><font face="Courier New, monospace"><font size="2">pkg @@ -525,5 +560,5 @@ function handle" in xlsread.</font></font></li></ul> <font face="Arial, sans-serif"><font size="2">Enjoy!</font></font><dl> <dd><p align="center"><font face="Arial, sans-serif"><font size="2">Philip - Nienhuis, February 16, 2011</font></font></p></dd><dt></dt></dl> + Nienhuis, April 17, 2011</font></font></p></dd><dt></dt></dl> </body></html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |