Browse Source

First commit

master
Blagovest Petrov 8 years ago
commit
168f4b7992
  1. 0
      3rdparty/libxl-3.8.1.0/bin/libxl.dll
  2. 0
      3rdparty/libxl-3.8.1.0/bin64/libxl.dll
  3. 0
      3rdparty/libxl-3.8.1.0/changelog.txt
  4. 0
      3rdparty/libxl-3.8.1.0/doc/autoFilter.html
  5. 105
      3rdparty/libxl-3.8.1.0/doc/colors.html
  6. 0
      3rdparty/libxl-3.8.1.0/doc/custom-format.html
  7. 131
      3rdparty/libxl-3.8.1.0/doc/filterColumn.html
  8. 0
      3rdparty/libxl-3.8.1.0/doc/font.html
  9. 433
      3rdparty/libxl-3.8.1.0/doc/format.html
  10. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignh_center.png
  11. BIN
      3rdparty/libxl-3.8.1.0/doc/images/alignh_distributed.png
  12. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignh_fill.png
  13. BIN
      3rdparty/libxl-3.8.1.0/doc/images/alignh_general.png
  14. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignh_justify.png
  15. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignh_left.png
  16. BIN
      3rdparty/libxl-3.8.1.0/doc/images/alignh_merge.png
  17. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignh_right.png
  18. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignv_bottom.png
  19. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignv_center.png
  20. BIN
      3rdparty/libxl-3.8.1.0/doc/images/alignv_distributed.png
  21. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignv_justify.png
  22. 0
      3rdparty/libxl-3.8.1.0/doc/images/alignv_top.png
  23. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderdiagonal_both.png
  24. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderdiagonal_down.png
  25. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderdiagonal_none.png
  26. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderdiagonal_up.png
  27. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_dashdot.png
  28. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_dashdotdot.png
  29. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_dashed.png
  30. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_dotted.png
  31. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_double.png
  32. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_hair.png
  33. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_medium.png
  34. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_mediumdashdot.png
  35. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_mediumdashdotdot.png
  36. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_mediumdashed.png
  37. 0
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_none.png
  38. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_slantdashdot.png
  39. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_thick.png
  40. BIN
      3rdparty/libxl-3.8.1.0/doc/images/borderstyle_thin.png
  41. BIN
      3rdparty/libxl-3.8.1.0/doc/images/favicon.ico
  42. BIN
      3rdparty/libxl-3.8.1.0/doc/images/logo.png
  43. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_diagcrosshatch.png
  44. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_diagstripe.png
  45. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_gray12p5.png
  46. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_gray25.png
  47. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_gray50.png
  48. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_gray6p25.png
  49. BIN
      3rdparty/libxl-3.8.1.0/doc/images/pattern_gray75.png
  50. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_horstripe.png
  51. BIN
      3rdparty/libxl-3.8.1.0/doc/images/pattern_revdiagstripe.png
  52. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_solid.png
  53. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_thickdiagcrosshatch.png
  54. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_thindiagcrosshatch.png
  55. BIN
      3rdparty/libxl-3.8.1.0/doc/images/pattern_thindiagstripe.png
  56. BIN
      3rdparty/libxl-3.8.1.0/doc/images/pattern_thinhorcrosshatch.png
  57. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_thinhorstripe.png
  58. BIN
      3rdparty/libxl-3.8.1.0/doc/images/pattern_thinrevdiagstripe.png
  59. BIN
      3rdparty/libxl-3.8.1.0/doc/images/pattern_thinverstripe.png
  60. 0
      3rdparty/libxl-3.8.1.0/doc/images/pattern_verstripe.png
  61. 0
      3rdparty/libxl-3.8.1.0/doc/images/underline_double.png
  62. BIN
      3rdparty/libxl-3.8.1.0/doc/images/underline_doubleacc.png
  63. 0
      3rdparty/libxl-3.8.1.0/doc/images/underline_none.png
  64. 0
      3rdparty/libxl-3.8.1.0/doc/images/underline_single.png
  65. 0
      3rdparty/libxl-3.8.1.0/doc/images/underline_singleacc.png
  66. 0
      3rdparty/libxl-3.8.1.0/doc/index.html
  67. 813
      3rdparty/libxl-3.8.1.0/doc/spreadsheet.html
  68. 0
      3rdparty/libxl-3.8.1.0/doc/style.css
  69. 0
      3rdparty/libxl-3.8.1.0/doc/workbook.html
  70. 62
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/custom/Program.cs
  71. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/custom/Properties/AssemblyInfo.cs
  72. 3
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/custom/app.config
  73. 68
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/custom/custom.csproj
  74. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/Program.cs
  75. 36
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/Properties/AssemblyInfo.cs
  76. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/app.config
  77. 71
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/edit.csproj
  78. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/example.xls
  79. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/Program.cs
  80. 36
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/Properties/AssemblyInfo.cs
  81. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/app.config
  82. BIN
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/example.xls
  83. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/extract.csproj
  84. 37
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/format/Program.cs
  85. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/format/Properties/AssemblyInfo.cs
  86. 3
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/format/app.config
  87. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/format/format.csproj
  88. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/generate/Program.cs
  89. 36
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/generate/Properties/AssemblyInfo.cs
  90. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/generate/app.config
  91. 68
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/generate/generate.csproj
  92. 90
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/invoice/Program.cs
  93. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/invoice/Properties/AssemblyInfo.cs
  94. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/invoice/app.config
  95. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/invoice/invoice.csproj
  96. 83
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl.sln
  97. 92
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl/AutoFilter.cs
  98. 658
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl/Book.cs
  99. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl/Exception.cs
  100. 0
      3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl/FilterColumn.cs

0
3rdparty/libxl-3.8.1.0/bin/libxl.dll

0
3rdparty/libxl-3.8.1.0/bin64/libxl.dll

0
3rdparty/libxl-3.8.1.0/changelog.txt

0
3rdparty/libxl-3.8.1.0/doc/autoFilter.html

105
3rdparty/libxl-3.8.1.0/doc/colors.html

@ -0,0 +1,105 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
<title>LibXL colors</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head><body>
<table id="container" cellspacing="6">
<tbody><tr>
<td id="header">
<a href="http://www.libxl.com" title="Home"> <img src="images/logo.png" style="border: medium none ; float: left; margin-left: 2em;" alt="LibXL - direct reading and writing Excel files" />
</a> <div style="margin-left: 13em; margin-top: 2em;">
<span id="title">LibXL</span>
<br/>
<div id="subtitle">API reference version 3.8.0</div>
</div>
</td>
</tr>
<tr>
<td valign="top" width="100%">
<div id="content">
<div>
<a href="javascript:history.back();">Back</a>&nbsp;
</div>
<h3>Colors</h3>
<table class="colortable">
<thead>
<tr><td width="300">Color value</td><td width="160">View</td></tr>
</thead>
<tbody><tr><td>COLOR_BLACK</td><td style="background-color: rgb(0, 0, 0);"></td></tr>
<tr><td>COLOR_WHITE</td><td style="background-color: rgb(255, 255, 255);"></td></tr>
<tr><td>COLOR_RED</td><td style="background-color: rgb(255, 0, 0);"></td></tr>
<tr><td>COLOR_BRIGHTGREEN</td><td style="background-color: rgb(0, 255, 0);"></td></tr>
<tr><td>COLOR_BLUE</td><td style="background-color: rgb(0, 0, 255);"></td></tr>
<tr><td>COLOR_YELLOW</td><td style="background-color: rgb(255, 255, 0);"></td></tr>
<tr><td>COLOR_PINK</td><td style="background-color: rgb(255, 0, 255);"></td></tr>
<tr><td>COLOR_TURQUOISE</td><td style="background-color: rgb(0, 255, 255);"></td></tr>
<tr><td>COLOR_DARKRED</td><td style="background-color: rgb(128, 0, 0);"></td></tr>
<tr><td>COLOR_GREEN</td><td style="background-color: rgb(0, 128, 0);"></td></tr>
<tr><td>COLOR_DARKBLUE</td><td style="background-color: rgb(0, 0, 128);"></td></tr>
<tr><td>COLOR_DARKYELLOW</td><td style="background-color: rgb(128, 128, 0);"></td></tr>
<tr><td>COLOR_VIOLET</td><td style="background-color: rgb(128, 0, 128);"></td></tr>
<tr><td>COLOR_TEAL</td><td style="background-color: rgb(0, 128, 128);"></td></tr>
<tr><td>COLOR_GRAY25</td><td style="background-color: rgb(192, 192, 192);"></td></tr>
<tr><td>COLOR_GRAY50</td><td style="background-color: rgb(128, 128, 128);"></td></tr>
<tr><td>COLOR_PERIWINKLE_CF</td><td style="background-color: rgb(153, 153, 255);"></td></tr>
<tr><td>COLOR_PLUM_CF</td><td style="background-color: rgb(153, 51, 102);"></td></tr>
<tr><td>COLOR_IVORY_CF</td><td style="background-color: rgb(255, 255, 204);"></td></tr>
<tr><td>COLOR_LIGHTTURQUOISE_CF</td><td style="background-color: rgb(204, 255, 255);"></td></tr>
<tr><td>COLOR_DARKPURPLE_CF</td><td style="background-color: rgb(102, 0, 102);"></td></tr>
<tr><td>COLOR_CORAL_CF</td><td style="background-color: rgb(255, 128, 128);"></td></tr>
<tr><td>COLOR_OCEANBLUE_CF</td><td style="background-color: rgb(0, 102, 204);"></td></tr>
<tr><td>COLOR_ICEBLUE_CF</td><td style="background-color: rgb(204, 204, 255);"></td></tr>
<tr><td>COLOR_DARKBLUE_CL</td><td style="background-color: rgb(0, 0, 128);"></td></tr>
<tr><td>COLOR_PINK_CL</td><td style="background-color: rgb(255, 0, 255);"></td></tr>
<tr><td>COLOR_YELLOW_CL</td><td style="background-color: rgb(255, 255, 0);"></td></tr>
<tr><td>COLOR_TURQUOISE_CL</td><td style="background-color: rgb(0, 255, 255);"></td></tr>
<tr><td>COLOR_VIOLET_CL</td><td style="background-color: rgb(128, 0, 128);"></td></tr>
<tr><td>COLOR_DARKRED_CL</td><td style="background-color: rgb(128, 0, 0);"></td></tr>
<tr><td>COLOR_TEAL_CL</td><td style="background-color: rgb(0, 128, 128);"></td></tr>
<tr><td>COLOR_BLUE_CL</td><td style="background-color: rgb(0, 0, 255);"></td></tr>
<tr><td>COLOR_SKYBLUE</td><td style="background-color: rgb(0, 204, 255);"></td></tr>
<tr><td>COLOR_LIGHTTURQUOISE</td><td style="background-color: rgb(204, 255, 255);"></td></tr>
<tr><td>COLOR_LIGHTGREEN</td><td style="background-color: rgb(204, 255, 204);"></td></tr>
<tr><td>COLOR_LIGHTYELLOW</td><td style="background-color: rgb(255, 255, 153);"></td></tr>
<tr><td>COLOR_PALEBLUE</td><td style="background-color: rgb(153, 204, 255);"></td></tr>
<tr><td>COLOR_ROSE</td><td style="background-color: rgb(255, 153, 204);"></td></tr>
<tr><td>COLOR_LAVENDER</td><td style="background-color: rgb(204, 153, 255);"></td></tr>
<tr><td>COLOR_TAN</td><td style="background-color: rgb(255, 204, 153);"></td></tr>
<tr><td>COLOR_LIGHTBLUE</td><td style="background-color: rgb(51, 102, 255);"></td></tr>
<tr><td>COLOR_AQUA</td><td style="background-color: rgb(51, 204, 204);"></td></tr>
<tr><td>COLOR_LIME</td><td style="background-color: rgb(153, 204, 0);"></td></tr>
<tr><td>COLOR_GOLD</td><td style="background-color: rgb(255, 204, 0);"></td></tr>
<tr><td>COLOR_LIGHTORANGE</td><td style="background-color: rgb(255, 153, 0);"></td></tr>
<tr><td>COLOR_ORANGE</td><td style="background-color: rgb(255, 102, 0);"></td></tr>
<tr><td>COLOR_BLUEGRAY</td><td style="background-color: rgb(102, 102, 153);"></td></tr>
<tr><td>COLOR_GRAY40</td><td style="background-color: rgb(150, 150, 150);"></td></tr>
<tr><td>COLOR_DARKTEAL</td><td style="background-color: rgb(0, 51, 102);"></td></tr>
<tr><td>COLOR_SEAGREEN</td><td style="background-color: rgb(51, 153, 102);"></td></tr>
<tr><td>COLOR_DARKGREEN</td><td style="background-color: rgb(0, 51, 0);"></td></tr>
<tr><td>COLOR_OLIVEGREEN</td><td style="background-color: rgb(51, 51, 0);"></td></tr>
<tr><td>COLOR_BROWN</td><td style="background-color: rgb(153, 51, 0);"></td></tr>
<tr><td>COLOR_PLUM</td><td style="background-color: rgb(153, 51, 102);"></td></tr>
<tr><td>COLOR_INDIGO</td><td style="background-color: rgb(51, 51, 153);"></td></tr>
<tr><td>COLOR_GRAY80</td><td style="background-color: rgb(51, 51, 51);"></td></tr>
<tr><td>COLOR_DEFAULT_FOREGROUND</td><td align="center">Auto</td></tr>
<tr><td>COLOR_DEFAULT_BACKGROUND</td><td align="center">Auto</td></tr>
</tbody></table>
<div class="blinks">
<a href="javascript:history.back();">Back</a>
</div>
</div>
</td>
</tr>
<tr>
<td id="footer">© 2008 - 2017 XLware. All rights reserved.</td>
</tr>
</tbody></table>
</body></html>

0
3rdparty/libxl-3.8.1.0/doc/custom-format.html

131
3rdparty/libxl-3.8.1.0/doc/filterColumn.html

@ -0,0 +1,131 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<title>LibXL: FilterColumn class reference</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="container" cellspacing="6">
<tbody>
<tr>
<td id="header">
<a href="http://www.libxl.com" title="Home">
<img src="images/logo.png" style="border: medium none ; float: left; margin-left: 2em;" alt="LibXL - direct reading and writing Excel files" />
</a>
<div style="margin-left: 13em; margin-top: 2em;">
<span id="title">LibXL</span><br/>
<div id="subtitle">API reference version 3.8.0</div>
</div>
</td>
</tr>
<tr>
<td valign="top" width="100%">
<div id="content">
<div><a href="index.html">Index</a>&nbsp;<a href="workbook.html">Book</a>&nbsp;<a href="spreadsheet.html">Sheet</a>&nbsp;<a href="format.html">Format</a>&nbsp;<a href="font.html">Font</a>&nbsp;<a href="autoFilter.html">AutoFilter</a>&nbsp;<b>FilterColumn</b>&nbsp;</div>
<h3>FilterColumn class reference</h3>
<ul class="doc">
<li>
<a name="index"></a><span class="keyword">int</span> <span class="fname">index</span>() <span class="keyword">const</span> <div>Returns the zero-based index of this AutoFilter column.
</div>
</li>
<li>
<a name="filterType"></a>Filter <span class="fname">filterType</span>() <span class="keyword">const</span> <div>Returns the filter type of this AutoFilter column.
<table class="helptable">
<thead>
<tr>
<td>Filter value</td><td>Description</td>
</tr>
</thead>
<tbody><tr><td>FILTER_VALUE</td><td>Filter by specified values.</td></tr>
<tr><td>FILTER_TOP10</td><td>The top N (percent or number of items) to filter by.</td></tr>
<tr><td>FILTER_CUSTOM</td><td>Custom filter with specified criteria.</td></tr>
<tr><td>FILTER_DYNAMIC</td><td>Specifies dynamic filter criteria.</td></tr>
<tr><td>FILTER_COLOR</td><td>Specifies the color to filter by.</td></tr>
<tr><td>FILTER_ICON</td><td>Specifies the icon to filter by.</td></tr>
<tr><td>FILTER_EXT</td><td>Defines flexible storage extensions.</td></tr>
<tr><td>FILTER_NOT_SET</td><td>No filter.</td></tr>
</tbody></table>
</div>
</li>
<li>
<a name="filterSize"></a><span class="keyword">int</span> <span class="fname">filterSize</span>() <span class="keyword">const</span> <div>Returns the number of filter values.
</div>
</li>
<li>
<a name="filter"></a><span class="keyword">const wchar_t</span>* <span class="fname">filter</span>(<span class="keyword">int</span> index) <span class="keyword">const</span> <div>Returns the filter value by index.
</div>
</li>
<li>
<a name="addFilter"></a><span class="keyword">void</span> <span class="fname">addFilter</span>(<span class="keyword">const wchar_t</span>* value) <div>Adds the filter value.
</div>
</li>
<li>
<a name="getTop10"></a><span class="keyword">bool</span> <span class="fname">getTop10</span>(<span class="keyword">double</span>* value, <span class="keyword">bool</span>* top, <span class="keyword">bool</span>* percent) <div>Gets the number of top or bottom items:<br/>
<i>value</i> - number of items;<br/>
<i>top</i> - top items if true otherwise bottom items;<br/>
<i>percent</i> - using percent instead of number items.<br/>
Returns false if error. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="setTop10"></a><span class="keyword">void</span> <span class="fname">setTop10</span>(<span class="keyword">double</span> value, <span class="keyword">bool</span> top = <span class="keyword">true</span>, <span class="keyword">bool</span> percent = <span class="keyword">false</span>) <div>Sets the number of top or bottom items:<br/>
<i>value</i> - number of items;<br/>
<i>top</i> - top items if true otherwise bottom items;<br/>
<i>percent</i> - using percent instead of number items.<br/>
</div>
</li>
<li>
<a name="getCustomFilter"></a><span class="keyword">bool</span> <span class="fname">getCustomFilter</span>(Operator* op1, <span class="keyword">const wchar_t</span>** v1, Operator* op2, <span class="keyword">const wchar_t</span>** v2, <span class="keyword">bool</span>* andOp) <div>Gets the custom filter criteria:<br/>
<i>op1</i> - operator used by the filter comparison in the first filter criteria;<br/>
<i>v1</i> - value used in the first filter criteria;<br/>
<i>op2</i> - operator used by the filter comparison in the second filter criteria;<br/>
<i>v2</i> - value used in the second filter criteria;<br/>
<i>andOp</i> - flag indicating whether the two criterias have an "and" relationship. True indicates "and", false indicates "or".<br/>
Returns false if error. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="setCustomFilter"></a><span class="keyword">void</span> <span class="fname">setCustomFilter</span>(Operator op1, <span class="keyword">const wchar_t</span>* v1, Operator op2 = OPERATOR_EQUAL, <span class="keyword">const wchar_t</span>* v2 = 0, <span class="keyword">bool</span> andOp = <span class="keyword">false</span>) <div>Sets the custom filter criteria:<br/>
<i>op1</i> - operator used by the filter comparison in the first filter criteria;<br/>
<i>v1</i> - value used in the first filter criteria;<br/>
<i>op2</i> - operator used by the filter comparison in the second filter criteria;<br/>
<i>v2</i> - value used in the second filter criteria;<br/>
<i>andOp</i> - flag indicating whether the two criterias have an "and" relationship. True indicates "and", false indicates "or".
<table class="helptable">
<thead>
<tr>
<td>Operator value</td><td>Description</td>
</tr>
</thead>
<tbody><tr><td>OPERATOR_EQUAL</td><td>=</td></tr>
<tr><td>OPERATOR_GREATER_THAN</td><td>&gt;</td></tr>
<tr><td>OPERATOR_GREATER_THAN_OR_EQUAL</td><td>&gt;=</td></tr>
<tr><td>OPERATOR_LESS_THAN</td><td>&lt;</td></tr>
<tr><td>OPERATOR_LESS_THAN_OR_EQUAL</td><td>&lt;=</td></tr>
<tr><td>OPERATOR_NOT_EQUAL</td><td>&lt;&gt;</td></tr>
</tbody></table>
</div>
</li>
<li>
<a name="clear"></a><span class="keyword">void</span> <span class="fname">clear</span>() <div>Clear the filter criteria.</div>
</li>
</ul>
<div class="blinks"><a href="index.html">Index</a>&nbsp;<a href="workbook.html">Book</a>&nbsp;<a href="spreadsheet.html">Sheet</a>&nbsp;<a href="format.html">Format</a>&nbsp;<a href="font.html">Font</a>&nbsp;<a href="autoFilter.html">AutoFilter</a>&nbsp;<b>FilterColumn</b>&nbsp;</div>
</div>
</td>
</tr>
<tr>
<td id="footer">© 2008 - 2017 XLware. All rights reserved.</td>
</tr>
</tbody>
</table>
</body>
</html>

