<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>FreeXL: headers/freexl.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.7.4 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">FreeXL <span id="projectnumber">1.0.0a</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">headers/freexl.h File Reference</div> </div> </div> <div class="contents"> <p>Function declarations and constants for FreeXL library. <a href="#details">More...</a></p> <p><a href="freexl_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structFreeXL__CellValue__str.html">FreeXL_CellValue_str</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Container for a cell value. <a href="structFreeXL__CellValue__str.html#details">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1dc568df975757f9758273e459bf75aa"></a><!-- doxytag: member="freexl.h::FREEXL_UNKNOWN" ref="a1dc568df975757f9758273e459bf75aa" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a1dc568df975757f9758273e459bf75aa">FREEXL_UNKNOWN</a>   0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">query is not applicable, or information is not available <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac98dd3dac4d22c700f17d4a9b439e365"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_VER_3" ref="ac98dd3dac4d22c700f17d4a9b439e365" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ac98dd3dac4d22c700f17d4a9b439e365">FREEXL_CFBF_VER_3</a>   3</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">CFBF file is version 3. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2dad7130ff02874faf5fe471c4a574f0"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_VER_4" ref="a2dad7130ff02874faf5fe471c4a574f0" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a2dad7130ff02874faf5fe471c4a574f0">FREEXL_CFBF_VER_4</a>   4</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">CFBF file is version 4. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9b06dbc441e1b934a98accb5fa5556f"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_SECTOR_512" ref="ac9b06dbc441e1b934a98accb5fa5556f" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ac9b06dbc441e1b934a98accb5fa5556f">FREEXL_CFBF_SECTOR_512</a>   512</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">CFBF file uses 512 byte sectors. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae71c9b6692fe2226818a91a718b0e460"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_SECTOR_4096" ref="ae71c9b6692fe2226818a91a718b0e460" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ae71c9b6692fe2226818a91a718b0e460">FREEXL_CFBF_SECTOR_4096</a>   4096</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">CFBF file uses 4096 (4K) sectors. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0aa21271ecd58c82fab2eb93a3e4e778"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_VER_2" ref="a0aa21271ecd58c82fab2eb93a3e4e778" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a0aa21271ecd58c82fab2eb93a3e4e778">FREEXL_BIFF_VER_2</a>   2</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file is version 2. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8ee55543be7efcb0a08e942bb9c63ad"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_VER_3" ref="af8ee55543be7efcb0a08e942bb9c63ad" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#af8ee55543be7efcb0a08e942bb9c63ad">FREEXL_BIFF_VER_3</a>   3</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file is version 3. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7fd3298f9126def31be4354faa22ef3"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_VER_4" ref="aa7fd3298f9126def31be4354faa22ef3" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aa7fd3298f9126def31be4354faa22ef3">FREEXL_BIFF_VER_4</a>   4</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file is version 4. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4f45932bd3d8676301376a9cbd4d3b3"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_VER_5" ref="af4f45932bd3d8676301376a9cbd4d3b3" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#af4f45932bd3d8676301376a9cbd4d3b3">FREEXL_BIFF_VER_5</a>   5</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file is version 5. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a286de9c485064a4bc8aa7ad7e1f790d5"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_VER_8" ref="a286de9c485064a4bc8aa7ad7e1f790d5" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a286de9c485064a4bc8aa7ad7e1f790d5">FREEXL_BIFF_VER_8</a>   8</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file is version 9. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80ce4e2bcac32935b4a83ccd38203bb9"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_MAX_RECSZ_2080" ref="a80ce4e2bcac32935b4a83ccd38203bb9" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a80ce4e2bcac32935b4a83ccd38203bb9">FREEXL_BIFF_MAX_RECSZ_2080</a>   2080</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum BIFF record size is 2080 bytes. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d5c17f39dbff003103cedba2d2ef7fe"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_MAX_RECSZ_8224" ref="a5d5c17f39dbff003103cedba2d2ef7fe" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a5d5c17f39dbff003103cedba2d2ef7fe">FREEXL_BIFF_MAX_RECSZ_8224</a>   8224</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum BIFF record size is 8224 bytes. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07ff7705b9d3392e07248bbd8db09c29"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_DATEMODE_1900" ref="a07ff7705b9d3392e07248bbd8db09c29" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a07ff7705b9d3392e07248bbd8db09c29">FREEXL_BIFF_DATEMODE_1900</a>   1900</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF date mode starts at 1 Jan 1900. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a866e98cd2303b5ace991c86354a2c438"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_DATEMODE_1904" ref="a866e98cd2303b5ace991c86354a2c438" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a866e98cd2303b5ace991c86354a2c438">FREEXL_BIFF_DATEMODE_1904</a>   1904</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF date mode starts at 2 Jan 1904. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a60c1c15710566dc4f7aff403fdd008"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_OBFUSCATED" ref="a6a60c1c15710566dc4f7aff403fdd008" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a6a60c1c15710566dc4f7aff403fdd008">FREEXL_BIFF_OBFUSCATED</a>   3003</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file is password protected. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41d9788be3004120b9ec25add6481639"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_PLAIN" ref="a41d9788be3004120b9ec25add6481639" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a41d9788be3004120b9ec25add6481639">FREEXL_BIFF_PLAIN</a>   3004</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file is not password protected. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a522b2c2b720061eae56041d19d53eaa4"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_ASCII" ref="a522b2c2b720061eae56041d19d53eaa4" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a522b2c2b720061eae56041d19d53eaa4">FREEXL_BIFF_ASCII</a>   0x016F</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses plain ASCII encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ed79915f93aa073f675fffe56ee944"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP437" ref="a69ed79915f93aa073f675fffe56ee944" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a69ed79915f93aa073f675fffe56ee944">FREEXL_BIFF_CP437</a>   0x01B5</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP437 (OEM US format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a4ad38d830e7cd33964496543d8b9c"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP720" ref="a13a4ad38d830e7cd33964496543d8b9c" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a13a4ad38d830e7cd33964496543d8b9c">FREEXL_BIFF_CP720</a>   0x02D0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP720 (Arabic DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca6cf8115f23ad43ab4c5d9a00d0acb0"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP737" ref="aca6cf8115f23ad43ab4c5d9a00d0acb0" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aca6cf8115f23ad43ab4c5d9a00d0acb0">FREEXL_BIFF_CP737</a>   0x02E1</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP737 (Greek DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7546f56ced5c3d7fae1cb5177548a6f"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP775" ref="ac7546f56ced5c3d7fae1cb5177548a6f" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ac7546f56ced5c3d7fae1cb5177548a6f">FREEXL_BIFF_CP775</a>   0x0307</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP775 (Baltic DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b7cbed2d22edd601bc9f1054561b403"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP850" ref="a4b7cbed2d22edd601bc9f1054561b403" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a4b7cbed2d22edd601bc9f1054561b403">FREEXL_BIFF_CP850</a>   0x0352</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP850 (Western Europe DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65e5f67ab62d4506204c74e44c33c96c"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP852" ref="a65e5f67ab62d4506204c74e44c33c96c" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a65e5f67ab62d4506204c74e44c33c96c">FREEXL_BIFF_CP852</a>   0x0354</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP852 (Central Europe DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a637582d5503ec6a5f565cab50c09885d"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP855" ref="a637582d5503ec6a5f565cab50c09885d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a637582d5503ec6a5f565cab50c09885d">FREEXL_BIFF_CP855</a>   0x0357</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP855 (OEM Cyrillic format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8939d66b49924f7487d874a88a5a464"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP857" ref="ab8939d66b49924f7487d874a88a5a464" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ab8939d66b49924f7487d874a88a5a464">FREEXL_BIFF_CP857</a>   0x0359</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP857 (Turkish DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5999c031300a248b1a0a8fe88b0c4d4a"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP858" ref="a5999c031300a248b1a0a8fe88b0c4d4a" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a5999c031300a248b1a0a8fe88b0c4d4a">FREEXL_BIFF_CP858</a>   0x035A</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP858 (OEM Multiligual Latin 1 format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7fd86b52bd93ca93c36bfeeec667732"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP860" ref="ad7fd86b52bd93ca93c36bfeeec667732" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ad7fd86b52bd93ca93c36bfeeec667732">FREEXL_BIFF_CP860</a>   0x035C</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP860 (Portuguese DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8020132a25eef7bf48fa35d14ae6070"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP861" ref="ae8020132a25eef7bf48fa35d14ae6070" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ae8020132a25eef7bf48fa35d14ae6070">FREEXL_BIFF_CP861</a>   0x035D</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP861 (Icelandic DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b0b5b567cf7bec35328a34ef9f20d04"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP862" ref="a7b0b5b567cf7bec35328a34ef9f20d04" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a7b0b5b567cf7bec35328a34ef9f20d04">FREEXL_BIFF_CP862</a>   0x035E</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP862 (Hebrew DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86624759a18858413006f619f3528caa"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP863" ref="a86624759a18858413006f619f3528caa" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a86624759a18858413006f619f3528caa">FREEXL_BIFF_CP863</a>   0x035F</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP863 (French Canadian DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b86c93b9334dc89a9b5dd8557bd6622"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP864" ref="a9b86c93b9334dc89a9b5dd8557bd6622" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a9b86c93b9334dc89a9b5dd8557bd6622">FREEXL_BIFF_CP864</a>   0x0360</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP864 (Arabic DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a209e6510e6147694ae9be6af5b22666a"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP865" ref="a209e6510e6147694ae9be6af5b22666a" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a209e6510e6147694ae9be6af5b22666a">FREEXL_BIFF_CP865</a>   0x0361</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP865 (Nordic DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1cc954a11d62133c099162f278a55e0"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP866" ref="ab1cc954a11d62133c099162f278a55e0" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ab1cc954a11d62133c099162f278a55e0">FREEXL_BIFF_CP866</a>   0x0362</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP866 (Cyrillic DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab723be1b62102df77f4cf729b1d2a8df"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP869" ref="ab723be1b62102df77f4cf729b1d2a8df" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ab723be1b62102df77f4cf729b1d2a8df">FREEXL_BIFF_CP869</a>   0x0365</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP869 (Modern Greek DOS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e75c09334148dfece8ee2145acb22ca"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP874" ref="a0e75c09334148dfece8ee2145acb22ca" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a0e75c09334148dfece8ee2145acb22ca">FREEXL_BIFF_CP874</a>   0x036A</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP874 (Thai Windows format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e9c853af18e76fa6eb3082dcb07d47d"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP932" ref="a8e9c853af18e76fa6eb3082dcb07d47d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a8e9c853af18e76fa6eb3082dcb07d47d">FREEXL_BIFF_CP932</a>   0x03A4</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP932 (Shift JIS format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30e7bf84fe0fcacfffe9ae18955c1113"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP936" ref="a30e7bf84fe0fcacfffe9ae18955c1113" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a30e7bf84fe0fcacfffe9ae18955c1113">FREEXL_BIFF_CP936</a>   0x03A8</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP936 (Simplified Chinese GB2312 format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61b2bacda25a7c78a4aa47ab254d5654"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP949" ref="a61b2bacda25a7c78a4aa47ab254d5654" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a61b2bacda25a7c78a4aa47ab254d5654">FREEXL_BIFF_CP949</a>   0x03B5</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP949 (Korean) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd63f77d55ed9b4908488ca5eb86660b"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP950" ref="acd63f77d55ed9b4908488ca5eb86660b" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#acd63f77d55ed9b4908488ca5eb86660b">FREEXL_BIFF_CP950</a>   0x03B6</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP950 (Traditional Chinese Big5 format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec63c1a736f3ee679fc7f56e4cfb4039"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_UTF16LE" ref="aec63c1a736f3ee679fc7f56e4cfb4039" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aec63c1a736f3ee679fc7f56e4cfb4039">FREEXL_BIFF_UTF16LE</a>   0x04B0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses Unicode (UTF-16LE format) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21f7ca4d9205741ece6a51b4a0e4e9f5"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1250" ref="a21f7ca4d9205741ece6a51b4a0e4e9f5" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a21f7ca4d9205741ece6a51b4a0e4e9f5">FREEXL_BIFF_CP1250</a>   0x04E2</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1250 (Central Europe Windows) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a691f98294537ce35275f31dc058f8dc3"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1251" ref="a691f98294537ce35275f31dc058f8dc3" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a691f98294537ce35275f31dc058f8dc3">FREEXL_BIFF_CP1251</a>   0x04E3</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1251 (Cyrillic Windows) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c28710b9242570cc5093b5bca5b4b37"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1252" ref="a3c28710b9242570cc5093b5bca5b4b37" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a3c28710b9242570cc5093b5bca5b4b37">FREEXL_BIFF_CP1252</a>   0x04E4</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1252 (Windows Latin 1) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5167946014a92bc6c802f4177f195614"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1253" ref="a5167946014a92bc6c802f4177f195614" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a5167946014a92bc6c802f4177f195614">FREEXL_BIFF_CP1253</a>   0x04E5</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1252 (Windows Greek) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a456109ad4f4bb44534e2fd7dc24e906d"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1254" ref="a456109ad4f4bb44534e2fd7dc24e906d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a456109ad4f4bb44534e2fd7dc24e906d">FREEXL_BIFF_CP1254</a>   0x04E6</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1254 (Windows Turkish) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53b30bceb58c876a461f1bf7c72e6e36"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1255" ref="a53b30bceb58c876a461f1bf7c72e6e36" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a53b30bceb58c876a461f1bf7c72e6e36">FREEXL_BIFF_CP1255</a>   0x04E7</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1255 (Windows Hebrew) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86ac6376816c786cb683e7918b645a3a"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1256" ref="a86ac6376816c786cb683e7918b645a3a" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a86ac6376816c786cb683e7918b645a3a">FREEXL_BIFF_CP1256</a>   0x04E8</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1256 (Windows Arabic) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02287574f2ae02928b0c8bbd09d1a356"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1257" ref="a02287574f2ae02928b0c8bbd09d1a356" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a02287574f2ae02928b0c8bbd09d1a356">FREEXL_BIFF_CP1257</a>   0x04E9</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1257 (Windows Baltic) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62327e99b4fa7cffd3bfe815b4b4bb4e"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1258" ref="a62327e99b4fa7cffd3bfe815b4b4bb4e" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a62327e99b4fa7cffd3bfe815b4b4bb4e">FREEXL_BIFF_CP1258</a>   0x04EA</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1258 (Windows Vietnamese) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a9baf49b0beae695edddab0833b301b"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CP1361" ref="a7a9baf49b0beae695edddab0833b301b" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a7a9baf49b0beae695edddab0833b301b">FREEXL_BIFF_CP1361</a>   0x0551</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses CP1361 (Korean Johab) encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33dedb29031d75f4a6f049ccfea4c13d"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_MACROMAN" ref="a33dedb29031d75f4a6f049ccfea4c13d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a33dedb29031d75f4a6f049ccfea4c13d">FREEXL_BIFF_MACROMAN</a>   0x2710</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF file uses Mac Roman encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad085ed9c20bfc0ed4006c45588e13fc0"></a><!-- doxytag: member="freexl.h::FREEXL_CELL_NULL" ref="ad085ed9c20bfc0ed4006c45588e13fc0" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ad085ed9c20bfc0ed4006c45588e13fc0">FREEXL_CELL_NULL</a>   101</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cell has no value (empty cell) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a2260897b305108f008c924a7e56778"></a><!-- doxytag: member="freexl.h::FREEXL_CELL_INT" ref="a1a2260897b305108f008c924a7e56778" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a1a2260897b305108f008c924a7e56778">FREEXL_CELL_INT</a>   102</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cell contains an integer value. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f2f46b7b391b8b1ff19cef17dd5f4ef"></a><!-- doxytag: member="freexl.h::FREEXL_CELL_DOUBLE" ref="a7f2f46b7b391b8b1ff19cef17dd5f4ef" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a7f2f46b7b391b8b1ff19cef17dd5f4ef">FREEXL_CELL_DOUBLE</a>   103</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cell contains a floating point number. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab928649db9c51b12efbbf71b248ef1fe"></a><!-- doxytag: member="freexl.h::FREEXL_CELL_TEXT" ref="ab928649db9c51b12efbbf71b248ef1fe" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ab928649db9c51b12efbbf71b248ef1fe">FREEXL_CELL_TEXT</a>   104</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cell contains a text value. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a357ed1fac1a7e38ac7bf712f178d1ec3"></a><!-- doxytag: member="freexl.h::FREEXL_CELL_SST_TEXT" ref="a357ed1fac1a7e38ac7bf712f178d1ec3" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a357ed1fac1a7e38ac7bf712f178d1ec3">FREEXL_CELL_SST_TEXT</a>   105</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cell contains a reference to a Single String Table entry (BIFF8) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacf5c5f5606df0b5ee875ec9702819c9"></a><!-- doxytag: member="freexl.h::FREEXL_CELL_DATE" ref="aacf5c5f5606df0b5ee875ec9702819c9" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aacf5c5f5606df0b5ee875ec9702819c9">FREEXL_CELL_DATE</a>   106</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cell contains a number intended to represent a date. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae51f78f0944809077b4e706044d2f7a7"></a><!-- doxytag: member="freexl.h::FREEXL_CELL_DATETIME" ref="ae51f78f0944809077b4e706044d2f7a7" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ae51f78f0944809077b4e706044d2f7a7">FREEXL_CELL_DATETIME</a>   107</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cell contains a number intended to represent a date and time. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb41208799b5a3ffb42713f58b387577"></a><!-- doxytag: member="freexl.h::FREEXL_CELL_TIME" ref="abb41208799b5a3ffb42713f58b387577" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#abb41208799b5a3ffb42713f58b387577">FREEXL_CELL_TIME</a>   108</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cell contains a number intended to represent a time. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb27c5f0cb5501bb757a590cf9838330"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_VERSION" ref="aeb27c5f0cb5501bb757a590cf9838330" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aeb27c5f0cb5501bb757a590cf9838330">FREEXL_CFBF_VERSION</a>   32001</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for CFBF version. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72b98cfe264690cba00d01cd0c3e5806"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_SECTOR_SIZE" ref="a72b98cfe264690cba00d01cd0c3e5806" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a72b98cfe264690cba00d01cd0c3e5806">FREEXL_CFBF_SECTOR_SIZE</a>   32002</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for CFBF sector size. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fddf7ac8a59851091886e73f5a7579c"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_FAT_COUNT" ref="a2fddf7ac8a59851091886e73f5a7579c" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a2fddf7ac8a59851091886e73f5a7579c">FREEXL_CFBF_FAT_COUNT</a>   32003</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for CFBF FAT entry count. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a420a84d21b16eb3846802a127a43c42d"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_VERSION" ref="a420a84d21b16eb3846802a127a43c42d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a420a84d21b16eb3846802a127a43c42d">FREEXL_BIFF_VERSION</a>   32005</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF version. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46c9d6d08e13a91f90978032f1e6059c"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_MAX_RECSIZE" ref="a46c9d6d08e13a91f90978032f1e6059c" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a46c9d6d08e13a91f90978032f1e6059c">FREEXL_BIFF_MAX_RECSIZE</a>   32006</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF maximum record size. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af75780148dd3de23a7d8f9735f327151"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_DATEMODE" ref="af75780148dd3de23a7d8f9735f327151" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#af75780148dd3de23a7d8f9735f327151">FREEXL_BIFF_DATEMODE</a>   32007</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF date mode. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67663a93d47aea78e01e9aa3ee95a7ff"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_PASSWORD" ref="a67663a93d47aea78e01e9aa3ee95a7ff" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a67663a93d47aea78e01e9aa3ee95a7ff">FREEXL_BIFF_PASSWORD</a>   32008</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF password protection state. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a107460fac458e94b38fef2dfefb0eb6b"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_CODEPAGE" ref="a107460fac458e94b38fef2dfefb0eb6b" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a107460fac458e94b38fef2dfefb0eb6b">FREEXL_BIFF_CODEPAGE</a>   32009</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF character encoding. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9586e48f1cd5f906fd6ee9a2295dbda6"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_SHEET_COUNT" ref="a9586e48f1cd5f906fd6ee9a2295dbda6" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a9586e48f1cd5f906fd6ee9a2295dbda6">FREEXL_BIFF_SHEET_COUNT</a>   32010</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF sheet count. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada166791eacffe082ec8db6b8ab30ee9"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_STRING_COUNT" ref="ada166791eacffe082ec8db6b8ab30ee9" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ada166791eacffe082ec8db6b8ab30ee9">FREEXL_BIFF_STRING_COUNT</a>   32011</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF Single String Table entry count (BIFF8) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ab3c540cf7cfd1400324dde1e1a490b"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_FORMAT_COUNT" ref="a7ab3c540cf7cfd1400324dde1e1a490b" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a7ab3c540cf7cfd1400324dde1e1a490b">FREEXL_BIFF_FORMAT_COUNT</a>   32012</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF format count. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff903b41ee45db759535fbe1e933e9ae"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_XF_COUNT" ref="aff903b41ee45db759535fbe1e933e9ae" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aff903b41ee45db759535fbe1e933e9ae">FREEXL_BIFF_XF_COUNT</a>   32013</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Information query for BIFF extended format count. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefcbd53004ebb5ce8f727c3d4f3ce43e"></a><!-- doxytag: member="freexl.h::FREEXL_OK" ref="aefcbd53004ebb5ce8f727c3d4f3ce43e" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aefcbd53004ebb5ce8f727c3d4f3ce43e">FREEXL_OK</a>   0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">No error, success. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fd0f937bf5739df5d82b72d45e11a9a"></a><!-- doxytag: member="freexl.h::FREEXL_FILE_NOT_FOUND" ref="a3fd0f937bf5739df5d82b72d45e11a9a" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a3fd0f937bf5739df5d82b72d45e11a9a">FREEXL_FILE_NOT_FOUND</a>   -1</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">.xls file does not exist or is not accessible for reading <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7033df2e121fbe6360450857c9af36db"></a><!-- doxytag: member="freexl.h::FREEXL_NULL_HANDLE" ref="a7033df2e121fbe6360450857c9af36db" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a7033df2e121fbe6360450857c9af36db">FREEXL_NULL_HANDLE</a>   -2</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Null xls_handle argument. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa3836c295a53543367d8ee2702277fa"></a><!-- doxytag: member="freexl.h::FREEXL_INVALID_HANDLE" ref="aaa3836c295a53543367d8ee2702277fa" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aaa3836c295a53543367d8ee2702277fa">FREEXL_INVALID_HANDLE</a>   -3</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Invalid xls_handle argument. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a905652c044cce2d175f8c605cbeb43e1"></a><!-- doxytag: member="freexl.h::FREEXL_INSUFFICIENT_MEMORY" ref="a905652c044cce2d175f8c605cbeb43e1" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a905652c044cce2d175f8c605cbeb43e1">FREEXL_INSUFFICIENT_MEMORY</a>   -4</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">some kind of memory allocation failure <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adda425b14182e7846a5c42b1dfd03b50"></a><!-- doxytag: member="freexl.h::FREEXL_NULL_ARGUMENT" ref="adda425b14182e7846a5c42b1dfd03b50" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#adda425b14182e7846a5c42b1dfd03b50">FREEXL_NULL_ARGUMENT</a>   -5</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">an unexpected null argument <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2725a6883532f79a716e812970d059fd"></a><!-- doxytag: member="freexl.h::FREEXL_INVALID_INFO_ARG" ref="a2725a6883532f79a716e812970d059fd" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a2725a6883532f79a716e812970d059fd">FREEXL_INVALID_INFO_ARG</a>   -6</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">invalid "what" parameter <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4b9d5026f55e9ec5c4a3c2346de559d"></a><!-- doxytag: member="freexl.h::FREEXL_INVALID_CFBF_HEADER" ref="aa4b9d5026f55e9ec5c4a3c2346de559d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aa4b9d5026f55e9ec5c4a3c2346de559d">FREEXL_INVALID_CFBF_HEADER</a>   -7</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the .xls file does not contain a valid CFBF header <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a8e68df771c16189fba87f05591ad4a72">FREEXL_CFBF_READ_ERROR</a>   -8</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read error. <a href="#a8e68df771c16189fba87f05591ad4a72"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a9414828d109516c590515745bfcbd82c">FREEXL_CFBF_SEEK_ERROR</a>   -9</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Seek error. <a href="#a9414828d109516c590515745bfcbd82c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d824f7b832b0fbe2cf9f85f6ad51a74"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_INVALID_SIGNATURE" ref="a6d824f7b832b0fbe2cf9f85f6ad51a74" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a6d824f7b832b0fbe2cf9f85f6ad51a74">FREEXL_CFBF_INVALID_SIGNATURE</a>   -10</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The .xls file does contain a CFBF header, but the header is broken or corrupted in some way. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab995052ff2a7715eb3a7e6ce3a57c4e6"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_INVALID_SECTOR_SIZE" ref="ab995052ff2a7715eb3a7e6ce3a57c4e6" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ab995052ff2a7715eb3a7e6ce3a57c4e6">FREEXL_CFBF_INVALID_SECTOR_SIZE</a>   -11</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The .xls file does contain a CFBF header, but the header is broken or corrupted in some way. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fbc51147748057332a381b6a603a2bc"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_EMPTY_FAT_CHAIN" ref="a1fbc51147748057332a381b6a603a2bc" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a1fbc51147748057332a381b6a603a2bc">FREEXL_CFBF_EMPTY_FAT_CHAIN</a>   -12</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The .xls file does contain a CFBF header, but the header is broken or corrupted in some way. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe0e0bb6aec5f1fd9888b3033b496399"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_ILLEGAL_FAT_ENTRY" ref="abe0e0bb6aec5f1fd9888b3033b496399" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#abe0e0bb6aec5f1fd9888b3033b496399">FREEXL_CFBF_ILLEGAL_FAT_ENTRY</a>   -13</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The file contains an invalid File Allocation Table record. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac146d166d5b16b430228f46e28f4d4b5"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_INVALID_BOF" ref="ac146d166d5b16b430228f46e28f4d4b5" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ac146d166d5b16b430228f46e28f4d4b5">FREEXL_BIFF_INVALID_BOF</a>   -14</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The file contains an invalid BIFF format entry. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1b0d06625e9d1f70bd053cb887b6797"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_INVALID_SST" ref="af1b0d06625e9d1f70bd053cb887b6797" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#af1b0d06625e9d1f70bd053cb887b6797">FREEXL_BIFF_INVALID_SST</a>   -15</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The file contains an invalid Single String Table. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aedf1ea66d487734c45cdcbf7760516d2"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_ILLEGAL_SST_INDEX" ref="aedf1ea66d487734c45cdcbf7760516d2" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aedf1ea66d487734c45cdcbf7760516d2">FREEXL_BIFF_ILLEGAL_SST_INDEX</a>   -16</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The requested Single String Table entry is not available. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17c192fb18b59c0a35ac7724f5a5ba6d"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_WORKBOOK_NOT_FOUND" ref="a17c192fb18b59c0a35ac7724f5a5ba6d" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a17c192fb18b59c0a35ac7724f5a5ba6d">FREEXL_BIFF_WORKBOOK_NOT_FOUND</a>   -17</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">BIFF does not contain a valid workbook. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15509870921bf31bc38fd35992da6612"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_ILLEGAL_SHEET_INDEX" ref="a15509870921bf31bc38fd35992da6612" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a15509870921bf31bc38fd35992da6612">FREEXL_BIFF_ILLEGAL_SHEET_INDEX</a>   -18</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The requested worksheet is not available in the workbook. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a04f3d4275029b43c1a7080f3da1fc891">FREEXL_BIFF_UNSELECTED_SHEET</a>   -19</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">There is no currently active worksheet. <a href="#a04f3d4275029b43c1a7080f3da1fc891"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad42d6614b8f3aca791c972fa595680a6"></a><!-- doxytag: member="freexl.h::FREEXL_INVALID_CHARACTER" ref="ad42d6614b8f3aca791c972fa595680a6" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ad42d6614b8f3aca791c972fa595680a6">FREEXL_INVALID_CHARACTER</a>   -20</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Charset conversion detected an illegal character (not within the declared charset) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#afda0ce0dfcd93c4ebc02247bf4812710">FREEXL_UNSUPPORTED_CHARSET</a>   -21</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The requested charset conversion is not available. <a href="#afda0ce0dfcd93c4ebc02247bf4812710"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5e9d32033cb8f69646374ca2ab5f1c2"></a><!-- doxytag: member="freexl.h::FREEXL_ILLEGAL_CELL_ROW_COL" ref="ad5e9d32033cb8f69646374ca2ab5f1c2" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ad5e9d32033cb8f69646374ca2ab5f1c2">FREEXL_ILLEGAL_CELL_ROW_COL</a>   -22</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The requested cell is outside the valid range for the sheet. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a501cee2af591fbb1c2ef6822a1550ed9">FREEXL_ILLEGAL_RK_VALUE</a>   -23</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Conversion of the RK value failed. <a href="#a501cee2af591fbb1c2ef6822a1550ed9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ae5d46f2e2719dfcd124365a940025b97">FREEXL_ILLEGAL_MULRK_VALUE</a>   -23</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Conversion of the MULRK value failed. <a href="#ae5d46f2e2719dfcd124365a940025b97"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a45f269d5e7d74c6f8cb15977b8168cea">FREEXL_INVALID_MINI_STREAM</a>   -24</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The MiniFAT stream is invalid. <a href="#a45f269d5e7d74c6f8cb15977b8168cea"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a7e0c348fc25a26016f7d47ff940e17d2">FREEXL_CFBF_ILLEGAL_MINI_FAT_ENTRY</a>   -25</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The MiniFAT stream contains an invalid entry. <a href="#a7e0c348fc25a26016f7d47ff940e17d2"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structFreeXL__CellValue__str.html">FreeXL_CellValue_str</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ad4c8972decafeabb9c7ce938644e2145">FreeXL_CellValue</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Typedef for cell value structure. <a href="#ad4c8972decafeabb9c7ce938644e2145"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4">freexl_open</a> (const char *path, const void **xls_handle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Open the .xls file, preparing for future functions. <a href="#acbd27ba5bc7b21d4ae32c0542d51f1e4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#abc44950b4d49580fa632d8c591612530">freexl_open_info</a> (const char *path, const void **xls_handle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Open the .xls file for metadata query only. <a href="#abc44950b4d49580fa632d8c591612530"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a6122b2adf513c42a8ad5aa0e083a82bb">freexl_close</a> (const void *xls_handle)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Close the .xls file and releasing any allocated resource. <a href="#a6122b2adf513c42a8ad5aa0e083a82bb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ad6dbe072c7a4632853d90f4509bf3aee">freexl_get_info</a> (const void *xls_handle, unsigned short what, unsigned int *info)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Query general information about the Workbook and Worksheets. <a href="#ad6dbe072c7a4632853d90f4509bf3aee"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#abba0c9d47eaba2ca2b8a093b03638219">freexl_get_worksheet_name</a> (const void *xls_handle, unsigned short sheet_index, const char **string)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Query worksheet name. <a href="#abba0c9d47eaba2ca2b8a093b03638219"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a248e690e125ee15eddacb25aa72b07a3">freexl_select_active_worksheet</a> (const void *xls_handle, unsigned short sheet_index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the currently active worksheets. <a href="#a248e690e125ee15eddacb25aa72b07a3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ae6683eb98a9d01c745db397878d9933a">freexl_get_active_worksheet</a> (const void *xls_handle, unsigned short *sheet_index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Query the currently active worksheet index. <a href="#ae6683eb98a9d01c745db397878d9933a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#ace1d7e39a8874a9300821c22e5bb9643">freexl_worksheet_dimensions</a> (const void *xls_handle, unsigned int *rows, unsigned short *columns)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Query worksheet dimensions. <a href="#ace1d7e39a8874a9300821c22e5bb9643"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#af63ae08d341f25957601b7adc4fbeb33">freexl_get_SST_string</a> (const void *xls_handle, unsigned short string_index, const char **string)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieve string entries from SST. <a href="#af63ae08d341f25957601b7adc4fbeb33"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#a9b68b6e59ee6ca4d3303f812dbefe679">freexl_get_FAT_entry</a> (const void *xls_handle, unsigned int sector_index, unsigned int *next_sector_index)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieve FAT entries from FAT chain. <a href="#a9b68b6e59ee6ca4d3303f812dbefe679"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FREEXL_DECLARE int </td><td class="memItemRight" valign="bottom"><a class="el" href="freexl_8h.html#aef8dc850a668e82b9aa2efde78cc427a">freexl_get_cell_value</a> (const void *xls_handle, unsigned int row, unsigned short column, <a class="el" href="structFreeXL__CellValue__str.html">FreeXL_CellValue</a> *value)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieve individual cell values from the currently active worksheet. <a href="#aef8dc850a668e82b9aa2efde78cc427a"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Function declarations and constants for FreeXL library. </p> </div><hr/><h2>Define Documentation</h2> <a class="anchor" id="a04f3d4275029b43c1a7080f3da1fc891"></a><!-- doxytag: member="freexl.h::FREEXL_BIFF_UNSELECTED_SHEET" ref="a04f3d4275029b43c1a7080f3da1fc891" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FREEXL_BIFF_UNSELECTED_SHEET   -19</td> </tr> </table> </div> <div class="memdoc"> <p>There is no currently active worksheet. </p> <p>Possibly a forgotten call to <a class="el" href="freexl_8h.html#a248e690e125ee15eddacb25aa72b07a3" title="Set the currently active worksheets.">freexl_select_active_worksheet()</a> </p> </div> </div> <a class="anchor" id="a7e0c348fc25a26016f7d47ff940e17d2"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_ILLEGAL_MINI_FAT_ENTRY" ref="a7e0c348fc25a26016f7d47ff940e17d2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FREEXL_CFBF_ILLEGAL_MINI_FAT_ENTRY   -25</td> </tr> </table> </div> <div class="memdoc"> <p>The MiniFAT stream contains an invalid entry. </p> <p>Possibly a corrupt file. </p> </div> </div> <a class="anchor" id="a8e68df771c16189fba87f05591ad4a72"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_READ_ERROR" ref="a8e68df771c16189fba87f05591ad4a72" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FREEXL_CFBF_READ_ERROR   -8</td> </tr> </table> </div> <div class="memdoc"> <p>Read error. </p> <p>Usually indicates a corrupt or invalid .xls file </p> </div> </div> <a class="anchor" id="a9414828d109516c590515745bfcbd82c"></a><!-- doxytag: member="freexl.h::FREEXL_CFBF_SEEK_ERROR" ref="a9414828d109516c590515745bfcbd82c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FREEXL_CFBF_SEEK_ERROR   -9</td> </tr> </table> </div> <div class="memdoc"> <p>Seek error. </p> <p>Usually indicates a corrupt or invalid .xls file </p> </div> </div> <a class="anchor" id="ae5d46f2e2719dfcd124365a940025b97"></a><!-- doxytag: member="freexl.h::FREEXL_ILLEGAL_MULRK_VALUE" ref="ae5d46f2e2719dfcd124365a940025b97" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FREEXL_ILLEGAL_MULRK_VALUE   -23</td> </tr> </table> </div> <div class="memdoc"> <p>Conversion of the MULRK value failed. </p> <p>Possibly a corrupt file or a bug in FreeXL. </p> </div> </div> <a class="anchor" id="a501cee2af591fbb1c2ef6822a1550ed9"></a><!-- doxytag: member="freexl.h::FREEXL_ILLEGAL_RK_VALUE" ref="a501cee2af591fbb1c2ef6822a1550ed9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FREEXL_ILLEGAL_RK_VALUE   -23</td> </tr> </table> </div> <div class="memdoc"> <p>Conversion of the RK value failed. </p> <p>Possibly a corrupt file or a bug in FreeXL. </p> </div> </div> <a class="anchor" id="a45f269d5e7d74c6f8cb15977b8168cea"></a><!-- doxytag: member="freexl.h::FREEXL_INVALID_MINI_STREAM" ref="a45f269d5e7d74c6f8cb15977b8168cea" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FREEXL_INVALID_MINI_STREAM   -24</td> </tr> </table> </div> <div class="memdoc"> <p>The MiniFAT stream is invalid. </p> <p>Possibly a corrupt file. </p> </div> </div> <a class="anchor" id="afda0ce0dfcd93c4ebc02247bf4812710"></a><!-- doxytag: member="freexl.h::FREEXL_UNSUPPORTED_CHARSET" ref="afda0ce0dfcd93c4ebc02247bf4812710" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define FREEXL_UNSUPPORTED_CHARSET   -21</td> </tr> </table> </div> <div class="memdoc"> <p>The requested charset conversion is not available. </p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="ad4c8972decafeabb9c7ce938644e2145"></a><!-- doxytag: member="freexl.h::FreeXL_CellValue" ref="ad4c8972decafeabb9c7ce938644e2145" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structFreeXL__CellValue__str.html">FreeXL_CellValue_str</a> <a class="el" href="structFreeXL__CellValue__str.html">FreeXL_CellValue</a></td> </tr> </table> </div> <div class="memdoc"> <p>Typedef for cell value structure. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structFreeXL__CellValue__str.html" title="Container for a cell value.">FreeXL_CellValue_str</a> </dd></dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a6122b2adf513c42a8ad5aa0e083a82bb"></a><!-- doxytag: member="freexl.h::freexl_close" ref="a6122b2adf513c42a8ad5aa0e083a82bb" args="(const void *xls_handle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_close </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Close the .xls file and releasing any allocated resource. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>After calling <a class="el" href="freexl_8h.html#a6122b2adf513c42a8ad5aa0e083a82bb" title="Close the .xls file and releasing any allocated resource.">freexl_close()</a> any related resource will be released, and the handle will no longer be valid. </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a72">test_xl.c</a>, and <a class="el" href="xl2sql_8c-example.html#a25">xl2sql.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ae6683eb98a9d01c745db397878d9933a"></a><!-- doxytag: member="freexl.h::freexl_get_active_worksheet" ref="ae6683eb98a9d01c745db397878d9933a" args="(const void *xls_handle, unsigned short *sheet_index)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_get_active_worksheet </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short * </td> <td class="paramname"><em>sheet_index</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Query the currently active worksheet index. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a> </td></tr> <tr><td class="paramname">sheet_index</td><td>the index corresponding to the currently active Worksheet (return value)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success</dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="freexl_8h.html#a248e690e125ee15eddacb25aa72b07a3" title="Set the currently active worksheets.">freexl_select_active_worksheet()</a> for how to select the worksheet </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a68">test_xl.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="aef8dc850a668e82b9aa2efde78cc427a"></a><!-- doxytag: member="freexl.h::freexl_get_cell_value" ref="aef8dc850a668e82b9aa2efde78cc427a" args="(const void *xls_handle, unsigned int row, unsigned short column, FreeXL_CellValue *value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_get_cell_value </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short </td> <td class="paramname"><em>column</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structFreeXL__CellValue__str.html">FreeXL_CellValue</a> * </td> <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Retrieve individual cell values from the currently active worksheet. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a> </td></tr> <tr><td class="paramname">row</td><td>row number of the cell to query (zero base) </td></tr> <tr><td class="paramname">column</td><td>column number of the cell to query (zero base) </td></tr> <tr><td class="paramname">value</td><td>the cell type and value (return value)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="xl2sql_8c-example.html#a11">xl2sql.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="a9b68b6e59ee6ca4d3303f812dbefe679"></a><!-- doxytag: member="freexl.h::freexl_get_FAT_entry" ref="a9b68b6e59ee6ca4d3303f812dbefe679" args="(const void *xls_handle, unsigned int sector_index, unsigned int *next_sector_index)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_get_FAT_entry </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"><em>sector_index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int * </td> <td class="paramname"><em>next_sector_index</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Retrieve FAT entries from FAT chain. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a> </td></tr> <tr><td class="paramname">sector_index</td><td>the index identifying the Sector entry (base 0). </td></tr> <tr><td class="paramname">next_sector_index</td><td>the index identifying the next Sector to be accessed in logical order (return value).</td></tr> </table> </dd> </dl> <dl class="note"><dt><b>Note:</b></dt><dd>The following values imply special meaning:<ul> <li>0xffffffff free / unused sector</li> <li>0xfffffffe end of chain</li> <li>0xfffffffd sector used by FAT (map of sectors)</li> <li>0xfffffffc double-indirect FAT sector (map of FAT sectors)</li> </ul> </dd></dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>This function is not normally required, since FreeXL will handle FAT table entries transparent to the user. It is mainly intended for debugging purposes. </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a71">test_xl.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ad6dbe072c7a4632853d90f4509bf3aee"></a><!-- doxytag: member="freexl.h::freexl_get_info" ref="ad6dbe072c7a4632853d90f4509bf3aee" args="(const void *xls_handle, unsigned short what, unsigned int *info)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_get_info </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short </td> <td class="paramname"><em>what</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int * </td> <td class="paramname"><em>info</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Query general information about the Workbook and Worksheets. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a> </td></tr> <tr><td class="paramname">what</td><td>the info to be queried. </td></tr> <tr><td class="paramname">info</td><td>the corresponding information value (return value)</td></tr> </table> </dd> </dl> <dl class="note"><dt><b>Note:</b></dt><dd>FREEXL_UNKNOWN will be returned in <code>info</code> if the information is not available, not appropriate or not supported for the file type.</dd></dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success</dd></dl> <p>Valid values for <code>what</code> are:</p> <ul> <li>FREEXL_CFBF_VERSION (returning FREEXL_CFBF_VER_3 or FREEXL_CFBF_VER_4)</li> <li>FREEXL_CFBF_SECTOR_SIZE (returning FREEXL_CFBF_SECTOR_512 or FREEXL_CFBF_SECTOR_4096)</li> <li>FREEXL_CFBF_FAT_COUNT (returning the total count of FAT entries in the file)</li> <li>FREEXL_BIFF_VERSION (return one of FREEXL_BIFF_VER_2, FREEXL_BIFF_VER_3, FREEXL_BIFF_VER_4, FREEXL_BIFF_VER_5, FREEXL_BIFF_VER_8)</li> <li>FREEXL_BIFF_MAX_RECSIZE (returning FREEXL_BIFF_MAX_RECSZ_2080 or FREEXL_BIFF_MAX_RECSZ_8224)</li> <li>FREEXL_BIFF_DATEMODE (returning FREEXL_BIFF_DATEMODE_1900 or FREEXL_BIFF_DATEMODE_1904)</li> <li>FREEXL_BIFF_PASSWORD (returning FREEXL_BIFF_OBFUSCATED or FREEXL_BIFF_PLAIN)</li> <li>FREEXL_BIFF_CODEPAGE (returning FREEXL_BIFF_ASCII, one of FREEXL_BIFF_CP*,FREEXL_BIFF_UTF16LE or FREEXL_BIFF_MACROMAN)</li> <li>FREEXL_BIFF_SHEET_COUNT (returning the total number of worksheets)</li> <li>FREEXL_BIFF_STRING_COUNT (returning the total number of Single String Table entries)</li> <li>FREEXL_BIFF_FORMAT_COUNT (returning the total number of format entries)</li> <li>FREEXL_BIFF_XF_COUNT (returning the number of extended format entries) </li> </ul> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a2">test_xl.c</a>, and <a class="el" href="xl2sql_8c-example.html#a2">xl2sql.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="af63ae08d341f25957601b7adc4fbeb33"></a><!-- doxytag: member="freexl.h::freexl_get_SST_string" ref="af63ae08d341f25957601b7adc4fbeb33" args="(const void *xls_handle, unsigned short string_index, const char **string)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_get_SST_string </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short </td> <td class="paramname"><em>string_index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char ** </td> <td class="paramname"><em>string</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Retrieve string entries from SST. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a> </td></tr> <tr><td class="paramname">string_index</td><td>the index identifying the String entry (base 0). </td></tr> <tr><td class="paramname">string</td><td>the corresponding String value (return value)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>This function is not normally required, since freexl_get_cell_value will return the string where appropriate. It is mainly intended for debugging purposes. </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a70">test_xl.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="abba0c9d47eaba2ca2b8a093b03638219"></a><!-- doxytag: member="freexl.h::freexl_get_worksheet_name" ref="abba0c9d47eaba2ca2b8a093b03638219" args="(const void *xls_handle, unsigned short sheet_index, const char **string)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_get_worksheet_name </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short </td> <td class="paramname"><em>sheet_index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char ** </td> <td class="paramname"><em>string</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Query worksheet name. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a> </td></tr> <tr><td class="paramname">sheet_index</td><td>the index identifying the worksheet (base 0) </td></tr> <tr><td class="paramname">string</td><td>the name of the worksheet (return value)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a66">test_xl.c</a>, and <a class="el" href="xl2sql_8c-example.html#a7">xl2sql.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="acbd27ba5bc7b21d4ae32c0542d51f1e4"></a><!-- doxytag: member="freexl.h::freexl_open" ref="acbd27ba5bc7b21d4ae32c0542d51f1e4" args="(const char *path, const void **xls_handle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_open </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>path</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void ** </td> <td class="paramname"><em>xls_handle</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Open the .xls file, preparing for future functions. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">path</td><td>full or relative pathname of the input .xls file. </td></tr> <tr><td class="paramname">xls_handle</td><td>an opaque reference (handle) to be used in each subsequent function (return value).</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success, otherwise any appropriate error code on failure.</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>You are expected to <a class="el" href="freexl_8h.html#a6122b2adf513c42a8ad5aa0e083a82bb" title="Close the .xls file and releasing any allocated resource.">freexl_close()</a> even on failure, so as to correctly release any dynamic memory allocation. </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a0">test_xl.c</a>, and <a class="el" href="xl2sql_8c-example.html#a0">xl2sql.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="abc44950b4d49580fa632d8c591612530"></a><!-- doxytag: member="freexl.h::freexl_open_info" ref="abc44950b4d49580fa632d8c591612530" args="(const char *path, const void **xls_handle)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_open_info </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>path</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void ** </td> <td class="paramname"><em>xls_handle</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Open the .xls file for metadata query only. </p> <p>This is similar to <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a>, except that an abbreviated parsing step is performed. This makes it faster, but does not support queries for cell values.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">path</td><td>full or relative pathname of the input .xls file. </td></tr> <tr><td class="paramname">xls_handle</td><td>an opaque reference (handle) to be used in each subsequent function (return value).</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success, otherwise any appropriate error code on failure.</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>You are expected to <a class="el" href="freexl_8h.html#a6122b2adf513c42a8ad5aa0e083a82bb" title="Close the .xls file and releasing any allocated resource.">freexl_close()</a> even on failure, so as to correctly release any dynamic memory allocation. </dd></dl> </div> </div> <a class="anchor" id="a248e690e125ee15eddacb25aa72b07a3"></a><!-- doxytag: member="freexl.h::freexl_select_active_worksheet" ref="a248e690e125ee15eddacb25aa72b07a3" args="(const void *xls_handle, unsigned short sheet_index)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_select_active_worksheet </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short </td> <td class="paramname"><em>sheet_index</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the currently active worksheets. </p> <p>Within a FreeXL handle, only one worksheet can be active at a time. Functions that fetch data are implictly working on the selected worksheet.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a> </td></tr> <tr><td class="paramname">sheet_index</td><td>the index identifying the worksheet (base 0)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a67">test_xl.c</a>, and <a class="el" href="xl2sql_8c-example.html#a8">xl2sql.c</a>.</dd> </dl> </div> </div> <a class="anchor" id="ace1d7e39a8874a9300821c22e5bb9643"></a><!-- doxytag: member="freexl.h::freexl_worksheet_dimensions" ref="ace1d7e39a8874a9300821c22e5bb9643" args="(const void *xls_handle, unsigned int *rows, unsigned short *columns)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FREEXL_DECLARE int freexl_worksheet_dimensions </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"><em>xls_handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int * </td> <td class="paramname"><em>rows</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short * </td> <td class="paramname"><em>columns</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Query worksheet dimensions. </p> <p>This function returns the number of rows and columns for the currently selected worksheet.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xls_handle</td><td>the handle previously returned by <a class="el" href="freexl_8h.html#acbd27ba5bc7b21d4ae32c0542d51f1e4" title="Open the .xls file, preparing for future functions.">freexl_open()</a> </td></tr> <tr><td class="paramname">rows</td><td>the total row count (return value) </td></tr> <tr><td class="paramname">columns</td><td>the total column count (return value)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>FREEXL_OK will be returned on success</dd></dl> <dl class="note"><dt><b>Note:</b></dt><dd>Worksheet dimensions are zero based, so if you have a worksheet that is four columns and two rows (i.e. from A1 in the top left corner to B4 in the bottom right corner), this will return rows equal to 1 and columns equal to 3). This is to support C style looping. </dd></dl> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="test_xl_8c-example.html#a69">test_xl.c</a>, and <a class="el" href="xl2sql_8c-example.html#a9">xl2sql.c</a>.</dd> </dl> </div> </div> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr class="footer"/><address class="footer"><small>Generated on Fri Jan 13 2012 for FreeXL by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>