0
3rdparty/libxl-3.8.1.0/doc/font.html

433
3rdparty/libxl-3.8.1.0/doc/format.html

@ -0,0 +1,433 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<title>LibXL: Format class reference</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="container" cellspacing="6">
<tbody>
<tr>
<td id="header">
<a href="http://www.libxl.com" title="Home"> <img src="images/logo.png" style="border: medium none ; float: left; margin-left: 2em;" alt="LibXL - direct reading and writing Excel files" /></a>
<div style="margin-left: 13em; margin-top: 2em;">
<span id="title">LibXL</span><br/>
<div id="subtitle">API reference version 3.8.0</div>
</div>
</td>
</tr>
<tr>
<td valign="top" width="100%">
<div id="content">
<div><a href="index.html">Index</a>&nbsp;<a href="workbook.html">Book</a>&nbsp;<a href="spreadsheet.html">Sheet</a>&nbsp;<b>Format</b>&nbsp;<a href="font.html">Font</a>&nbsp;<a href="autoFilter.html">AutoFilter</a>&nbsp;<a href="filterColumn.html">FilterColumn</a>&nbsp;</div>
<h3>Format class reference</h3>
<ul class="doc">
<li style="margin-top: 0px;">
<a name="font"></a><a href="font.html">Font</a>* <span class="fname">font</span>() <span class="keyword">const</span> <div>Returns the pointer to the current font. Returns NULL if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="setFont"></a><span class="keyword">bool</span> <span class="fname">setFont</span>(<a href="font.html">Font</a>* font) <div>Sets the font for the format. To create a new font use <a href="workbook.html#addFont">Book::addFont()</a>. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="numFormat"></a><span class="keyword">int</span> <span class="fname">numFormat</span>() <span class="keyword">const</span> <div>Returns the number format identifier.</div>
</li>
<li>
<a name="setNumFormat"></a><span class="keyword">void</span> <span class="fname">setNumFormat</span>(<span class="keyword">int</span> numFormat)
<div>
Sets the number format identifier. The identifier must be a valid
built-in number format identifier or the identifier of a custom number
format. To create a custom format use <a href="workbook.html#addCustomNumFormat">Book::addCustomNumFormat()</a>. See built-in values in the following table:
<table class="helptable">
<thead>
<tr>
<td>Constant</td><td>Description</td><td>Example</td>
</tr>
</thead>
<tbody><tr>
<td>NUMFORMAT_GENERAL</td><td>general format</td><td></td>
</tr>
<tr>
<td>NUMFORMAT_NUMBER</td><td>general number</td><td align="right">1000</td>
</tr>
<tr>
<td>NUMFORMAT_NUMBER_D2</td><td>number with decimal point</td><td align="right">1000.00</td>
</tr>
<tr>
<td>NUMFORMAT_NUMBER_SEP</td><td>number with thousands separator</td><td align="right">100,000</td>
</tr>
<tr>
<td>NUMFORMAT_NUMBER_SEP_D2</td><td>number with decimal point and thousands separator</td><td align="right">100,000.00</td>
</tr>
<tr>
<td>NUMFORMAT_CURRENCY_NEGBRA</td><td>monetary value, negative in brackets</td><td align="right">(1000$)</td>
</tr>
<tr>
<td>NUMFORMAT_CURRENCY_NEGBRARED</td><td>monetary value, negative is red in brackets</td><td align="right"><span style="color: red;">(1000$)</span></td>
</tr>
<tr>
<td>NUMFORMAT_CURRENCY_D2_NEGBRA</td><td>monetary value with decimal point, negative in brackets</td><td align="right">($1000.00)</td>
</tr>
<tr>
<td>NUMFORMAT_CURRENCY_D2_NEGBRARED</td><td>monetary value with decimal point, negative is red in brackets</td><td align="right"><span style="color: red;">($1000.00)</span></td>
</tr>
<tr>
<td>NUMFORMAT_PERCENT</td><td>percent value, multiply the cell value by 100</td><td align="right">75%</td>
</tr>
<tr>
<td>NUMFORMAT_PERCENT_D2</td><td>percent value with decimal point, multiply the cell value by 100</td><td align="right">75.00%</td>
</tr>
<tr>
<td>NUMFORMAT_SCIENTIFIC_D2</td><td>scientific value with E character and decimal point</td><td align="right">10.00E+1</td>
</tr>
<tr>
<td>NUMFORMAT_FRACTION_ONEDIG</td><td>fraction value, one digit</td><td align="right">10 1/2</td>
</tr>
<tr>
<td>NUMFORMAT_FRACTION_TWODIG</td><td>fraction value, two digits</td><td align="right">10 23/95</td>
</tr>
<tr>
<td>NUMFORMAT_DATE</td><td>date value, depends on OS settings</td><td align="right">3/11/2009</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_D_MON_YY</td><td>custom date value</td><td align="right">11-Mar-09</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_D_MON</td><td>custom date value</td><td align="right">11-Mar</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_MON_YY</td><td>custom date value</td><td align="right">Mar-09</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_HMM_AM</td><td>custom date value</td><td align="right">8:30 AM</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_HMMSS_AM</td><td>custom date value</td><td align="right">8:30:00 AM</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_HMM</td><td>custom date value</td><td align="right">8:30</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_HMMSS</td><td>custom date value</td><td align="right">8:30:00</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_MDYYYY_HMM</td><td>custom datetime value</td><td align="right">3/11/2009 8:30</td>
</tr>
<tr>
<td>NUMFORMAT_NUMBER_SEP_NEGBRA</td><td>number with thousands separator, negative in brackets</td><td align="right">(4,000)</td>
</tr>
<tr>
<td>NUMFORMAT_NUMBER_SEP_NEGBRARED</td><td>number with thousands separator, negative is red in brackets</td><td align="right"><span style="color: red;">(4,000)</span></td>
</tr>
<tr>
<td>NUMFORMAT_NUMBER_D2_SEP_NEGBRA</td><td>number with thousands separator and decimal point, negative in brackets</td><td align="right">(4,000.00)</td>
</tr>
<tr>
<td>NUMFORMAT_NUMBER_D2_SEP_NEGBRARED</td><td>number with thousands separator and decimal point, negative is red in brackets</td><td align="right"><span style="color: red;">(4,000.00)</span></td>
</tr>
<tr>
<td>NUMFORMAT_ACCOUNT</td><td>account value</td><td align="right">5,000</td>
</tr>
<tr>
<td>NUMFORMAT_ACCOUNTCUR</td><td>account value with currency symbol</td><td style="padding: 0px;"><table width="100%"><tbody><tr><td style="border: 0px none ; padding: 3px;">$</td><td style="border: 0px none ; padding: 3px; text-align: right;">5,000</td></tr></tbody></table></td>
</tr>
<tr>
<td>NUMFORMAT_ACCOUNT_D2</td><td>account value with decimal point</td><td align="right">5,000.00</td>
</tr>
<tr>
<td>NUMFORMAT_ACCOUNT_D2_CUR</td><td>account value with currency symbol and decimal point</td><td style="padding: 0px;"><table width="100%"><tbody><tr><td style="border: 0px none ; padding: 3px;">$</td><td style="border: 0px none ; padding: 3px; text-align: right;">5,000.00</td></tr></tbody></table></td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_MMSS</td><td>custom time value</td><td align="right">30:55</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_H0MMSS</td><td>custom time value</td><td align="right">20:30:55</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_MMSS0</td><td>custom time value</td><td align="right">30:55.0</td>
</tr>
<tr>
<td>NUMFORMAT_CUSTOM_000P0E_PLUS0</td><td>custom value</td><td align="right">15.2E+3</td>
</tr>
<tr>
<td>NUMFORMAT_TEXT</td><td>text value</td><td>any text</td>
</tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="alignH"></a>AlignH <span class="fname">alignH</span>() <span class="keyword">const</span>
<div>Returns the horizontal alignment.</div>
</li>
<li>
<a name="setAlignH"></a><span class="keyword">void</span> <span class="fname">setAlignH</span>(AlignH align)
<div>
Sets the horizontal alignment.
<table class="helptable">
<thead>
<tr><td width="140">AlignH value</td><td>View</td></tr>
</thead>
<tbody>
<tr><td>ALIGNH_GENERAL</td><td><img src="images/alignh_general.png" alt="ALIGNH_GENERAL" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNH_LEFT</td><td><img src="images/alignh_left.png" alt="ALIGNH_LEFT" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNH_CENTER</td><td><img src="images/alignh_center.png" alt="ALIGNH_CENTER" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNH_RIGHT</td><td><img src="images/alignh_right.png" alt="ALIGNH_RIGHT" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNH_FILL</td><td><img src="images/alignh_fill.png" alt="ALIGNH_FILL" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNH_JUSTIFY</td><td><img src="images/alignh_justify.png" alt="ALIGNH_JUSTIFY" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNH_MERGE</td><td><img src="images/alignh_merge.png" alt="ALIGNH_MERGE" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNH_DISTRIBUTED</td><td><img src="images/alignh_distributed.png" alt="ALIGNH_DISTRIBUTED" style="border: medium none ;" /></td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="alignV"></a>AlignV <span class="fname">alignV</span>() <span class="keyword">const</span>
<div>Returns the vertical alignment.</div>
</li>
<li>
<a name="setAlignV"></a><span class="keyword">void</span> <span class="fname">setAlignV</span>(AlignV align)
<div>
Sets the vertical alignment.
<table class="helptable">
<thead>
<tr><td width="140">AlignV value</td><td>View</td></tr>
</thead>
<tbody>
<tr><td>ALIGNV_TOP</td><td><img src="images/alignv_top.png" alt="ALIGNV_TOP" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNV_CENTER</td><td><img src="images/alignv_center.png" alt="ALIGNV_CENTER" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNV_BOTTOM</td><td><img src="images/alignv_bottom.png" alt="ALIGNV_BOTTOM" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNV_JUSTIFY</td><td><img src="images/alignv_justify.png" alt="ALIGNV_JUSTIFY" style="border: medium none ;" /></td></tr>
<tr><td>ALIGNV_DISTRIBUTED</td><td><img src="images/alignv_distributed.png" alt="ALIGNV_DISTRIBUTED" style="border: medium none ;" /></td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="wrap"></a>bool <span class="fname">wrap</span>() <span class="keyword">const</span> <div>Returns whether the cell text is wrapped.</div>
</li>
<li>
<a name="setWrap"></a><span class="keyword">void</span> <span class="fname">setWrap</span>(<span class="keyword">bool</span> wrap = <span class="keyword">true</span>) <div>Sets the flag whether the cell text is wrapped.</div>
</li>
<li>
<a name="rotation"></a><span class="keyword">int</span> <span class="fname">rotation</span>() <span class="keyword">const</span>
<div>Returns the text rotation.</div>
</li>
<li>
<a name="setRotation"></a><span class="keyword">bool</span> <span class="fname">setRotation</span>(<span class="keyword">int</span> rotation)
<div>
Sets the text rotation. Must be a value from the following table:
<table class="helptable" style="margin-top: 8px;">
<thead>
<tr><td>Value</td><td>Meaning</td></tr>
</thead>
<tbody>
<tr><td>0 - 90</td><td>Text rotated counterclockwise 0 to 90 degrees</td></tr>
<tr><td>91 - 180</td><td>Text rotated clockwise 1 to 90 degrees</td></tr>
<tr><td>255</td><td>Vertical text</td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="indent"></a><span class="keyword">int</span> <span class="fname">indent</span>() <span class="keyword">const</span> <div>Returns the text indentation level.</div>
</li>
<li>
<a name="setIndent"></a><span class="keyword">void</span> <span class="fname">setIndent</span>(<span class="keyword">int</span> indent) <div>Sets the text indentation level. Must be less than or equal to 15.</div>
</li>
<li>
<a name="shrinkToFit"></a><span class="keyword">bool</span> <span class="fname">shrinkToFit</span>() <span class="keyword">const</span> <div>Returns whether the cell is shrink-to-fit.</div>
</li>
<li>
<a name="setShrinkToFit"></a><span class="keyword">void</span> <span class="fname">setShrinkToFit</span>(<span class="keyword">bool</span> shrinkToFit = <span class="keyword">true</span>) <div>Sets the flag whether the cell is shrink-to-fit.</div>
</li>
<li>
<a name="setBorder"></a><span class="keyword">void</span> <span class="fname">setBorder</span>(BorderStyle style = BORDERSTYLE_THIN)
<div>
Sets the border style.
<a name="borderStyleTable"></a>
<table class="helptable">
<thead>
<tr><td>BorderStyle value</td><td>View</td></tr>
</thead>
<tbody>
<tr><td>BORDERSTYLE_NONE</td><td><img src="images/borderstyle_none.png" alt="BORDERSTYLE_NONE" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_THIN</td><td><img src="images/borderstyle_thin.png" alt="BORDERSTYLE_THIN" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_MEDIUM</td><td><img src="images/borderstyle_medium.png" alt="BORDERSTYLE_MEDIUM" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_DASHED</td><td><img src="images/borderstyle_dashed.png" alt="BORDERSTYLE_DASHED" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_DOTTED</td><td><img src="images/borderstyle_dotted.png" alt="BORDERSTYLE_DOTTED" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_THICK</td><td><img src="images/borderstyle_thick.png" alt="BORDERSTYLE_THICK" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_DOUBLE</td><td><img src="images/borderstyle_double.png" alt="BORDERSTYLE_DOUBLE" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_HAIR</td><td><img src="images/borderstyle_hair.png" alt="BORDERSTYLE_HAIR" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_MEDIUMDASHED</td><td><img src="images/borderstyle_mediumdashed.png" alt="BORDERSTYLE_MEDIUMDASHED" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_DASHDOT</td><td><img src="images/borderstyle_dashdot.png" alt="BORDERSTYLE_DASHDOT" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_MEDIUMDASHDOT</td><td><img src="images/borderstyle_mediumdashdot.png" alt="BORDERSTYLE_MEDIUMDASHDOT" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_DASHDOTDOT</td><td><img src="images/borderstyle_dashdotdot.png" alt="BORDERSTYLE_DASHDOTDOT" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_MEDIUMDASHDOTDOT</td><td><img src="images/borderstyle_mediumdashdotdot.png" alt="BORDERSTYLE_MEDIUMDASHDOTDOT" style="border: medium none ;" /></td></tr>
<tr><td>BORDERSTYLE_SLANTDASHDOT</td><td><img src="images/borderstyle_slantdashdot.png" alt="BORDERSTYLE_SLANTDASHDOT" style="border: medium none ;" /></td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="setBorderColor"></a><span class="keyword">void</span> <span class="fname">setBorderColor</span>(<a href="colors.html">Color</a> color) <div>Sets the border <a href="colors.html">color</a>.</div>
</li>
<li>
<a name="borderLeft"></a><a href="#borderStyleTable">BorderStyle</a> <span class="fname">borderLeft</span>() <span class="keyword">const</span> <div>Returns the left <a href="#borderStyleTable">border style</a>.</div>
</li>
<li>
<a name="setBorderLeft"></a><span class="keyword">void</span> <span class="fname">setBorderLeft</span>(<a href="#borderStyleTable">BorderStyle</a> style = BORDERSTYLE_THIN) <div>Sets the left <a href="#borderStyleTable">border style</a>.</div>
</li>
<li>
<a name="borderRight"></a><a href="#borderStyleTable">BorderStyle</a> <span class="fname">borderRight</span>() <span class="keyword">const</span> <div>Returns the right <a href="#borderStyleTable">border style</a>.</div>
</li>
<li>
<a name="setBorderRight"></a><span class="keyword">void</span> <span class="fname">setBorderRight</span>(<a href="#borderStyleTable">BorderStyle</a> style = BORDERSTYLE_THIN) <div>Sets the right <a href="#borderStyleTable">border style</a>.</div>
</li>
<li>
<a name="borderTop"></a><a href="#borderStyleTable">BorderStyle</a> <span class="fname">borderTop</span>() <span class="keyword">const</span> <div>Returns the top <a href="#borderStyleTable">border style</a>.</div>
</li>
<li>
<a name="setBorderTop"></a><span class="keyword">void</span> <span class="fname">setBorderTop</span>(<a href="#borderStyleTable">BorderStyle</a> style = BORDERSTYLE_THIN) <div>Sets the top <a href="#borderStyleTable">border style</a>.</div>
</li>
<li>
<a name="borderBottom"></a><a href="#borderStyleTable">BorderStyle</a> <span class="fname">borderBottom</span>() <span class="keyword">const</span> <div>Returns the bottom <a href="#borderStyleTable">border style</a>.</div>
</li>
<li>
<a name="setBorderBottom"></a><span class="keyword">void</span> <span class="fname">setBorderBottom</span>(<a href="#borderStyleTable">BorderStyle</a> style = BORDERSTYLE_THIN) <div>Sets the bottom <a href="#borderStyleTable">border style</a>.</div>
</li>
<li>
<a name="borderLeftColor"></a><a href="colors.html">Color</a> <span class="fname">borderLeftColor</span>() <span class="keyword">const</span> <div>Returns the <a href="colors.html">color</a> of the left border.</div>
</li>
<li>
<a name="setBorderLeftColor"></a><span class="keyword">void</span> <span class="fname">setBorderLeftColor</span>(<a href="colors.html">Color</a> color) <div>Sets the <a href="colors.html">color</a> of the left border.</div>
</li>
<li>
<a name="borderRightColor"></a><a href="colors.html">Color</a> <span class="fname">borderRightColor</span>() <span class="keyword">const</span> <div>Returns the <a href="colors.html">color</a> of the right border.</div>
</li>
<li>
<a name="setBorderRightColor"></a><span class="keyword">void</span> <span class="fname">setBorderRightColor</span>(<a href="colors.html">Color</a> color) <div>Sets the <a href="colors.html">color</a> of the right border.</div>
</li>
<li>
<a name="borderTopColor"></a><a href="colors.html">Color</a> <span class="fname">borderTopColor</span>() <span class="keyword">const</span> <div>Returns the <a href="colors.html">color</a> of the top border.</div>
</li>
<li>
<a name="setBorderTopColor"></a><span class="keyword">void</span> <span class="fname">setBorderTopColor</span>(<a href="colors.html">Color</a> color) <div>Sets the <a href="colors.html">color</a> of the top border.</div>
</li>
<li>
<a name="borderBottomColor"></a><a href="colors.html">Color</a> <span class="fname">borderBottomColor</span>() <span class="keyword">const</span> <div>Returns the <a href="colors.html">color</a> of the bottom border.</div>
</li>
<li>
<a name="setBorderBottomColor"></a><span class="keyword">void</span> <span class="fname">setBorderBottomColor</span>(<a href="colors.html">Color</a> color) <div>Sets the <a href="colors.html">color</a> of the bottom border.</div>
</li>
<li>
<a name="borderDiagonal"></a>BorderDiagonal <span class="fname">borderDiagonal</span>() <span class="keyword">const</span>
<div>Returns the diagonal border.</div>
</li>
<li>
<a name="setBorderDiagonal"></a><span class="keyword">void</span> <span class="fname">setBorderDiagonal</span>(BorderDiagonal border)
<div>
Sets the diagonal border.
<a name="borderDiagonalTable"></a>
<table class="helptable">
<thead>
<tr><td>BorderDiagonal value</td><td>View</td></tr>
</thead>
<tbody>
<tr><td>BORDERDIAGONAL_NONE</td><td><img src="images/borderdiagonal_none.png" alt="BORDERDIAGONAL_NONE" style="border: medium none ;" /></td></tr>
<tr><td>BORDERDIAGONAL_DOWN</td><td><img src="images/borderdiagonal_down.png" alt="BORDERDIAGONAL_DOWN" style="border: medium none ;" /></td></tr>
<tr><td>BORDERDIAGONAL_UP</td><td><img src="images/borderdiagonal_up.png" alt="BORDERDIAGONAL_UP" style="border: medium none ;" /></td></tr>
<tr><td>BORDERDIAGONAL_BOTH</td><td><img src="images/borderdiagonal_both.png" alt="BORDERDIAGONAL_BOTH" style="border: medium none ;" /></td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="borderDiagonalStyle"></a><a href="#borderStyleTable">BorderStyle</a> <span class="fname">borderDiagonalStyle</span>() <span class="keyword">const</span> <div>Returns the <a href="#borderStyleTable">style</a> of the diagonal border.</div>
</li>
<li>
<a name="setBorderDiagonalStyle"></a><span class="keyword">void</span> <span class="fname">setBorderDiagonalStyle</span>(<a href="#borderStyleTable">BorderStyle</a> style)
<div>Sets the <a href="#borderStyleTable">style</a> of the diagonal border.</div>
</li>
<li>
<a name="borderDiagonalColor"></a><a href="colors.html">Color</a> <span class="fname">borderDiagonalColor</span>() <span class="keyword">const</span>
<div>Returns the <a href="colors.html">color</a> of the diagonal border.</div>
</li>
<li>
<a name="setBorderDiagonalColor"></a><span class="keyword">void</span> <span class="fname">setBorderDiagonalColor</span>(<a href="colors.html">Color</a> color)
<div>Sets the <a href="colors.html">color</a> of the diagonal border.</div>
</li>
<li>
<a name="fillPattern"></a>FillPattern <span class="fname">fillPattern</span>() <span class="keyword">const</span>
<div>Returns the fill pattern.</div>
</li>
<li>
<a name="setFillPattern"></a><span class="keyword">void</span> <span class="fname">setFillPattern</span>(FillPattern pattern)
<div>
Sets the fill pattern.
<table class="helptable">
<thead>
<tr><td>FillPattern value</td><td>View</td></tr>
</thead>
<tbody>
<tr><td>FILLPATTERN_NONE</td><td></td></tr>
<tr><td>FILLPATTERN_SOLID</td><td><img src="images/pattern_solid.png" alt="FILLPATTERN_SOLID" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_GRAY50</td><td><img src="images/pattern_gray50.png" alt="FILLPATTERN_GRAY50" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_GRAY75</td><td><img src="images/pattern_gray75.png" alt="FILLPATTERN_GRAY75" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_GRAY25</td><td><img src="images/pattern_gray25.png" alt="FILLPATTERN_GRAY25" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_HORSTRIPE</td><td><img src="images/pattern_horstripe.png" alt="FILLPATTERN_HORSTRIPE" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_VERSTRIPE</td><td><img src="images/pattern_verstripe.png" alt="FILLPATTERN_VERSTRIPE" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_REVDIAGSTRIPE</td><td><img src="images/pattern_revdiagstripe.png" alt="FILLPATTERN_REVDIAGSTRIPE" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_DIAGSTIPE</td><td><img src="images/pattern_diagstripe.png" alt="FILLPATTERN_DIAGSTIPE" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_DIAGCROSSHATCH</td><td><img src="images/pattern_diagcrosshatch.png" alt="FILLPATTERN_DIAGCROSSHATCH" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_THICKDIAGCROSSHATCH</td><td><img src="images/pattern_thickdiagcrosshatch.png" alt="FILLPATTERN_THICKDIAGCROSSHATCH" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_THINHORSTRIPE</td><td><img src="images/pattern_thinhorstripe.png" alt="FILLPATTERN_THINHORSTRIPE" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_THINVERSTRIPE</td><td><img src="images/pattern_thinverstripe.png" alt="FILLPATTERN_THINVERSTRIPE" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_THINREVDIAGSTRIPE</td><td><img src="images/pattern_thinrevdiagstripe.png" alt="FILLPATTERN_THINREVDIAGSTRIPE" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_THINDIAGSTRIPE</td><td><img src="images/pattern_thindiagstripe.png" alt="FILLPATTERN_THINDIAGSTRIPE" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_THINHORCROSSHATCH</td><td><img src="images/pattern_thinhorcrosshatch.png" alt="FILLPATTERN_THINHORCROSSHATCH" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_THINDIAGCROSSHATCH</td><td><img src="images/pattern_thindiagcrosshatch.png" alt="FILLPATTERN_THINDIAGCROSSHATCH" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_GRAY12P5</td><td><img src="images/pattern_gray12p5.png" alt="FILLPATTERN_GRAY12P5" style="border: medium none ;" /></td></tr>
<tr><td>FILLPATTERN_GRAY6P25</td><td><img src="images/pattern_gray6p25.png" alt="FILLPATTERN_GRAY6P25" style="border: medium none ;" /></td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="patternForegroundColor"></a><a href="colors.html">Color</a> <span class="fname">patternForegroundColor</span>() <span class="keyword">const</span> <div>Returns the foreground <a href="colors.html">color</a> of the fill pattern.</div>
</li>
<li>
<a name="setPatternForegroundColor"></a><span class="keyword">void</span> <span class="fname">setPatternForegroundColor</span>(<a href="colors.html">Color</a> color) <div>Sets the foreground <a href="colors.html">color</a> of the fill pattern.</div>
</li>
<li>
<a name="patternBackgroundColor"></a><a href="colors.html">Color</a> <span class="fname">patternBackgroundColor</span>() <span class="keyword">const</span> <div>Returns the background <a href="colors.html">color</a> of the fill pattern.</div>
</li>
<li>
<a name="setPatternBackgroundColor"></a><span class="keyword">void</span> <span class="fname">setPatternBackgroundColor</span>(<a href="colors.html">Color</a> color) <div>Sets the background <a href="colors.html">color</a> of the fill pattern.</div>
</li>
<li>
<a name="locked"></a><span class="keyword">bool</span> <span class="fname">locked</span>() <span class="keyword">const</span> <div>Returns whether the locked protection property is set to true.</div>
</li>
<li>
<a name="setLocked"></a><span class="keyword">void</span> <span class="fname">setLocked</span>(<span class="keyword">bool</span> locked = <span class="keyword">true</span>) <div>Sets the locked protection property.</div>
</li>
<li>
<a name="hidden"></a><span class="keyword">bool</span> <span class="fname">hidden</span>() <span class="keyword">const</span> <div>Returns whether the hidden protection property is set to true.</div>
</li>
<li>
<a name="setHidden"></a><span class="keyword">void</span> <span class="fname">setHidden</span>(<span class="keyword">bool</span> hidden = <span class="keyword">true</span>) <div>Sets the hidden protection property.</div>
</li>
</ul>
<div class="blinks"><a href="index.html">Index</a>&nbsp;<a href="workbook.html">Book</a>&nbsp;<a href="spreadsheet.html">Sheet</a>&nbsp;<b>Format</b>&nbsp;<a href="font.html">Font</a>&nbsp;<a href="autoFilter.html">AutoFilter</a>&nbsp;<a href="filterColumn.html">FilterColumn</a>&nbsp;</div>
</div>
</td>
</tr>
<tr>
<td id="footer">© 2008 - 2017 XLware. All rights reserved.</td>
</tr>
</tbody>
</table>
</body>
</html>

0
3rdparty/libxl-3.8.1.0/doc/images/alignh_center.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/alignh_distributed.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

0
3rdparty/libxl-3.8.1.0/doc/images/alignh_fill.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/alignh_general.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

0
3rdparty/libxl-3.8.1.0/doc/images/alignh_justify.png

0
3rdparty/libxl-3.8.1.0/doc/images/alignh_left.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/alignh_merge.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

0
3rdparty/libxl-3.8.1.0/doc/images/alignh_right.png

0
3rdparty/libxl-3.8.1.0/doc/images/alignv_bottom.png

0
3rdparty/libxl-3.8.1.0/doc/images/alignv_center.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/alignv_distributed.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

0
3rdparty/libxl-3.8.1.0/doc/images/alignv_justify.png

0
3rdparty/libxl-3.8.1.0/doc/images/alignv_top.png

0
3rdparty/libxl-3.8.1.0/doc/images/borderdiagonal_both.png

0
3rdparty/libxl-3.8.1.0/doc/images/borderdiagonal_down.png

0
3rdparty/libxl-3.8.1.0/doc/images/borderdiagonal_none.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderdiagonal_up.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 816 B

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_dashdot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

0
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_dashdotdot.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_dashed.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

0
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_dotted.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_double.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 824 B

0
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_hair.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_medium.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 824 B

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_mediumdashdot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

0
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_mediumdashdotdot.png

0
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_mediumdashed.png

0
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_none.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_slantdashdot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_thick.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

BIN
3rdparty/libxl-3.8.1.0/doc/images/borderstyle_thin.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

BIN
3rdparty/libxl-3.8.1.0/doc/images/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
3rdparty/libxl-3.8.1.0/doc/images/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_diagcrosshatch.png

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_diagstripe.png

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_gray12p5.png

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_gray25.png

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_gray50.png

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_gray6p25.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/pattern_gray75.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_horstripe.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/pattern_revdiagstripe.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_solid.png

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_thickdiagcrosshatch.png

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_thindiagcrosshatch.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/pattern_thindiagstripe.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

BIN
3rdparty/libxl-3.8.1.0/doc/images/pattern_thinhorcrosshatch.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_thinhorstripe.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/pattern_thinrevdiagstripe.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

BIN
3rdparty/libxl-3.8.1.0/doc/images/pattern_thinverstripe.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

0
3rdparty/libxl-3.8.1.0/doc/images/pattern_verstripe.png

0
3rdparty/libxl-3.8.1.0/doc/images/underline_double.png

BIN
3rdparty/libxl-3.8.1.0/doc/images/underline_doubleacc.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 778 B

0
3rdparty/libxl-3.8.1.0/doc/images/underline_none.png

0
3rdparty/libxl-3.8.1.0/doc/images/underline_single.png

0
3rdparty/libxl-3.8.1.0/doc/images/underline_singleacc.png

0
3rdparty/libxl-3.8.1.0/doc/index.html

813
3rdparty/libxl-3.8.1.0/doc/spreadsheet.html

@ -0,0 +1,813 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<title>LibXL: Sheet class reference</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<table id="container" cellspacing="6">
<tbody>
<tr>
<td id="header">
<a href="http://www.libxl.com" title="Home">
<img src="images/logo.png" style="border: medium none ; float: left; margin-left: 2em;" alt="LibXL - direct reading and writing Excel files" />
</a>
<div style="margin-left: 13em; margin-top: 2em;">
<span id="title">LibXL</span><br/>
<div id="subtitle">API reference version 3.8.0</div>
</div>
</td>
</tr>
<tr>
<td valign="top" width="100%">
<div id="content">
<div><a href="index.html">Index</a>&nbsp;<a href="workbook.html">Book</a>&nbsp;<b>Sheet</b>&nbsp;<a href="format.html">Format</a>&nbsp;<a href="font.html">Font</a>&nbsp;<a href="autoFilter.html">AutoFilter</a>&nbsp;<a href="filterColumn.html">FilterColumn</a>&nbsp;</div>
<h3>Sheet class reference</h3>
<ul class="doc">
<li style="margin-top: 0px;">
<a name="cellType"></a>CellType <span class="fname">cellType</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <span class="keyword">const</span>
<div>Returns cell's type. <table class="helptable">
<thead>
<tr><td>CellType value</td><td>Description</td></tr>
</thead>
<tr><td>CELLTYPE_EMPTY</td><td>empty</td></tr>
<tr><td>CELLTYPE_NUMBER</td><td>number value</td></tr>
<tr><td>CELLTYPE_STRING</td><td>string value</td></tr>
<tr><td>CELLTYPE_BOOLEAN</td><td>boolean value</td></tr>
<tr><td>CELLTYPE_BLANK</td><td>blank</td></tr>
<tr><td>CELLTYPE_ERROR</td><td>error</td></tr>
</table>
</div>
</li>
<li>
<a name="isFormula"></a><span class="keyword">bool</span> <span class="fname">isFormula</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <span class="keyword">const</span> <div>Checks that cell contains a formula. </div>
</li>
<li>
<a name="cellFormat"></a><a href="format.html">Format</a>* <span class="fname">cellFormat</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <span class="keyword">const</span> <div>Returns cell's format. It can be changed by user.</div>
</li>
<li>
<a name="setCellFormat"></a>void <span class="fname">setCellFormat</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <a href="format.html">Format</a>* format) <div>Sets cell's format.</div>
</li>
<li>
<a name="readStr"></a><span class="keyword">const wchar_t*</span> <span class="fname">readStr</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <a href="format.html">Format</a>** format = 0) <div>Reads a string and its format from cell. Memory is allocated internally and valid until a new workbook is loaded or <a href="workbook.html#release">Book::release()</a> is called for binary implementation (xls). But it's needed to copy a result string every time in xml implementation (xlsx).
Returns NULL if specified cell doesn't contain string or error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="writeStr"></a><span class="keyword">bool</span> <span class="fname">writeStr</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">const wchar_t</span>* value, <a href="format.html">Format</a>* format = 0)
<div>
Writes a string into cell with specified format. If <i>format</i>
equals 0 then format is ignored. String is copied internally and can be
destroyed after call this method. Returns false if error occurs. Get
error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.
</div>
</li>
<li>
<a name="readNum"></a><span class="keyword">double</span> <span class="fname">readNum</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <a href="format.html">Format</a>** format = 0) <span class="keyword">const</span> <div>Reads a number or date/time and its format from cell. Use <a href="workbook.html#dateUnpack">Book::dateUnpack()</a> for extract date/time parts from double. If <i>*format</i> == 0 then error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="writeNum"></a><span class="keyword">bool</span> <span class="fname">writeNum</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">double</span> value, <a href="format.html">Format</a>* format = 0) <div>Writes a number or date/time into cell with specified format. If <i>format</i> equals 0 then format is ignored. Use <a href="workbook.html#datePack">Book::datePack()</a> for packing date/time parts to double. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="readBool"></a><span class="keyword">bool</span> <span class="fname">readBool</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <a href="format.html">Format</a>** format = 0) <span class="keyword">const</span> <div>Reads a bool value and its format from cell. If <i>*format</i> == 0 then error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="writeBool"></a><span class="keyword">bool</span> <span class="fname">writeBool</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">bool</span> value, <a href="format.html">Format</a>* format = 0) <span class="keyword">const</span> <div>Writes
a bool value into cell with specified format. If format equals 0 then
format is ignored. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="readBlank"></a><span class="keyword">bool</span> <span class="fname">readBlank</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <a href="format.html">Format</a>** format = 0) <span class="keyword">const</span> <div>Reads format from blank cell. Returns false if specified cell isn't blank or error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="writeBlank"></a><span class="keyword">bool</span> <span class="fname">writeBlank</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <a href="format.html">Format</a>* format) <div>Writes blank cell with specified format. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="readFormula"></a><span class="keyword">const wchar_t</span>* <span class="fname">readFormula</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <a href="format.html">Format</a>** format = 0) <div>Reads a formula string and its format from cell. Returns NULL if specified cell doesn't contain formula or error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="writeFormula"></a><span class="keyword">bool</span> <span class="fname">writeFormula</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">const wchar_t</span>* value, <a href="format.html">Format</a>* format = 0) <div>Writes a formula into cell with specified format. If <i>format</i> equals 0 then format is ignored. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="writeFormulaNum"></a><span class="keyword">bool</span> <span class="fname">writeFormulaNum</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">const wchar_t</span>* expr, <span class="keyword">double</span> value, <a href="format.html">Format</a>* format = 0) <div>Writes a formula expression with precalculated double <i>value</i> into cell with specified format. If <i>format</i> equals 0 then format is ignored. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="writeFormulaStr"></a><span class="keyword">bool</span> <span class="fname">writeFormulaStr</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">const wchar_t</span>* expr, <span class="keyword">const wchar_t</span>* value, <a href="format.html">Format</a>* format = 0) <div>Writes a formula expression with precalculated string <i>value</i> into cell with specified format. If <i>format</i> equals 0 then format is ignored. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="writeFormulaBool"></a><span class="keyword">bool</span> <span class="fname">writeFormulaBool</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">const wchar_t</span>* expr, <span class="keyword">bool</span> value, <a href="format.html">Format</a>* format = 0) <div>Writes a formula expression with precalculated bool <i>value</i> into cell with specified format. If <i>format</i> equals 0 then format is ignored. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="readComment"></a><span class="keyword">const wchar_t</span>* <span class="fname">readComment</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <span class="keyword">const</span> <div>Reads a comment from specified cell (only for xls format).</div>
</li>
<li>
<a name="writeComment"></a><span class="keyword">void</span> <span class="fname">writeComment</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">const wchar_t</span>* value, <span class="keyword">const wchar_t</span>* author = 0, <span class="keyword">int</span> width = 129, <span class="keyword">int</span> height = 75)
<div>
Writes a comment to the cell (only for xls format). Parameters:<br/>
<i>(row, col)</i> - cell's position;<br/>
<i>value</i> - comment string;<br/>
<i>author</i> - author string;<br/>
<i>width</i> - width of text box in pixels;<br/>
<i>height</i> - height of text box in pixels.
</div>
</li>
<li>
<a name="removeComment"></a><span class="keyword">void</span> <span class="fname">removeComment</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <div>Removes a comment from the cell (only for xls format).
</div>
</li>
<li>
<a name="isDate"></a><span class="keyword">bool</span> <span class="fname">isDate</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <span class="keyword">const</span> <div>Checks that cell contains a date or time value.</div>
</li>
<li>
<a name="readError"></a>ErrorType <span class="fname">readError</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <span class="keyword">const</span>
<div>
Reads error from cell.
<table class="helptable">
<thead>
<tr><td>ErrorType value</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>ERRORTYPE_NULL</td><td align="center">#NULL!</td></tr>
<tr><td>ERRORTYPE_DIV_0</td><td align="center">#DIV/0!</td></tr>
<tr><td>ERRORTYPE_VALUE</td><td align="center">#VALUE!</td></tr>
<tr><td>ERRORTYPE_REF</td><td align="center">#REF!</td></tr>
<tr><td>ERRORTYPE_NAME</td><td align="center">#NAME?</td></tr>
<tr><td>ERRORTYPE_NUM</td><td align="center">#NUM!</td></tr>
<tr><td>ERRORTYPE_NA</td><td align="center">#N/A</td></tr>
<tr><td>ERRORTYPE_NOERROR</td><td align="center">no error</td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="writeError"></a><span class="keyword">void</span> <span class="fname">writeError</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, ErrorType error, Format* format = 0) <div>Writes error into the cell with specified format. If <i>format</i> equals 0 then format is ignored.</div>
</li>
<li>
<a name="colWidth"></a><span class="keyword">double</span> <span class="fname">colWidth</span>(<span class="keyword">int</span> col) <span class="keyword">const</span> <div>Returns column width.</div>
</li>
<li>
<a name="rowHeight"></a><span class="keyword">double</span> <span class="fname">rowHeight</span>(<span class="keyword">int</span> row) <span class="keyword">const</span> <div>Returns row height.</div>
</li>
<li>
<a name="setCol"></a><span class="keyword">bool</span> <span class="fname">setCol</span>(<span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast, <span class="keyword">double</span> width, <a href="format.html">Format</a>* format = 0, <span class="keyword">bool</span> hidden = <span class="keyword">false</span>) <div>Sets column width and format for all columns from <i>colFirst</i> to <i>colLast</i>. Column width measured as the number of characters of the maximum digit width of the numbers 0, 1, 2, ..., 9 as rendered in the normal style's font. Value -1 is used for autofit column widths. If <i>format</i> equals 0 then format is ignored. Columns may be hidden. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="setRow"></a><span class="keyword">bool</span> <span class="fname">setRow</span>(<span class="keyword">int</span> row, <span class="keyword">double</span> height, <a href="format.html">Format</a>* format = 0, <span class="keyword">bool</span> hidden = <span class="keyword">false</span>) <div>Sets row height and format. Row height measured in point size. If <i>format</i> equals 0 then format is ignored. Row may be hidden. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="rowHidden"></a><span class="keyword">bool</span> <span class="fname">rowHidden</span>(<span class="keyword">int</span> row) <span class="keyword">const</span> <div>Returns whether <i>row</i> is hidden.</div>
</li>
<li>
<a name="setRowHidden"></a><span class="keyword">bool</span> <span class="fname">setRowHidden</span>(<span class="keyword">int</span> row, <span class="keyword">bool</span> hidden) <div>Hides <i>row</i>.</div>
</li>
<li>
<a name="colHidden"></a><span class="keyword">bool</span> <span class="fname">colHidden</span>(<span class="keyword">int</span> col) <span class="keyword">const</span> <div>Returns whether column is hidden.</div>
</li>
<li>
<a name="setColHidden"></a><span class="keyword">bool</span> <span class="fname">setColHidden</span>(<span class="keyword">int</span> col, <span class="keyword">bool</span> hidden) <div>Hides column.</div>
</li>
<li>
<a name="getMerge"></a><span class="keyword">bool</span> <span class="fname">getMerge</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">int</span>* rowFirst, <span class="keyword">int</span>* rowLast, <span class="keyword">int</span>* colFirst, <span class="keyword">int</span>* colLast) <div>Gets merged cells for cell at <i>row</i>, <i>col</i>. Result is written in <i>rowFirst</i>, <i>rowLast</i>, <i>colFirst</i>, <i>colLast</i>. Returns true if specified cell is in a merged area else returns false. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="setMerge"></a><span class="keyword">bool</span> <span class="fname">setMerge</span>(<span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast, <span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast) <div>Sets merged cells for range: <i>rowFirst</i> - <i>rowLast</i>, <i>colFirst</i> - <i>colLast</i>. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="delMerge"></a><span class="keyword">bool</span> <span class="fname">delMerge</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <div>Removes merged cells. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="mergeSize"></a><span class="keyword">int</span> <span class="fname">mergeSize</span>() <span class="keyword">const</span> <div>Returns a number of merged cells in this worksheet.</div>
</li>
<li>
<a name="merge"></a><span class="keyword">bool</span> <span class="fname">merge</span>(<span class="keyword">int</span> index, <span class="keyword">int</span>* rowFirst, <span class="keyword">int</span>* rowLast, <span class="keyword">int</span>* colFirst, <span class="keyword">int</span>* colLast) <div>Gets the merged cells by <i>index</i>.</div>
</li>
<li>
<a name="delMergeByIndex"></a><span class="keyword">bool</span> <span class="fname">delMergeByIndex</span>(<span class="keyword">int</span> index) <div>Removes merged cells by <i>index</i>.</div>
</li>
<li>
<a name="pictureSize"></a><span class="keyword">int</span> <span class="fname">pictureSize</span>() <span class="keyword">const</span> <div>Returns a number of pictures in this worksheet.</div>
</li>
<li>
<a name="getPicture"></a><span class="keyword">int</span> <span class="fname">getPicture</span>(<span class="keyword">int</span> index, <span class="keyword">int</span>* rowTop, <span class="keyword">int</span>* colLeft, <span class="keyword">int</span>* rowBottom, <span class="keyword">int</span>* colRight, <span class="keyword">int</span>* width, <span class="keyword">int</span>* height, <span class="keyword">int</span>* offset_x, <span class="keyword">int</span>* offset_y)
<div>Returns a workbook picture index at position <i>index</i> in worksheet. Output parameters:<br/>
(<i>rowTop</i>, <i>colLeft</i>) - top left position of picture;<br/>
(<i>rowBottom</i>, <i>colRight</i>) - bottom right position of picture;<br/>
<i>width</i> - width of picture in pixels;<br/>
<i>height</i> - height of picture in pixels;<br/>
<i>offset_x</i> - horizontal offset of picture in pixels;<br/>
<i>offset_y</i> - vertical offset of picture in pixels.<br/>
Use <a href="workbook.html#getPicture">Book::getPicture()</a> for extracting binary data of picture by workbook picture index.<br/>
Returns -1 if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.
</div>
</li>
<li>
<a name="setPicture"></a><span class="keyword">void</span> <span class="fname">setPicture</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">int</span> pictureId, <span class="keyword">double</span> scale = 1.0, <span class="keyword">int</span> offset_x = 0, <span class="keyword">int</span> offset_y = 0) <div>Sets a picture with <i>pictureId</i> identifier at position <i>row</i> and <i>col</i> with scale factor and offsets in pixels. Use <a href="workbook.html#addPicture">Book::addPicture()</a> for getting picture identifier.</div>
</li>
<li>
<a name="setPicture2"></a><span class="keyword">void</span> <span class="fname">setPicture2</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">int</span> pictureId, <span class="keyword">int</span> width = -1, <span class="keyword">int</span> height = -1, <span class="keyword">int</span> offset_x = 0, <span class="keyword">int</span> offset_y = 0) <div>Sets a picture with <i>pictureId</i> identifier at position <i>row</i> and <i>col</i> with custom size and offsets in pixels. Use <a href="workbook.html#addPicture">Book::addPicture()</a> for getting a picture identifier.</div>
</li>
<li>
<a name="getHorPageBreak"></a><span class="keyword">int</span> <span class="fname">getHorPageBreak</span>(<span class="keyword">int</span> index) <span class="keyword">const</span> <div>Returns row with horizontal page break at position <i>index</i>.</div>
</li>
<li>
<a name="getHorPageBreakSize"></a><span class="keyword">int</span> <span class="fname">getHorPageBreakSize</span>() <span class="keyword">const</span> <div>Returns a number of horizontal page breaks in the sheet.</div>
</li>
<li>
<a name="getVerPageBreak"></a><span class="keyword">int</span> <span class="fname">getVerPageBreak</span>(<span class="keyword">int</span> index) <span class="keyword">const</span> <div>Returns column with vertical page break at position <i>index</i>.</div>
</li>
<li>
<a name="getVerPageBreakSize"></a><span class="keyword">int</span> <span class="fname">getVerPageBreakSize</span>() <span class="keyword">const</span> <div>Returns a number of vertical page breaks in the sheet.</div>
</li>
<li>
<a name="setHorPageBreak"></a><span class="keyword">bool</span> <span class="fname">setHorPageBreak</span>(<span class="keyword">int</span> row, <span class="keyword">bool</span> pageBreak = <span class="keyword">true</span>) <div>Sets/removes a horizontal page break. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="setVerPageBreak"></a><span class="keyword">bool</span> <span class="fname">setVerPageBreak</span>(<span class="keyword">int</span> col, <span class="keyword">bool</span> pageBreak = <span class="keyword">true</span>) <div>Sets/removes a vertical page break. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="split"></a><span class="keyword">void</span> <span class="fname">split</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <div>Splits a sheet at position (row, col) or specifies the position of frozen pane. This function allows to freeze a header at top position or freeze some columns on the right.</div>
</li>
<li>
<a name="splitInfo"></a><span class="keyword">bool</span> <span class="fname">splitInfo</span>(<span class="keyword">int</span>* row, <span class="keyword">int</span>* col) <span class="keyword">const</span>
<div>Gets the split information (position of frozen pane) in the sheet:<br/>
<i>row</i> - vertical position of the split;<br/>
<i>col</i> - horizontal position of the split.</div>
</li>
<li>
<a name="groupRows"></a><span class="keyword">bool</span> <span class="fname">groupRows</span>(<span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast, <span class="keyword">bool</span> collapsed = <span class="keyword">true</span>) <div>Groups rows from <i>rowFirst</i> to <i>rowLast</i>. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="groupCols"></a><span class="keyword">bool</span> <span class="fname">groupCols</span>(<span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast, <span class="keyword">bool</span> collapsed = <span class="keyword">true</span>) <div>Groups columns from <i>colFirst</i> to <i>colLast</i>. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="groupSummaryBelow"></a><span class="keyword">bool</span> <span class="fname">groupSummaryBelow</span>() <span class="keyword">const</span> <div>Returns whether grouping rows summary is below. Returns true if summary is below and false if isn't.</div>
</li>
<li>
<a name="setGroupSummaryBelow"></a><span class="keyword">void</span> <span class="fname">setGroupSummaryBelow</span>(<span class="keyword">bool</span> below) <div>Sets a flag of grouping rows summary: true - below, false - above.</div>
</li>
<li>
<a name="groupSummaryRight"></a><span class="keyword">bool</span> <span class="fname">groupSummaryRight</span>() <span class="keyword">const</span> <div>Returns whether grouping columns summary is right. Returns true if summary is right and false if isn't.</div>
</li>
<li>
<a name="setGroupSummaryRight"></a><span class="keyword">void</span> <span class="fname">setGroupSummaryRight</span>(<span class="keyword">bool</span> right) <div>Sets a flag of grouping rows summary: true - right, false - left.</div>
</li>
<li>
<a name="clear"></a><span class="keyword">void</span> <span class="fname">clear</span>(<span class="keyword">int</span> rowFirst = 0, <span class="keyword">int</span> rowLast = 1048575, <span class="keyword">int</span> colFirst = 0, <span class="keyword">int</span> colLast = 16383) <div>Clears cells in specified area.</div>
</li>
<li>
<a name="insertRow"></a><span class="keyword">bool</span> <span class="fname">insertRow</span>(<span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast) <div>Inserts rows from <i>rowFirst</i> to <i>rowLast</i>. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="insertCol"></a><span class="keyword">bool</span> <span class="fname">insertCol</span>(<span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast) <div>Inserts columns from <i>colFirst</i> to <i>colLast</i>. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="removeRow"></a><span class="keyword">bool</span> <span class="fname">removeRow</span>(<span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast) <div>Removes rows from <i>rowFirst</i> to <i>rowLast</i>. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="removeCol"></a><span class="keyword">bool</span> <span class="fname">removeCol</span>(<span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast) <div>Removes columns from <i>colFirst</i> to <i>colLast</i>. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="copyCell"></a><span class="keyword">bool</span> <span class="fname">copyCell</span>(<span class="keyword">int</span> rowSrc, <span class="keyword">int</span> colSrc, <span class="keyword">int</span> rowDst, <span class="keyword">int</span> colDst) <div>Copies cell with format from (<i>rowSrc</i>, <i>colSrc</i>) to (<i>rowDst</i>, <i>colDst</i>). Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="firstRow"></a><span class="keyword">int</span> <span class="fname">firstRow</span>() <span class="keyword">const</span> <div>Returns the first row in the sheet that contains a used cell.</div>
</li>
<li>
<a name="lastRow"></a><span class="keyword">int</span> <span class="fname">lastRow</span>() <span class="keyword">const</span> <div>Returns the zero-based index of the row after the last row in the sheet that contains a used cell.</div>
</li>
<li>
<a name="firstCol"></a><span class="keyword">int</span> <span class="fname">firstCol</span>() <span class="keyword">const</span> <div>Returns the first column in the sheet that contains a used cell.</div>
</li>
<li>
<a name="lastCol"></a><span class="keyword">int</span> <span class="fname">lastCol</span>() <span class="keyword">const</span> <div>Returns the zero-based index of the column after the last column in the sheet that contains a used cell.</div>
</li>
<li>
<a name="displayGridlines"></a><span class="keyword">bool</span> <span class="fname">displayGridlines</span>() <span class="keyword">const</span> <div>Returns whether the gridlines are displayed. Returns true if gridlines are displayed and false if aren't.</div>
</li>
<li>
<a name="setDisplayGridlines"></a><span class="keyword">void</span> <span class="fname">setDisplayGridlines</span>(<span class="keyword">bool</span> show = <span class="keyword">true</span>) <div>Sets gridlines for displaying, true - gridlines are displayed, false - gridlines aren't displayed.</div>
</li>
<li>
<a name="printGridlines"></a><span class="keyword">bool</span> <span class="fname">printGridlines</span>() <span class="keyword">const</span> <div>Returns whether the gridlines are printed. Return true if gridlines are printed and false if aren't.</div>
</li>
<li>
<a name="setPrintGridlines"></a><span class="keyword">void</span> <span class="fname">setPrintGridlines</span>(<span class="keyword">bool</span> print = <span class="keyword">true</span>) <div>Sets gridlines for printing, true - gridlines are printed, false - gridlines aren't printed.</div>
</li>
<li>
<a name="zoom"></a><span class="keyword">int</span> <span class="fname">zoom</span>() <span class="keyword">const</span> <div>Returns the zoom level of the current view as a percentage.</div>
</li>
<li>
<a name="setZoom"></a><span class="keyword">void</span> <span class="fname">setZoom</span>(<span class="keyword">int</span> zoom) <div>Sets the zoom level of the current view. 100 is a usual view.</div>
</li>
<li>
<a name="printZoom"></a><span class="keyword">int</span> <span class="fname">printZoom</span>() <span class="keyword">const</span> <div>Returns the scaling factor for printing as a percentage.</div>
</li>
<li>
<a name="setPrintZoom"></a><span class="keyword">void</span> <span class="fname">setPrintZoom</span>(<span class="keyword">int</span> zoom) <div>Sets the scaling factor for printing as a percentage.</div>
</li>
<li>
<a name="getPrintFit"></a><span class="keyword">bool</span> <span class="fname">getPrintFit</span>(<span class="keyword">int</span>* wPages, <span class="keyword">int</span>* hPages) <span class="keyword">const</span> <div>Returns whether fit to page option is enabled. Output parameters:<br/>
<i>wPages</i> - number of pages the sheet width is fit to;<br/>
<i>hPages</i> - number of pages the sheet height is fit to.</div>
</li>
<li>
<a name="setPrintFit"></a><span class="keyword">void</span> <span class="fname">setPrintFit</span>(<span class="keyword">int</span> wPages = 1, <span class="keyword">int</span> hPages = 1) <div>Fits sheet width and sheet height to <i>wPages</i> and <i>hPages</i> respectively. </div>
</li>
<li>
<a name="landscape"></a><span class="keyword">bool</span> <span class="fname">landscape</span>() <span class="keyword">const</span> <div>Returns a page orientation mode, true - landscape mode, false - portrait mode.</div>
</li>
<li>
<a name="setLandscape"></a><span class="keyword">void</span> <span class="fname">setLandscape</span>(<span class="keyword">bool</span> landscape = <span class="keyword">true</span>)
<div>
Sets landscape or portrait mode for printing, true - pages are printed using
landscape mode, false - pages are printed using portrait mode.
</div>
</li>
<li>
<a name="paper"></a>Paper <span class="fname">paper</span>() <span class="keyword">const</span>
<div>Retrurns the paper size.</div>
</li>
<li>
<a name="setPaper"></a><span class="keyword">void</span> <span class="fname">setPaper</span>(Paper paper = PAPER_DEFAULT)
<div>
Sets the paper size.
<table class="helptable">
<thead>
<tr><td>Paper value</td><td>Description</td></tr>
</thead>
<tbody>
<tr><td>PAPER_DEFAULT</td><td>Default paper size</td></tr>
<tr><td>PAPER_LETTER</td><td>US Letter 8 1/2 x 11 in</td></tr>
<tr><td>PAPER_LETTERSMALL</td><td>US Letter Small 8 1/2 x 11 in</td></tr>
<tr><td>PAPER_TABLOID</td><td>US Tabloid 11 x 17 in</td></tr>
<tr><td>PAPER_LEDGER</td><td>US Ledger 17 x 11 in</td></tr>
<tr><td>PAPER_LEGAL</td><td>US Legal 8 1/2 x 14 in </td></tr>
<tr><td>PAPER_STATEMENT</td><td>US Statement 5 1/2 x 8 1/2 in</td></tr>
<tr><td>PAPER_EXECUTIVE</td><td>US Executive 7 1/4 x 10 1/2 in</td></tr>
<tr><td>PAPER_A3</td><td>A3 297 x 420 mm</td></tr>
<tr><td>PAPER_A4</td><td>A4 210 x 297 mm</td></tr>
<tr><td>PAPER_A4SMALL</td><td>A4 Small 210 x 297 mm</td></tr>
<tr><td>PAPER_A5</td><td>A5 148 x 210 mm</td></tr>
<tr><td>PAPER_B4</td><td>B4 (JIS) 250 x 354</td></tr>
<tr><td>PAPER_B5</td><td>B5 (JIS) 182 x 257 mm</td></tr>
<tr><td>PAPER_FOLIO</td><td>Folio 8 1/2 x 13 in</td></tr>
<tr><td>PAPER_QUATRO</td><td>Quarto 215 x 275 mm</td></tr>
<tr><td>PAPER_10x14</td><td>10 x 14 in</td></tr>
<tr><td>PAPER_10x17</td><td>11 x 17 in</td></tr>
<tr><td>PAPER_NOTE</td><td>US Note 8 1/2 x 11 in</td></tr>
<tr><td>PAPER_ENVELOPE_9</td><td>US Envelope #9 3 7/8 x 8 7/8</td></tr>
<tr><td>PAPER_ENVELOPE_10</td><td>US Envelope #10 4 1/8 x 9 1/2</td></tr>
<tr><td>PAPER_ENVELOPE_11</td><td>US Envelope #11 4 1/2 x 10 3/8</td></tr>
<tr><td>PAPER_ENVELOPE_12</td><td>US Envelope #12 4 3/4 x 11</td></tr>
<tr><td>PAPER_ENVELOPE_14</td><td>US Envelope #14 5 x 11 1/2</td></tr>
<tr><td>PAPER_C_SIZE</td><td>C size sheet</td></tr>
<tr><td>PAPER_D_SIZE</td><td>D size sheet</td></tr>
<tr><td>PAPER_E_SIZE</td><td>E size sheet</td></tr>
<tr><td>PAPER_ENVELOPE_DL</td><td>Envelope DL 110 x 220mm</td></tr>
<tr><td>PAPER_ENVELOPE_C5</td><td>Envelope C5 162 x 229 mm</td></tr>
<tr><td>PAPER_ENVELOPE_C3</td><td>Envelope C3 324 x 458 mm </td></tr>
<tr><td>PAPER_ENVELOPE_C4</td><td>Envelope C4 229 x 324 mm</td></tr>
<tr><td>PAPER_ENVELOPE_C6</td><td>Envelope C6 114 x 162 mm</td></tr>
<tr><td>PAPER_ENVELOPE_C65</td><td>Envelope C65 114 x 229 mm</td></tr>
<tr><td>PAPER_ENVELOPE_B4</td><td>Envelope B4 250 x 353 mm</td></tr>
<tr><td>PAPER_ENVELOPE_B5</td><td>Envelope B5 176 x 250 mm</td></tr>
<tr><td>PAPER_ENVELOPE_B6</td><td>Envelope B6 176 x 125 mm</td></tr>
<tr><td>PAPER_ENVELOPE</td><td>Envelope 110 x 230 mm</td></tr>
<tr><td>PAPER_ENVELOPE_MONARCH</td><td>US Envelope Monarch 3.875 x 7.5 in</td></tr>
<tr><td>PAPER_US_ENVELOPE</td><td>US Envelope 3 5/8 x 6 1/2 in</td></tr>
<tr><td>PAPER_FANFOLD</td><td>US Std Fanfold 14 7/8 x 11 in </td></tr>
<tr><td>PAPER_GERMAN_STD_FANFOLD</td><td>German Std Fanfold 8 1/2 x 12 in</td></tr>
<tr><td>PAPER_GERMAN_LEGAL_FANFOLD</td><td>German Legal Fanfold 8 1/2 x 13 in</td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="header1"></a><span class="keyword">const wchar_t</span>* <span class="fname">header</span>() <span class="keyword">const</span>
<div>Returns the header text of the sheet when printed. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="setHeader"></a><span class="keyword">bool</span> <span class="fname">setHeader</span>(<span class="keyword">const wchar_t</span>* header, <span class="keyword">double</span> margin = 0.5)
<div>
Sets the header text of the sheet when printed. The text appears at the
top of every page when printed. The length of the text must be less
than or equal to 255. The header text can contain special commands, for
example a placeholder for the page number, current date or text
formatting attributes. Special commands are represented by single
letter with a leading ampersand ("&amp;"). Margin is specified in
inches.
<table class="helptable">
<thead>
<tr>
<td>Code</td><td>Description</td>
</tr>
</thead>
<tbody><tr>
<td>&amp;L</td><td>specifies the beginning of the left section</td>
</tr>
<tr>
<td>&amp;P</td><td>specifies the current page number</td>
</tr>
<tr>
<td>&amp;N</td><td>specifies the total number of pages</td>
</tr>
<tr>
<td>&amp;<span style="color: brown;">\d{1,3}</span></td><td>specifies the text font size, where font size is measured in points, for example: &amp;9 or &amp;36</td>
</tr>
<tr>
<td>&amp;S</td><td>specifies whether the strikethrough text style is on or off</td>
</tr>
<tr>
<td>&amp;X</td><td>specifies whether the superscript text style is on or off</td>
</tr>
<tr>
<td>&amp;Y</td><td>specifies whether the subscript text style is on or off</td>
</tr>
<tr>
<td>&amp;C</td><td>specifies the beginning of the center section</td>
</tr>
<tr>
<td>&amp;D</td><td>specifies a date</td>
</tr>
<tr>
<td>&amp;T</td><td>specifies a time</td>
</tr>
<tr>
<td>&amp;G</td><td>specifies a picture</td>
</tr>
<tr>
<td>&amp;U</td><td>specifies whether the single underline text style is on or off</td>
</tr>
<tr>
<td>&amp;E</td><td>specifies whether the double underline text style is on or off</td>
</tr>
<tr>
<td>&amp;R</td><td>specifies the beginning of the right section</td>
</tr>
<tr>
<td>&amp;Z</td><td>specifies a workbook file path</td>
</tr>
<tr>
<td>&amp;F</td><td>specifies a workbook file name</td>
</tr>
<tr>
<td>&amp;A</td><td>specifies a sheet name</td>
</tr>
<tr>
<td>&amp;"fontname"</td><td>specifies the text font, for example: &amp;"Comic Sans MS"</td>
</tr>
<tr>
<td>&amp;B</td><td>specifies whether the bold text style is on or off</td>
</tr>
<tr>
<td>&amp;I</td><td>specifies whether the italic text style is on or off</td>
</tr>
<tr>
<td>&amp;&amp;</td><td>specifies an ampersand character (&amp;)</td>
</tr>
</tbody></table>
</div>
</li>
<li>
<a name="headerMargin"></a><span class="keyword">double</span> <span class="fname">headerMargin</span>() <span class="keyword">const</span> <div>Returns the header margin in inches.</div>
</li>
<li>
<a name="footer"></a><span class="keyword">const wchar_t</span>* <span class="fname">footer</span>() <span class="keyword">const</span> <div>Returns the footer text of the sheet when printed. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.</div>
</li>
<li>
<a name="setFooter"></a><span class="keyword">bool</span> <span class="fname">setFooter</span>(<span class="keyword">const wchar_t</span>* footer, <span class="keyword">double</span> margin = 0.5)
<div>
Sets the footer text for the sheet when printed. The footer text
appears at the bottom of every page when printed. The length of the
text must be less than or equal to 255. The footer text can contain
special commands, for example a placeholder for the page number,
current date or text formatting attributes. See <a href="#setHeader">setHeader</a> for details.
Margin is specified in inches.
</div>
</li>
<li>
<a name="footerMargin"></a><span class="keyword">double</span> <span class="fname">footerMargin</span>() <span class="keyword">const</span> <div>Returns the footer margin in inches.</div>
</li>
<li>
<a name="hCenter"></a><span class="keyword">bool</span> <span class="fname">hCenter</span>() <span class="keyword">const</span> <div>Returns whether the sheet is centered horizontally when printed.</div>
</li>
<li>
<a name="setHCenter"></a><span class="keyword">void</span> <span class="fname">setHCenter</span>(<span class="keyword">bool</span> hCenter = <span class="keyword">true</span>) <div>Sets a flag that the sheet is centered horizontally when printed.</div>
</li>
<li>
<a name="vCenter"></a><span class="keyword">bool</span> <span class="fname">vCenter</span>() <span class="keyword">const</span> <div>Returns whether the sheet is centered vertically when printed.</div>
</li>
<li>
<a name="setVCenter"></a><span class="keyword">void</span> <span class="fname">setVCenter</span>(<span class="keyword">bool</span> vCenter = <span class="keyword">true</span>) <div>Sets a flag that the sheet is centered vertically when printed.</div>
</li>
<li>
<a name="marginLeft"></a><span class="keyword">double</span> <span class="fname">marginLeft</span>() <span class="keyword">const</span> <div>Returns the left margin of the sheet in inches.</div>
</li>
<li>
<a name="setMarginLeft"></a><span class="keyword">void</span> <span class="fname">setMarginLeft</span>(<span class="keyword">double</span> margin) <div>Sets the left margin of the sheet in inches.</div>
</li>
<li>
<a name="marginRight"></a><span class="keyword">double</span> <span class="fname">marginRight</span>() <span class="keyword">const</span> <div>Returns the right margin of the sheet in inches.</div>
</li>
<li>
<a name="setMarginRight"></a><span class="keyword">void</span> <span class="fname">setMarginRight</span>(<span class="keyword">double</span> margin) <div>Sets the right margin of the sheet in inches.</div>
</li>
<li>
<a name="marginTop"></a><span class="keyword">double</span> <span class="fname">marginTop</span>() <span class="keyword">const</span> <div>Returns the top margin of the sheet in inches.</div>
</li>
<li>
<a name="setMarginTop"></a><span class="keyword">void</span> <span class="fname">setMarginTop</span>(<span class="keyword">double</span> margin)
<div>Sets the top margin of the sheet in inches.</div>
</li>
<li>
<a name="marginBottom"></a><span class="keyword">double</span> <span class="fname">marginBottom</span>() <span class="keyword">const</span> <div>Returns the bottom margin of the sheet in inches.</div>
</li>
<li>
<a name="setMarginBottom"></a><span class="keyword">void</span> <span class="fname">setMarginBottom</span>(<span class="keyword">double</span> margin) <div>Sets the bottom margin of the sheet in inches.</div>
</li>
<li>
<a name="printRowCol"></a><span class="keyword">bool</span> <span class="fname">printRowCol</span>() <span class="keyword">const</span> <div>Returns whether the row and column headers are printed.</div>
</li>
<li>
<a name="setPrintRowCol"></a><span class="keyword">void</span> <span class="fname">setPrintRowCol</span>(<span class="keyword">bool</span> print = <span class="keyword">true</span>) <div>Sets a flag that the row and column headers are printed.</div>
</li>
<li>
<a name="setPrintRepeatRows"></a><span class="keyword">void</span> <span class="fname">setPrintRepeatRows</span>(<span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast) <div>Sets repeated rows on each page from rowFirst to rowLast.</div>
</li>
<li>
<a name="setPrintRepeatCols"></a><span class="keyword">void</span> <span class="fname">setPrintRepeatCols</span>(<span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast) <div>Sets repeated columns on each page from colFirst to colLast.</div>
</li>
<li>
<a name="setPrintArea"></a><span class="keyword">void</span> <span class="fname">setPrintArea</span>(<span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast, <span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast) <div>Sets the print area.</div>
</li>
<li>
<a name="clearPrintRepeats"></a><span class="keyword">void</span> <span class="fname">clearPrintRepeats</span>() <div>Clears repeated rows and columns on each page.</div>
</li>
<li>
<a name="clearPrintArea"></a><span class="keyword">void</span> <span class="fname">clearPrintArea</span>() <div>Clears the print area.</div>
</li>
<li>
<a name="getNamedRange"></a><span class="keyword">bool</span> <span class="fname">getNamedRange</span>(<span class="keyword">const wchar_t*</span> name, <span class="keyword">int</span>* rowFirst, <span class="keyword">int</span>* rowLast, <span class="keyword">int</span>* colFirst, <span class="keyword">int</span>* colLast, <span class="keyword">int</span> scopeId = SCOPE_UNDEFINED, <span class="keyword">bool</span>* hidden = 0)
<div>Gets the named range coordianates by <i>name</i>.<br/>
<i>scopeId</i> - index of sheet for local named range or SCOPE_WORKBOOK for global named range.<br/>
<i>hidden</i> - true if named range is hidden and false if isn't.<br/>
Returns false if specified named range isn't found or error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.
</div>
</li>
<li>
<a name="setNamedRange"></a><span class="keyword">bool</span> <span class="fname">setNamedRange</span>(<span class="keyword">const wchar_t*</span> name, <span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast, <span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast, <span class="keyword">int</span> scopeId = SCOPE_UNDEFINED)
<div>Sets the named range.<br/>
<i>scopeId</i> - index of sheet for local named range or SCOPE_WORKBOOK for global named range.<br/>
Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.
</div>
</li>
<li>
<a name="delNamedRange"></a><span class="keyword">bool</span> <span class="fname">delNamedRange</span>(<span class="keyword">const wchar_t*</span> name, <span class="keyword">int</span> scopeId = SCOPE_UNDEFINED)
<div>Deletes the named range by name.<br/>
<i>scopeId</i> - index of sheet for local named range or SCOPE_WORKBOOK for global named range.<br/>
Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.
</div>
</li>
<li>
<a name="namedRangeSize"></a><span class="keyword">int</span> <span class="fname">namedRangeSize</span>() <span class="keyword">const</span> <div>Returns the number of named ranges in the sheet.</div>
</li>
<li>
<a name="namedRange"></a><span class="keyword">const wchar_t</span>* <span class="fname">namedRange</span>(<span class="keyword">int</span> index, <span class="keyword">int</span>* rowFirst, <span class="keyword">int</span>* rowLast, <span class="keyword">int</span>* colFirst, <span class="keyword">int</span>* colLast, <span class="keyword">int</span>* scopeId = 0, <span class="keyword">bool</span>* hidden = 0)
<div>Gets the named range coordianates by <i>index</i>.<br/>
<i>scopeId</i> - index of sheet for local named range or SCOPE_WORKBOOK for global named range.<br/>
<i>hidden</i> - true if named range is hidden and false if isn't.<br/>
</div>
</li>
<li>
<a name="tableSize"></a><span class="keyword">int</span> <span class="fname">tableSize</span>() <span class="keyword">const</span> <div>Returns the number of tables in the sheet.</div>
</li>
<li>
<a name="table"></a><span class="keyword">const wchar_t</span>* <span class="fname">table</span>(<span class="keyword">int</span> index, <span class="keyword">int</span>* rowFirst, <span class="keyword">int</span>* rowLast, <span class="keyword">int</span>* colFirst, <span class="keyword">int</span>* colLast, <span class="keyword">int</span>* headerRowCount, <span class="keyword">int</span>* totalsRowCount) <div>Gets the table parameters by <i>index</i>.<br/>
<i>headerRowCount</i> - the number of header rows showing at the top of the table. 0 means that the header row is not shown. <br/>
<i>totalsRowCount</i> - the number of totals rows that shall be shown at the bottom of the table. 0 means that the totals row is not shown.<br/>
Returns a string representing the name of the table.
</div>
</li>
<li>
<a name="hyperlinkSize"></a><span class="keyword">int</span> <span class="fname">hyperlinkSize</span>() <span class="keyword">const</span> <div>Returns the number of hyperlinks in the sheet.</div>
</li>
<li>
<a name="hyperlink"></a><span class="keyword">const wchar_t</span>* <span class="fname">hyperlink</span>(<span class="keyword">int</span> index, <span class="keyword">int</span>* rowFirst, <span class="keyword">int</span>* rowLast, <span class="keyword">int</span>* colFirst, <span class="keyword">int</span>* colLast) <div>Gets the hyperlink and its coordianates by <i>index</i>.</div>
</li>
<li>
<a name="delHyperlink"></a><span class="keyword">bool</span> <span class="fname">delHyperlink</span>(<span class="keyword">int</span> index) <div>Removes hyperlink by <i>index</i>.</div>
</li>
<li>
<a name="addHyperlink"></a><span class="keyword">void</span> <span class="fname">addHyperlink</span>(<span class="keyword">const wchar_t*</span> hyperlink, <span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast, <span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast) <div>Adds the new hyperlink.</div>
</li>
<li>
<a name="autoFilter"></a><a href="autoFilter.html">AutoFilter</a> <span class="fname">autoFilter</span>() <div>Returns the AutoFilter. Creates it if it doesn't exist.
</div>
</li>
<li>
<a name="applyFilter"></a><span class="keyword">void</span> <span class="fname">applyFilter</span>() <div>Applies the AutoFilter to the sheet.
</div>
</li>
<li>
<a name="removeFilter"></a><span class="keyword">void</span> <span class="fname">removeFilter</span>() <div>Removes the AutoFilter from the sheet.
</div>
</li>
<li>
<a name="name"></a><span class="keyword">const wchar_t</span>* <span class="fname">name</span>() <span class="keyword">const</span> <div>Returns the name of the sheet.</div>
</li>
<li>
<a name="setName"></a><span class="keyword">void</span> <span class="fname">setName</span>(<span class="keyword">const wchar_t</span>* name) <div>Sets the name of the sheet.</div>
</li>
<li>
<a name="protect"></a><span class="keyword">bool</span> <span class="fname">protect</span>() <span class="keyword">const</span> <div>Returns whether sheet is protected.</div>
</li>
<li>
<a name="setProtect"></a><span class="keyword">void</span> <span class="fname">setProtect</span>(<span class="keyword">bool</span> protect = <span class="keyword">true</span>, <span class="keyword">const wchar_t</span>* password = 0, EnhancedProtection prot = PROT_DEFAULT) <div>Protects/unprotects the sheet with password and enchanced parameters below. It is possible to combine a few EnhancedProtection values with operator |.
<table class="helptable">
<thead>
<tr>
<td>EnhancedProtection value</td><td>Description</td>
</tr>
</thead>
<tbody><tr><td>PROT_DEFAULT</td><td>Default protection.</td></tr>
<tr><td>PROT_ALL</td><td>Nothing is allowed except cell selections.</td></tr>
<tr><td>PROT_OBJECTS</td><td>Objects are locked when the sheet is protected.</td></tr>
<tr><td>PROT_SCENARIOS</td><td>Scenarios are locked when the sheet is protected.</td></tr>
<tr><td>PROT_FORMAT_CELLS</td><td>Formatting cells is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_FORMAT_COLUMNS</td><td>Formatting columns is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_FORMAT_ROWS</td><td>Formatting rows is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_INSERT_COLUMNS</td><td>Inserting columns is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_INSERT_ROWS</td><td>Inserting rows is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_INSERT_HYPERLINKS</td><td>Inserting hyperlinks is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_DELETE_COLUMNS</td><td>Deleting columns is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_DELETE_ROWS</td><td>Deleting rows is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_SEL_LOCKED_CELLS</td><td>Selection of locked cells is locked when the sheet is protected.</td></tr>
<tr><td>PROT_SORT</td><td>Sorting is allowed when the sheet is protected.</td></tr>
<tr><td>PROT_AUTOFILTER</td><td>Autofilters are allowed when the sheet is protected.</td></tr>
<tr><td>PROT_PIVOTTABLES</td><td>Pivot tables are allowed when the sheet is protected.</td></tr>
<tr><td>PROT_SEL_UNLOCKED_CELLS</td><td>Selection of unlocked cells is locked when the sheet is protected.</td></tr>
</tbody></table>
</div>
</li>
<li>
<a name="rightToLeft"></a><span class="keyword">bool</span> <span class="fname">rightToLeft</span>() <span class="keyword">const</span> <div>Returns whether the text is displayed in right-to-left mode.</div>
</li>
<li>
<a name="setRightToLeft"></a><span class="keyword">void</span> <span class="fname">setRightToLeft</span>(<span class="keyword">bool</span> rightToLeft = <span class="keyword">true</span>)
<div>Sets the right-to-left mode:<br/>
true - the text is displayed in right-to-left mode,<br/>
false - the text is displayed in left-to-right mode.
</div>
</li>
<li>
<a name="hidden"></a>SheetState <span class="fname">hidden</span>() <span class="keyword">const</span> <div>Returns whether sheet is hidden.</div>
</li>
<li>
<a name="setHidden"></a><span class="keyword">bool</span> <span class="fname">setHidden</span>(SheetState state = SHEETSTATE_HIDDEN)
<div>Hides/unhides the sheet. Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.
<table class="helptable">
<thead>
<tr>
<td>SheetState value</td><td>Description</td>
</tr>
</thead>
<tbody><tr><td>SHEETSTATE_VISIBLE</td><td>sheet is visible</td></tr>
<tr><td>SHEETSTATE_HIDDEN</td><td>sheet is hidden, but can be shown via the user interface</td></tr>
<tr><td>SHEETSTATE_VERYHIDDEN</td><td>sheet is hidden and cannot be shown in the user interface</td></tr>
</tbody>
</table>
</div>
</li>
<li>
<a name="getTopLeftView"></a><span class="keyword">void</span> <span class="fname">getTopLeftView</span>(<span class="keyword">int</span>* row, <span class="keyword">int</span>* col) <span class="keyword">const</span> <div>Extracts the first visible row and the leftmost visible column of the sheet.</div>
</li>
<li>
<a name="setTopLeftView"></a><span class="keyword">void</span> <span class="fname">setTopLeftView</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col) <div>Sets the first visible row and the leftmost visible column of the sheet.</div>
</li>
<li>
<a name="setAutoFitArea"></a><span class="keyword">void</span> <span class="fname">setAutoFitArea</span>(<span class="keyword">int</span> rowFirst = 0, <span class="keyword">int</span> colFirst = 0, <span class="keyword">int</span> rowLast = -1, <span class="keyword">int</span> colLast = -1) <div>Sets the borders for autofit column widths feature. The method <a href="#setCol">Sheet::setCol()</a> with -1 width value will affect only to the specified limited area.</div>
</li>
<li>
<a name="addrToRowCol"></a><span class="keyword">void</span> <span class="fname">addrToRowCol</span>(<span class="keyword">const wchar_t</span>* addr, <span class="keyword">int</span>* row, <span class="keyword">int</span>* col, <span class="keyword">bool</span>* rowRelative = 0, <span class="keyword">bool</span>* colRelative = 0) <div>Converts a cell reference to row and column.</div>
</li>
<li>
<a name="rowColToAddr"></a><span class="keyword">const wchar_t</span>* <span class="fname">rowColToAddr</span>(<span class="keyword">int</span> row, <span class="keyword">int</span> col, <span class="keyword">bool</span> rowRelative = <span class="keyword">true</span>, <span class="keyword">bool</span> colRelative = <span class="keyword">true</span>) <div>Converts row and column to a cell reference.</div>
</li>
<li>
<a name="setTabColor"></a><span class="keyword">void</span> <span class="fname">setTabColor</span>(<a href="colors.html">Color</a> color) <div>Sets the color for the sheet's tab.</div>
</li>
<li>
<a name="setTabColor2"></a><span class="keyword">void</span> <span class="fname">setTabColor</span>(<span class="keyword">int</span> red, <span class="keyword">int</span> green, <span class="keyword">int</span> blue) <div>Sets the RGB color for the sheet's tab.</div>
</li>
<li>
<a name="addIgnoredError"></a><span class="keyword">bool</span> <span class="fname">addIgnoredError</span>(<span class="keyword">int</span> rowFirst, <span class="keyword">int</span> colFirst, <span class="keyword">int</span> rowLast, <span class="keyword">int</span> colLast, IgnoredError iError) <div>Adds the ignored error for specified range. It allows to hide green triangles on left sides of cells.
For example, if a cell is formatted as text but contains a numeric value, this is considered to
be a potential error because the number won't be treated as a number, for example, in calculations. It is possible to combine a few IgnoredError values with operator |.
Returns false if error occurs. Get error info with <a href="workbook.html#errorMessage">Book::errorMessage()</a>.<table class="helptable">
<thead>
<tr>
<td>IgnoredError value</td><td>Description</td>
</tr>
</thead>
<tbody><tr><td>IERR_EVAL_ERROR</td><td>Ignore errors when cells contain formulas that result in an error.</td></tr>
<tr><td>IERR_EMPTY_CELLREF</td><td>Ignore errors when formulas refer to empty cells.</td></tr>
<tr><td>IERR_NUMBER_STORED_AS_TEXT</td><td>Ignore errors when numbers are formatted as text or are preceded by an apostrophe.</td></tr>
<tr><td>IERR_INCONSIST_RANGE</td><td>Ignore errors when formulas omit certain cells in a region.</td></tr>
<tr><td>IERR_INCONSIST_FMLA</td><td>Ignore errors when a formula in a region of your worksheet differs from other formulas in
the same region.</td></tr>
<tr><td>IERR_TWODIG_TEXTYEAR</td><td>Ignore errors when formulas contain text formatted cells with years represented as 2
digits.</td></tr>
<tr><td>IERR_UNLOCK_FMLA</td><td>Ignore errors when unlocked cells contain formulas.</td></tr>
<tr><td>IERR_DATA_VALIDATION</td><td>Ignore errors when a cell's value in a Table does not comply with the Data Validation
rules specified.</td></tr>
</tbody></table>
</div>
</li>
<li>
<a name="addDataValidation"></a><span class="keyword">void</span> <span class="fname">addDataValidation</span>(DataValidationType type, DataValidationOperator op, <span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast, <span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast, <span class="keyword">const wchar_t</span>* value1, <span class="keyword">const wchar_t</span>* value2, <span class="keyword">bool</span> allowBlank = <span class="keyword">true</span>, <span class="keyword">bool</span> hideDropDown = <span class="keyword">false</span>, <span class="keyword">bool</span> showInputMessage = <span class="keyword">true</span>, <span class="keyword">bool</span> showErrorMessage = <span class="keyword">true</span>, <span class="keyword">const wchar_t</span>* promptTitle, <span class="keyword">const wchar_t</span>* prompt = 0, <span class="keyword">const wchar_t</span>* errorTitle = 0, <span class="keyword">const wchar_t</span>* error = 0, DataValidationErrorStyle errorStyle = VALIDATION_ERRSTYLE_STOP) <div><br/>Adds a data validation for the specified range (only for xlsx files).<br/><br/>
<i>type</i> - the type of data validation:
<table class="helptable">
<thead>
<tr>
<td>DataValidationType value</td><td>Description</td>
</tr>
</thead>
<tbody><tr><td>VALIDATION_TYPE_NONE</td><td>No data validation.</td></tr>
<tr><td>VALIDATION_TYPE_WHOLE</td><td>Data validation which checks for whole number values satisfying the given condition.</td></tr>
<tr><td>VALIDATION_TYPE_DECIMAL</td><td>Data validation which checks for decimal values satisfying the given condition.</td></tr>
<tr><td>VALIDATION_TYPE_LIST</td><td>Data validation which checks for a value matching one of list of values.</td></tr>
<tr><td>VALIDATION_TYPE_DATE</td><td>Data validation which checks for date values satisfying the given condition.</td></tr>
<tr><td>VALIDATION_TYPE_TIME</td><td>Data validation which checks for time values satisfying the given condition.</td></tr>
<tr><td>VALIDATION_TYPE_TEXTLENGTH</td><td>Data validation which checks for text values, whose length satisfies the given condition.</td></tr>
<tr><td>VALIDATION_TYPE_CUSTOM</td><td>Data validation which uses a custom formula to check the cell value.</td></tr>
</tbody></table>
<br/>
<i>op</i> - the relational operator of data validation:
<table class="helptable">
<thead>
<tr>
<td>DataValidationOperator value</td><td>Description</td>
</tr>
</thead>
<tbody><tr><td>VALIDATION_OP_BETWEEN</td><td>Data validation which checks if a value is between two other values.</td></tr>
<tr><td>VALIDATION_OP_NOTBETWEEN</td><td>Data validation which checks if a value is not between two other values.</td></tr>
<tr><td>VALIDATION_OP_EQUAL</td><td>Data validation which checks if a value is equal to a specified value.</td></tr>
<tr><td>VALIDATION_OP_NOTEQUAL</td><td>Data validation which checks if a value is not equal to a specified value.</td></tr>
<tr><td>VALIDATION_OP_LESSTHAN</td><td>Data validation which checks if a value is less than a specified value.</td></tr>
<tr><td>VALIDATION_OP_LESSTHANOREQUAL</td><td>Data validation which checks if a value is less than or equal to a specified value.</td></tr>
<tr><td>VALIDATION_OP_GREATERTHAN</td><td>Data validation which checks if a value is greater than a specified value.</td></tr>
<tr><td>VALIDATION_OP_GREATERTHANOREQUAL</td><td>Data validation which checks if a value is greater than or equal to a specified value.</td></tr>
</tbody></table>
<br/>
<i>rowFirst</i> - the first row of range;<br/>
<i>rowLast</i> - the last row of range;<br/>
<i>colFirst</i> - the first column of range;<br/>
<i>colLast</i> - the last column of range;<br/>
<i>value1</i> - the first value for relational operator;<br/>
<i>value2</i> - the second value for VALIDATION_OP_BETWEEN or VALIDATION_OP_NOTBETWEEN operator;<br/>
<i>allowBlank</i> - a boolean value indicating whether the data validation treats empty or blank entries as
valid, 'true' means empty entries are OK and do not violate the validation constraints;<br/>
<i>hideDropDown</i> - a boolean value indicating whether to display the dropdown combo box for a list type
data validation (VALIDATION_TYPE_LIST);<br/>
<i>showInputMessage</i> - a boolean value indicating whether to display the input prompt message;<br/>
<i>showErrorMessage</i> - a boolean value indicating whether to display the error alert message when an invalid
value has been entered, according to the criteria specified;<br/>
<i>promptTitle</i> - title bar text of input prompt;<br/>
<i>prompt</i> - message text of input prompt;<br/>
<i>errorTitle</i> - title bar text of error alert;<br/>
<i>error</i> - message text of error alert;<br/>
<i>errorStyle</i> - the style of error alert used for this data validation:
<table class="helptable">
<thead>
<tr>
<td>DataValidationErrorStyle value</td><td>Description</td>
</tr>
</thead>
<tbody><tr><td>VALIDATION_ERRSTYLE_STOP</td><td>This data validation error style uses a stop icon in the error alert.</td></tr>
<tr><td>VALIDATION_ERRSTYLE_WARNING</td><td>This data validation error style uses a warning icon in the error alert.</td></tr>
<tr><td>VALIDATION_ERRSTYLE_INFORMATION</td><td>This data validation error style uses an information icon in the error alert.</td></tr>
</tbody></table>
<br/>
</div>
</li>
<li>
<a name="addDataValidationDouble"></a><span class="keyword">void</span> <span class="fname">addDataValidationDouble</span>(DataValidationType type, DataValidationOperator op, <span class="keyword">int</span> rowFirst, <span class="keyword">int</span> rowLast, <span class="keyword">int</span> colFirst, <span class="keyword">int</span> colLast, <span class="keyword">double</span> value1, <span class="keyword">double</span> value2, <span class="keyword">bool</span> allowBlank = <span class="keyword">true</span>, <span class="keyword">bool</span> hideDropDown = <span class="keyword">false</span>, <span class="keyword">bool</span> showInputMessage = <span class="keyword">true</span>, <span class="keyword">bool</span> showErrorMessage = <span class="keyword">true</span>, <span class="keyword">const wchar_t</span>* promptTitle, <span class="keyword">const wchar_t</span>* prompt = 0, <span class="keyword">const wchar_t</span>* errorTitle = 0, <span class="keyword">const wchar_t</span>* error = 0, DataValidationErrorStyle errorStyle = VALIDATION_ERRSTYLE_STOP) <div><br/>Adds a data validation for the specified range with double or date values for the relational operator (only for xlsx files). See parameters in the <a href="#addDataValidation">Sheet::addDataValidation()</a> method.
</div>
</li>
<li>
<a name="removeDataValidations"></a><span class="keyword">void</span> <span class="fname">removeDataValidations</span>() <div>Removes all data validations for the sheet (only for xlsx files).
</div>
</li>
</ul>
<div class="blinks"><a href="index.html">Index</a>&nbsp;<a href="workbook.html">Book</a>&nbsp;<b>Sheet</b>&nbsp;<a href="format.html">Format</a>&nbsp;<a href="font.html">Font</a>&nbsp;<a href="autoFilter.html">AutoFilter</a>&nbsp;<a href="filterColumn.html">FilterColumn</a>&nbsp;</div>
</div>
</td>
</tr>
<tr>
<td id="footer">© 2008 - 2017 XLware. All rights reserved.</td>
</tr>
</tbody>
</table>
</body>
</html>

0
3rdparty/libxl-3.8.1.0/doc/style.css

0
3rdparty/libxl-3.8.1.0/doc/workbook.html

62
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/custom/Program.cs

@ -0,0 +1,62 @@
using System;
using libxl;
namespace custom
{
class Program
{
static void Main(string[] args)
{
try
{
Book book = new BinBook();
int f1 = book.addCustomNumFormat("0.0");
int f2 = book.addCustomNumFormat("0.00");
int f3 = book.addCustomNumFormat("0.000");
int f4 = book.addCustomNumFormat("0.0000");
int f5 = book.addCustomNumFormat("#,###.00 $");
int f6 = book.addCustomNumFormat("#,###.00 $[Black][<1000];#,###.00 $[Red][>=1000]");
Format format1 = book.addFormat();
format1.setNumFormat(f1);
Format format2 = book.addFormat();
format2.setNumFormat(f2);
Format format3 = book.addFormat();
format3.setNumFormat(f3);
Format format4 = book.addFormat();
format4.setNumFormat(f4);
Format format5 = book.addFormat();
format5.setNumFormat(f5);
Format format6 = book.addFormat();
format6.setNumFormat(f6);
Sheet sheet = book.addSheet("Custom formats");
sheet.setCol(0, 20);
sheet.writeNum(2, 0, 25.718, format1);
sheet.writeNum(3, 0, 25.718, format2);
sheet.writeNum(4, 0, 25.718, format3);
sheet.writeNum(5, 0, 25.718, format4);
sheet.writeNum(7, 0, 1800.5, format5);
sheet.writeNum(9, 0, 500, format6);
sheet.writeNum(10, 0, 1600, format6);
book.save("custom.xls");
System.Diagnostics.Process.Start("custom.xls");
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/custom/Properties/AssemblyInfo.cs

3
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/custom/app.config

@ -0,0 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

68
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/custom/custom.csproj

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{73EE1AB7-5884-4C46-970A-8CF808E240E7}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>custom</RootNamespace>
<AssemblyName>custom</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkSubset>
</TargetFrameworkSubset>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="libxl.net, Version=2.0.3.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\net\libxl.net.dll</HintPath>
</Reference>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent>if "%25PROCESSOR_ARCHITECTURE%25" == "AMD64" (
copy "..\..\..\..\..\..\bin64\libxl.dll" $(TargetDir)
) else (
if "%25PROCESSOR_ARCHITEW6432%25" == "AMD64" (
copy "..\..\..\..\..\..\bin64\libxl.dll" $(TargetDir)
) else (
copy "..\..\..\..\..\..\bin\libxl.dll" $(TargetDir)
)
)</PostBuildEvent>
</PropertyGroup>
</Project>

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/Program.cs

36
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/Properties/AssemblyInfo.cs

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("edit")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("XLware")]
[assembly: AssemblyProduct("edit")]
[assembly: AssemblyCopyright("Copyright © XLware 2009")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("61a806e1-c574-4195-ae36-160bae1c953f")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/app.config

71
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/edit.csproj

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{8119F1BA-6A9C-4F06-8D3E-27E9E7384BA7}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>edit</RootNamespace>
<AssemblyName>edit</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkSubset>
</TargetFrameworkSubset>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="libxl.net, Version=2.0.3.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\net\libxl.net.dll</HintPath>
</Reference>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="example.xls">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent>if "%25PROCESSOR_ARCHITECTURE%25" == "AMD64" (
copy "..\..\..\..\..\..\bin64\libxl.dll" $(TargetDir)
) else (
if "%25PROCESSOR_ARCHITEW6432%25" == "AMD64" (
copy "..\..\..\..\..\..\bin64\libxl.dll" $(TargetDir)
) else (
copy "..\..\..\..\..\..\bin\libxl.dll" $(TargetDir)
)
)</PostBuildEvent>
</PropertyGroup>
</Project>

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/edit/example.xls

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/Program.cs

36
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/Properties/AssemblyInfo.cs

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("extract")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("XLware")]
[assembly: AssemblyProduct("extract")]
[assembly: AssemblyCopyright("Copyright © XLware 2009")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("0d52d90f-06de-45df-ae63-5da05c7997c2")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/app.config

BIN
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/example.xls

Binary file not shown.

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/extract/extract.csproj

37
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/format/Program.cs

@ -0,0 +1,37 @@
using System;
using libxl;
namespace format
{
class Program
{
static void Main(string[] args)
{
try
{
Book book = new BinBook();
Font font = book.addFont();
font.size = 36;
Format format = book.addFormat();
format.alignH = AlignH.ALIGNH_CENTER;
format.setBorder(BorderStyle.BORDERSTYLE_MEDIUMDASHDOTDOT);
format.setBorderColor(Color.COLOR_RED);
format.font = font;
Sheet sheet = book.addSheet("Sheet1");
sheet.writeStr(2, 1, "Format", format);
sheet.setCol(1, 1, 25);
book.save("format.xls");
System.Diagnostics.Process.Start("format.xls");
}
catch(System.Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/format/Properties/AssemblyInfo.cs

3
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/format/app.config

@ -0,0 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/format/format.csproj

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/generate/Program.cs

36
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/generate/Properties/AssemblyInfo.cs

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("generate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("XLware")]
[assembly: AssemblyProduct("generate")]
[assembly: AssemblyCopyright("Copyright © XLware 2009")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("0260addd-2612-4f0f-a369-112d95060011")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/generate/app.config

68
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/generate/generate.csproj

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{DC82F52C-D70C-4FA7-8155-D90D807DF740}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>generate</RootNamespace>
<AssemblyName>generate</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkSubset>
</TargetFrameworkSubset>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="libxl.net, Version=2.0.3.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\net\libxl.net.dll</HintPath>
</Reference>
<Reference Include="System" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<PropertyGroup>
<PostBuildEvent>if "%25PROCESSOR_ARCHITECTURE%25" == "AMD64" (
copy "..\..\..\..\..\..\bin64\libxl.dll" $(TargetDir)
) else (
if "%25PROCESSOR_ARCHITEW6432%25" == "AMD64" (
copy "..\..\..\..\..\..\bin64\libxl.dll" $(TargetDir)
) else (
copy "..\..\..\..\..\..\bin\libxl.dll" $(TargetDir)
)
)</PostBuildEvent>
</PropertyGroup>
</Project>

90
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/invoice/Program.cs

@ -0,0 +1,90 @@
using System;
using libxl;
namespace invoice
{
class Program
{
static void Main(string[] args)
{
try
{
Book book = new XmlBook();
Font boldFont = book.addFont();
boldFont.bold = true;
Font titleFont = book.addFont();
titleFont.name = "Arial Black";
titleFont.size = 16;
Format titleFormat = book.addFormat();
titleFormat.font = titleFont;
Format headerFormat = book.addFormat();
headerFormat.alignH = AlignH.ALIGNH_CENTER;
headerFormat.setBorder(BorderStyle.BORDERSTYLE_THIN);
headerFormat.font = boldFont;
headerFormat.fillPattern = FillPattern.FILLPATTERN_SOLID;
headerFormat.patternForegroundColor = Color.COLOR_TAN;
Format descriptionFormat = book.addFormat();
descriptionFormat.borderLeft = BorderStyle.BORDERSTYLE_THIN;
Format amountFormat = book.addFormat();
amountFormat.setNumFormat(NumFormat.NUMFORMAT_CURRENCY_NEGBRA);
amountFormat.borderLeft = BorderStyle.BORDERSTYLE_THIN;
amountFormat.borderRight = BorderStyle.BORDERSTYLE_THIN;
Format totalLabelFormat = book.addFormat();
totalLabelFormat.borderTop = BorderStyle.BORDERSTYLE_THIN;
totalLabelFormat.alignH = AlignH.ALIGNH_RIGHT;
totalLabelFormat.font = boldFont;
Format totalFormat = book.addFormat();
totalFormat.setNumFormat(NumFormat.NUMFORMAT_CURRENCY_NEGBRA);
totalFormat.setBorder(BorderStyle.BORDERSTYLE_THIN);
totalFormat.font = boldFont;
totalFormat.fillPattern = FillPattern.FILLPATTERN_SOLID;
totalFormat.patternForegroundColor = Color.COLOR_YELLOW;
Format signatureFormat = book.addFormat();
signatureFormat.alignH = AlignH.ALIGNH_CENTER;
signatureFormat.borderTop = BorderStyle.BORDERSTYLE_THIN;
Sheet sheet = book.addSheet("Invoice");
sheet.writeStr(2, 1, "Invoice No. 3568", titleFormat);
sheet.writeStr(4, 1, "Name: John Smith");
sheet.writeStr(5, 1, "Address: San Ramon, CA 94583 USA");
sheet.writeStr(7, 1, "Description", headerFormat);
sheet.writeStr(7, 2, "Amount", headerFormat);
sheet.writeStr(8, 1, "Ball-Point Pens", descriptionFormat);
sheet.writeNum(8, 2, 85, amountFormat);
sheet.writeStr(9, 1, "T-Shirts", descriptionFormat);
sheet.writeNum(9, 2, 150, amountFormat);
sheet.writeStr(10, 1, "Tea cups", descriptionFormat);
sheet.writeNum(10, 2, 45, amountFormat);
sheet.writeStr(11, 1, "Total:", totalLabelFormat);
sheet.writeFormula(11, 2, "=SUM(C9:C11)", totalFormat);
sheet.writeStr(14, 2, "Signature", signatureFormat);
sheet.setCol(1, 1, 40);
sheet.setCol(2, 2, 15);
book.save("invoice.xlsx");
System.Diagnostics.Process.Start("invoice.xlsx");
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/invoice/Properties/AssemblyInfo.cs

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/invoice/app.config

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/invoice/invoice.csproj

83
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl.sln

@ -0,0 +1,83 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C# Express 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "libxl", "libxl\libxl.csproj", "{C5003F5F-242C-4C55-B282-6E94DE094BF0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generate", "generate\generate.csproj", "{DC82F52C-D70C-4FA7-8155-D90D807DF740}"
ProjectSection(ProjectDependencies) = postProject
{C5003F5F-242C-4C55-B282-6E94DE094BF0} = {C5003F5F-242C-4C55-B282-6E94DE094BF0}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "extract", "extract\extract.csproj", "{0E1B0747-D49A-48CB-8C2A-C1EDE0D48782}"
ProjectSection(ProjectDependencies) = postProject
{C5003F5F-242C-4C55-B282-6E94DE094BF0} = {C5003F5F-242C-4C55-B282-6E94DE094BF0}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "edit", "edit\edit.csproj", "{8119F1BA-6A9C-4F06-8D3E-27E9E7384BA7}"
ProjectSection(ProjectDependencies) = postProject
{C5003F5F-242C-4C55-B282-6E94DE094BF0} = {C5003F5F-242C-4C55-B282-6E94DE094BF0}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "format", "format\format.csproj", "{6204350D-0E8A-4611-A8FE-530BADB3D525}"
ProjectSection(ProjectDependencies) = postProject
{C5003F5F-242C-4C55-B282-6E94DE094BF0} = {C5003F5F-242C-4C55-B282-6E94DE094BF0}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "custom", "custom\custom.csproj", "{73EE1AB7-5884-4C46-970A-8CF808E240E7}"
ProjectSection(ProjectDependencies) = postProject
{C5003F5F-242C-4C55-B282-6E94DE094BF0} = {C5003F5F-242C-4C55-B282-6E94DE094BF0}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "performance", "performance\performance.csproj", "{3BF73184-1362-4BF6-9B03-907D993F1663}"
ProjectSection(ProjectDependencies) = postProject
{C5003F5F-242C-4C55-B282-6E94DE094BF0} = {C5003F5F-242C-4C55-B282-6E94DE094BF0}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "invoice", "invoice\invoice.csproj", "{50601459-8E27-492E-BC94-9375FC74E76D}"
ProjectSection(ProjectDependencies) = postProject
{C5003F5F-242C-4C55-B282-6E94DE094BF0} = {C5003F5F-242C-4C55-B282-6E94DE094BF0}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C5003F5F-242C-4C55-B282-6E94DE094BF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C5003F5F-242C-4C55-B282-6E94DE094BF0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C5003F5F-242C-4C55-B282-6E94DE094BF0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C5003F5F-242C-4C55-B282-6E94DE094BF0}.Release|Any CPU.Build.0 = Release|Any CPU
{DC82F52C-D70C-4FA7-8155-D90D807DF740}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DC82F52C-D70C-4FA7-8155-D90D807DF740}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DC82F52C-D70C-4FA7-8155-D90D807DF740}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DC82F52C-D70C-4FA7-8155-D90D807DF740}.Release|Any CPU.Build.0 = Release|Any CPU
{0E1B0747-D49A-48CB-8C2A-C1EDE0D48782}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E1B0747-D49A-48CB-8C2A-C1EDE0D48782}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E1B0747-D49A-48CB-8C2A-C1EDE0D48782}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E1B0747-D49A-48CB-8C2A-C1EDE0D48782}.Release|Any CPU.Build.0 = Release|Any CPU
{8119F1BA-6A9C-4F06-8D3E-27E9E7384BA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8119F1BA-6A9C-4F06-8D3E-27E9E7384BA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8119F1BA-6A9C-4F06-8D3E-27E9E7384BA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8119F1BA-6A9C-4F06-8D3E-27E9E7384BA7}.Release|Any CPU.Build.0 = Release|Any CPU
{6204350D-0E8A-4611-A8FE-530BADB3D525}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6204350D-0E8A-4611-A8FE-530BADB3D525}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6204350D-0E8A-4611-A8FE-530BADB3D525}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6204350D-0E8A-4611-A8FE-530BADB3D525}.Release|Any CPU.Build.0 = Release|Any CPU
{73EE1AB7-5884-4C46-970A-8CF808E240E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{73EE1AB7-5884-4C46-970A-8CF808E240E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{73EE1AB7-5884-4C46-970A-8CF808E240E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{73EE1AB7-5884-4C46-970A-8CF808E240E7}.Release|Any CPU.Build.0 = Release|Any CPU
{3BF73184-1362-4BF6-9B03-907D993F1663}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3BF73184-1362-4BF6-9B03-907D993F1663}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3BF73184-1362-4BF6-9B03-907D993F1663}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3BF73184-1362-4BF6-9B03-907D993F1663}.Release|Any CPU.Build.0 = Release|Any CPU
{50601459-8E27-492E-BC94-9375FC74E76D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50601459-8E27-492E-BC94-9375FC74E76D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50601459-8E27-492E-BC94-9375FC74E76D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50601459-8E27-492E-BC94-9375FC74E76D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

92
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl/AutoFilter.cs

@ -0,0 +1,92 @@
using System;
using System.Runtime.InteropServices;
namespace libxl
{
public class AutoFilter
{
public IntPtr handle;
Book book;
public AutoFilter(IntPtr handle, Book book)
{
this.handle = handle;
this.book = book;
}
public bool getRef(ref int rowFirst, ref int rowLast, ref int colFirst, ref int colLast)
{
return xlAutoFilterGetRef(handle, ref rowFirst, ref rowLast, ref colFirst, ref colLast) > 0;
}
public void setRef(int rowFirst, int rowLast, int colFirst, int colLast)
{
xlAutoFilterSetRef(handle, rowFirst, rowLast, colFirst, colLast);
}
public FilterColumn column(int colId)
{
IntPtr filterColumnHandle = xlAutoFilterColumn(handle, colId);
return new FilterColumn(filterColumnHandle, book);
}
public int columnSize()
{
return xlAutoFilterColumnSize(handle);
}
public FilterColumn columnByIndex(int index)
{
IntPtr filterColumnHandle = xlAutoFilterColumnByIndex(handle, index);
return new FilterColumn(filterColumnHandle, book);
}
public bool getSortRange(ref int rowFirst, ref int rowLast, ref int colFirst, ref int colLast)
{
return xlAutoFilterGetSortRange(handle, ref rowFirst, ref rowLast, ref colFirst, ref colLast) > 0;
}
public bool getSort(ref int columnIndex, ref bool descending)
{
int iDescending = 0;
bool status = xlAutoFilterGetSort(handle, ref columnIndex, ref iDescending) > 0;
descending = iDescending > 0;
return status;
}
public bool setSort(int columnIndex)
{
return xlAutoFilterSetSort(handle, columnIndex, 0) > 0;
}
public bool setSort(int columnIndex, bool descending)
{
return xlAutoFilterSetSort(handle, columnIndex, descending ? 1 : 0) > 0;
}
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlAutoFilterGetRef(IntPtr handle, ref int rowFirst, ref int rowLast, ref int colFirst, ref int colLast);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlAutoFilterSetRef(IntPtr handle, int rowFirst, int rowLast, int colFirst, int colLast);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlAutoFilterColumn(IntPtr handle, int col);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlAutoFilterColumnSize(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlAutoFilterColumnByIndex(IntPtr handle, int index);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlAutoFilterGetSortRange(IntPtr handle, ref int rowFirst, ref int rowLast, ref int colFirst, ref int colLast);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlAutoFilterGetSort(IntPtr handle, ref int columnIndex, ref int descending);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlAutoFilterSetSort(IntPtr handle, int columnIndex, int descending);
}
}

658
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl/Book.cs

@ -0,0 +1,658 @@
using System;
using System.Runtime.InteropServices;
namespace libxl
{
abstract public class Book
{
public IntPtr handle;
~Book()
{
release();
}
public void load(string filename)
{
int result = xlBookLoad(handle, filename);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void load(string filename, string tempFile)
{
int result = xlBookLoadUsingTempFile(handle, filename, tempFile);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void load(string filename, int sheetIndex)
{
int result = xlBookLoadPartially(handle, filename, sheetIndex, -1, -1);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void load(string filename, int sheetIndex, string tempFile)
{
int result = xlBookLoadPartiallyUsingTempFile(handle, filename, sheetIndex, -1, -1, tempFile);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void load(string filename, int sheetIndex, int firstRow, int lastRow)
{
int result = xlBookLoadPartially(handle, filename, sheetIndex, firstRow, lastRow);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void load(string filename, int sheetIndex, int firstRow, int lastRow, string tempFile)
{
int result = xlBookLoadPartiallyUsingTempFile(handle, filename, sheetIndex, firstRow, lastRow, tempFile);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void save(string filename)
{
int result = xlBookSave(handle, filename);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void save(string filename, bool useTempFile)
{
int result = xlBookSaveUsingTempFile(handle, filename, useTempFile ? 1 : 0);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void loadRaw(byte[] data, int size)
{
int result = xlBookLoadRaw(handle, data, size);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void loadRaw(byte[] data, int size, int sheetIndex)
{
int result = xlBookLoadRawPartially(handle, data, size, sheetIndex, -1, -1);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void loadRaw(byte[] data, int size, int sheetIndex, int firstRow, int lastRow)
{
int result = xlBookLoadRawPartially(handle, data, size, sheetIndex, firstRow, lastRow);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void saveRaw(ref byte[] data, ref int size)
{
IntPtr ptr = (IntPtr)0;
int result = xlBookSaveRaw(handle, ref ptr, ref size);
if (result == 0)
{
throw new Exception(errorMessage());
}
else
{
data = new byte[size];
Marshal.Copy(ptr, data, 0, size);
}
}
public Sheet addSheet(string name)
{
IntPtr sheetHandle = xlBookAddSheet(handle, name, (IntPtr)0);
if(sheetHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Sheet(sheetHandle, this);
}
public Sheet addSheet(string name, Sheet initSheet)
{
IntPtr sheetHandle = xlBookAddSheet(handle, name, initSheet.handle);
if (sheetHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Sheet(sheetHandle, this);
}
public Sheet insertSheet(int index, string name)
{
IntPtr sheetHandle = xlBookInsertSheet(handle, index, name, (IntPtr)0);
if (sheetHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Sheet(sheetHandle, this);
}
public Sheet insertSheet(int index, string name, Sheet initSheet)
{
IntPtr sheetHandle = xlBookInsertSheet(handle, index, name, initSheet.handle);
if (sheetHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Sheet(sheetHandle, this);
}
public Sheet getSheet(int index)
{
IntPtr sheetHandle = xlBookGetSheet(handle, index);
if (sheetHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Sheet(sheetHandle, this);
}
public SheetType sheetType(int index)
{
return (SheetType)xlBookSheetType(handle, index);
}
public bool moveSheet(int srcIndex, int dstIndex)
{
return xlBookMoveSheet(handle, srcIndex, dstIndex) > 0;
}
public void delSheet(int index)
{
int result = xlBookDelSheet(handle, index);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public int sheetCount()
{
return xlBookSheetCount(handle);
}
public Format addFormat()
{
IntPtr formatHandle = xlBookAddFormat(handle, (IntPtr)0);
if (formatHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Format(formatHandle, this);
}
public Format addFormat(Format initFormat)
{
IntPtr formatHandle = xlBookAddFormat(handle, initFormat.handle);
if (formatHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Format(formatHandle, this);
}
public Font addFont()
{
IntPtr fontHandle = xlBookAddFont(handle, (IntPtr)0);
if (fontHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Font(fontHandle, this);
}
public Font addFont(Font initFont)
{
IntPtr fontHandle = xlBookAddFont(handle, initFont.handle);
if (fontHandle == (IntPtr)0)
{
throw new Exception(errorMessage());
}
return new Font(fontHandle, this);
}
public int addCustomNumFormat(string customNumFormat)
{
int fmt = xlBookAddCustomNumFormat(handle, customNumFormat);
if (fmt == 0)
{
throw new Exception(errorMessage());
}
return fmt;
}
public string customNumFormat(int fmt)
{
IntPtr pStr = xlBookCustomNumFormat(handle, fmt);
if (pStr == (IntPtr)0)
{
throw new Exception(errorMessage());
}
String s = Marshal.PtrToStringAuto(pStr);
return s;
}
public Format format(int index)
{
IntPtr formatHandle = xlBookFormat(handle, index);
if (formatHandle != (IntPtr)0)
{
return new Format(formatHandle, this);
}
return null;
}
public int formatSize()
{
return xlBookFormatSize(handle);
}
public Font font(int index)
{
IntPtr fontHandle = xlBookFont(handle, index);
if (fontHandle != (IntPtr)0)
{
return new Font(fontHandle, this);
}
return null;
}
public int fontSize()
{
return xlBookFontSize(handle);
}
public double datePack(int year, int month, int day)
{
return xlBookDatePack(handle, year, month, day, 0, 0, 0, 0);
}
public double datePack(int year, int month, int day, int hour, int min, int sec)
{
return xlBookDatePack(handle, year, month, day, hour, min, sec, 0);
}
public double datePack(int year, int month, int day, int hour, int min, int sec, int msec)
{
return xlBookDatePack(handle, year, month, day, hour, min, sec, msec);
}
public void dateUnpack(double value, ref int year, ref int month, ref int day)
{
int hour = 0, min = 0, sec = 0, msec = 0;
int result = xlBookDateUnpack(handle, value, ref year, ref month, ref day, ref hour, ref min, ref sec, ref msec);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void dateUnpack(double value, ref int year, ref int month, ref int day, ref int hour, ref int min, ref int sec)
{
int msec = 0;
int result = xlBookDateUnpack(handle, value, ref year, ref month, ref day, ref hour, ref min, ref sec, ref msec);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public void dateUnpack(double value, ref int year, ref int month, ref int day, ref int hour, ref int min, ref int sec, ref int msec)
{
int result = xlBookDateUnpack(handle, value, ref year, ref month, ref day, ref hour, ref min, ref sec, ref msec);
if (result == 0)
{
throw new Exception(errorMessage());
}
}
public Color colorPack(int red, int green, int blue)
{
return (Color)xlBookColorPack(handle, red, green, blue);
}
public void colorUnpack(Color color, ref int red, ref int green, ref int blue)
{
xlBookColorUnpack(handle, (int)color, ref red, ref green, ref blue);
}
public int activeSheet()
{
return xlBookActiveSheet(handle);
}
public void setActiveSheet(int index)
{
xlBookSetActiveSheet(handle, index);
}
public int pictureSize()
{
int result = xlBookPictureSize(handle);
if(result == -1)
{
throw new Exception(errorMessage());
}
return result;
}
public PictureType getPicture(int index, ref byte[] data, ref int size)
{
IntPtr ptr = (IntPtr)0;
int result = xlBookGetPicture(handle, index, ref ptr, ref size);
if (result == 0xFF)
{
throw new Exception(errorMessage());
}
else
{
data = new byte[size];
Marshal.Copy(ptr, data, 0, size);
}
return (PictureType)result;
}
public int addPicture(string filename)
{
int result = xlBookAddPicture(handle, filename);
if (result == -1)
{
throw new Exception(errorMessage());
}
return result;
}
public int addPicture2(byte[] data, int size)
{
int result = xlBookAddPicture2(handle, data, size);
if (result == -1)
{
throw new Exception(errorMessage());
}
return result;
}
public int addPictureAsLink(string filename, bool insert)
{
return xlBookAddPictureAsLink(handle, filename, insert ? 1 : 0);
}
public string defaultFont(ref int fontSize)
{
IntPtr pStr = xlBookDefaultFont(handle, ref fontSize);
if (pStr == (IntPtr)0)
{
throw new Exception(errorMessage());
}
String s = Marshal.PtrToStringAuto(pStr);
return s;
}
public void setDefaultFont(string fontName, int fontSize)
{
xlBookSetDefaultFont(handle, fontName, fontSize);
}
public void setKey(string name, string key)
{
xlBookSetKey(handle, name, key);
}
public bool refR1C1
{
get { return xlBookRefR1C1(handle) > 0; }
set { xlBookSetRefR1C1(handle, value ? 1 : 0); }
}
public bool rgbMode
{
get { return xlBookRgbMode(handle) > 0; }
set { xlBookSetRgbMode(handle, value ? 1 : 0); }
}
public int version
{
get { return xlBookVersion(handle); }
}
public int biffVersion
{
get { return xlBookBiffVersion(handle); }
}
public bool date1904
{
get { return xlBookIsDate1904(handle) > 0; }
set { xlBookSetDate1904(handle, value ? 1 : 0); }
}
public bool template
{
get { return xlBookIsTemplate(handle) > 0; }
set { xlBookSetTemplate(handle, value ? 1 : 0); }
}
public string errorMessage()
{
string msg = "";
IntPtr ptr = xlBookErrorMessage(handle);
if (ptr != (IntPtr)0)
{
msg = Marshal.PtrToStringAnsi(ptr);
}
return msg;
}
private void release()
{
try
{
xlBookRelease(handle);
}
catch {}
}
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookLoad(IntPtr bookHandle, string filename);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookLoadPartially(IntPtr bookHandle, string filename, int sheetIndex, int firstRow, int lastRow);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookLoadPartiallyUsingTempFile(IntPtr bookHandle, string filename, int sheetIndex, int firstRow, int lastRow, string tempFile);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookLoadUsingTempFile(IntPtr bookHandle, string filename, string tempFile);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookSave(IntPtr bookHandle, string filename);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookSaveUsingTempFile(IntPtr bookHandle, string filename, int useTempFile);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookLoadRaw(IntPtr bookHandle, byte[] data, int size);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookLoadRawPartially(IntPtr bookHandle, byte[] data, int size, int sheetIndex, int firstRow, int lastRow);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookSaveRaw(IntPtr bookHandle, ref IntPtr data, ref int size);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookAddSheet(IntPtr handle, string name, IntPtr initSheet);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookInsertSheet(IntPtr handle, int index, string name, IntPtr initSheet);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookGetSheet(IntPtr bookHandle, int index);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookSheetType(IntPtr bookHandle, int index);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookMoveSheet(IntPtr bookHandle, int srcIndex, int dstIndex);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookDelSheet(IntPtr bookHandle, int index);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern ushort xlBookSheetCount(IntPtr bookHandle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookAddFormat(IntPtr handle, IntPtr formatHandle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookAddFont(IntPtr handle, IntPtr fontHandle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookAddCustomNumFormat(IntPtr handle, string customNumFormat);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookCustomNumFormat(IntPtr handle, int fmt);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookFormat(IntPtr handle, int index);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookFormatSize(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookFont(IntPtr handle, int index);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookFontSize(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern double xlBookDatePack(IntPtr handle, int year, int month, int day, int hour, int min, int sec, int msec);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookDateUnpack(IntPtr handle, double value, ref int year, ref int month, ref int day, ref int hour, ref int min, ref int sec, ref int msec);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookColorPack(IntPtr handle, int red, int green, int blue);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookColorUnpack(IntPtr handle, int color, ref int red, ref int green, ref int blue);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookActiveSheet(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookSetActiveSheet(IntPtr handle, int index);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookPictureSize(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookGetPicture(IntPtr handle, int index, ref IntPtr data, ref int size);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookAddPicture(IntPtr handle, string filename);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookAddPicture2(IntPtr handle, byte[] data, int size);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookAddPictureAsLink(IntPtr handle, string filename, int insert);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookDefaultFont(IntPtr handle, ref int fontSize);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookSetDefaultFont(IntPtr handle, string fontName, int fontSize);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookSetKey(IntPtr handle, string name, string key);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookRefR1C1(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookSetRefR1C1(IntPtr handle, int refR1C1);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookRgbMode(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookSetRgbMode(IntPtr handle, int rgbMode);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookBiffVersion(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookVersion(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookIsDate1904(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookSetDate1904(IntPtr handle, int date1904);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern int xlBookIsTemplate(IntPtr handle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookSetTemplate(IntPtr handle, int template);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlBookErrorMessage(IntPtr bookHandle);
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern void xlBookRelease(IntPtr handle);
}
public class BinBook : Book
{
public BinBook()
{
handle = xlCreateBookC();
}
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlCreateBookC();
}
public class XmlBook : Book
{
public XmlBook()
{
handle = xlCreateXMLBookC();
}
[DllImport("libxl.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr xlCreateXMLBookC();
}
}

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl/Exception.cs

0
3rdparty/libxl-3.8.1.0/examples/c#/vs2008/libxl/FilterColumn.cs

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save