.. _enum-api:

Enumerations Reference
======================

Calculation Enumerations
------------------------

.. cpp:enum:: CalcTypeEnum

   Workbook calculation modes.

   .. cpp:enumerator:: CALCTYPE_AUTO

      Indicates that calculations in the workbook are performed automatically when cell values change.

   .. cpp:enumerator:: CALCTYPE_MANUAL

      Indicates that calculations in the workbook be triggered manually by the user.

   .. cpp:enumerator:: CALCTYPE_AUTONOTABLE

      Indicates tables be excluded during automatic calculation.

Worksheet Type Enumerations
---------------------------

.. cpp:enum:: SheetTypeEnum

   Types of sheets in a workbook.

   .. cpp:enumerator:: SHEETTYPE_UNKNOWN

   .. cpp:enumerator:: SHEETTYPE_WORKSHEET

   .. cpp:enumerator:: SHEETTYPE_CHARTSHEET

   .. cpp:enumerator:: SHEETTYPE_DIALOGSHEET

.. cpp:enum:: SheetStateEnum

   Visibility states for worksheets.

   .. cpp:enumerator:: SHEETSTATE_VISIBLE

      Indicates the sheet is visible.

   .. cpp:enumerator:: SHEETSTATE_HIDDEN

      Indicates the workbook window is hidden, but can be shown by the user via the user interface.

   .. cpp:enumerator:: SHEETSTATE_VERYHIDDEN

      Indicates the sheet is hidden and cannot be shown in the user interface (UI).

Worksheet Protection Enumerations
---------------------------------

.. cpp:enum:: SheetProtectEnum

   Worksheet protection options (bitmask).

   .. cpp:enumerator:: PROTECT_SELECT_LOCKED_CELLS

      Selection of locked cells should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_SELECT_UNLOCKED_CELLS

      selection of unlocked cells should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_OBJECTS

      Editing of objects should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_SCENARIOS

      Scenarios should not be edited when the sheet is protected

   .. cpp:enumerator:: PROTECT_FORMAT_CELLS

      Formatting cells should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_FORMAT_COLUMNS

      Formatting columns should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_FORMAT_ROWS

      Formatting rows should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_INSERT_COLUMNS

      Inserting columns should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_INSERT_ROWS

      inserting rows should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_INSERT_HYPERLINKS

      inserting hyperlinks should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_DELETE_COLUMNS

      Deleting columns should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_DELETE_ROWS

      Deleting rows should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_SORT

      Sorting should not be allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_AUTOFILTER

      AutoFilters should not be allowed to operate when the sheet is protected

   .. cpp:enumerator:: PROTECT_PIVOTTABLES

      PivotTables should not be allowed to operate when the sheet is protected

   .. cpp:enumerator:: PROTECT_ALL

      All the above operations are not allowed when the sheet is protected

   .. cpp:enumerator:: PROTECT_DEFAULT

      All other operations except for PROTECT_SORT, PROTECT_AUTOFILTER and PROTECT_PIVOTTABLES are not allowed when the sheet is protected

Cell Data Type Enumerations
---------------------------

.. cpp:enum:: CellTypeEnum

   Types of cell content.

   .. cpp:enumerator:: CELLTYPE_NONE

      Cell does not exist

   .. cpp:enumerator:: CELLTYPE_BLANK

      Empty cell

   .. cpp:enumerator:: CELLTYPE_NUMBER

      Numeric value

   .. cpp:enumerator:: CELLTYPE_STRING

      String value

   .. cpp:enumerator:: CELLTYPE_BOOLEAN

      Boolean value

   .. cpp:enumerator:: CELLTYPE_DATETIME

      Date/time value

   .. cpp:enumerator:: CELLTYPE_ERROR

      Error value

.. cpp:enum:: ErrorCodeEnum

   Excel error codes.

   .. cpp:enumerator:: ERRCODE_UNKNOWN

      Unknown error

   .. cpp:enumerator:: ERRCODE_NONE

      No error

   .. cpp:enumerator:: ERRCODE_NULL

      #NULL! error

   .. cpp:enumerator:: ERRCODE_DIV_0

      #DIV/0! error

   .. cpp:enumerator:: ERRCODE_VALUE

      #VALUE! error

   .. cpp:enumerator:: ERRCODE_REF

      #REF! error

   .. cpp:enumerator:: ERRCODE_NAME

      #NAME? error

   .. cpp:enumerator:: ERRCODE_NUM

      #NUM! error

   .. cpp:enumerator:: ERRCODE_NA

      #N/A error

   .. cpp:enumerator:: ERRCODE_GETTING_DATA

      #GETTING_DATA error

   .. cpp:enumerator:: ERRCODE_SPILL

      #SPILL! error

.. _Builtin_number_formats:

Built-in number format:
-----------------------

.. list-table::
   :header-rows: 1

   * - **ID**
     - **format code**
   * - 0
     - General
   * - 1
     - 0
   * - 2
     - 0.00
   * - 3
     - #,##0
   * - 4
     - #,##0.00
   * - 9
     - 0%
   * - 10
     - 0.00%
   * - 11
     - 0.00E+00
   * - 12
     - # ?/?
   * - 13
     - # ??/??
   * - 14
     - mm-dd-yy
   * - 15
     - d-mmm-yy
   * - 16
     - d-mmm
   * - 17
     - mmm-yy
   * - 18
     - h:mm AM/PM
   * - 19
     - h:mm:ss AM/PM
   * - 20
     - h:mm
   * - 21
     - h:mm:ss
   * - 22
     - m/d/yy h:mm
   * - 37
     - #,##0 ;(#,##0)
   * - 38
     - #,##0 ;[Red](#,##0)
   * - 39
     - #,##0.00;(#,##0.00)
   * - 40
     - #,##0.00;[Red](#,##0.00)
   * - 45
     - mm:ss
   * - 46
     - [h]:mm:ss
   * - 47
     - mmss.0
   * - 48
     - ##0.0E+0
   * - 49
     - @

.. _Built_in_cell_styles:

Built-in cell styles:
---------------------

.. list-table::
   :header-rows: 1

   * - **Name**
     - **View**
   * - normal
     - .. image:: ../_static/images/built-in_cell_styles/normal.png
   * - comma
     - .. image:: ../_static/images/built-in_cell_styles/comma.png
   * - currency
     - .. image:: ../_static/images/built-in_cell_styles/currency.png
   * - percent
     - .. image:: ../_static/images/built-in_cell_styles/percent.png
   * - comma0
     - .. image:: ../_static/images/built-in_cell_styles/comma0.png
   * - currency0
     - .. image:: ../_static/images/built-in_cell_styles/currency0.png
   * - note
     - .. image:: ../_static/images/built-in_cell_styles/note.png
   * - warningText
     - .. image:: ../_static/images/built-in_cell_styles/warningText.png
   * - title
     - .. image:: ../_static/images/built-in_cell_styles/title.png
   * - heading1
     - .. image:: ../_static/images/built-in_cell_styles/heading1.png
   * - heading2
     - .. image:: ../_static/images/built-in_cell_styles/heading2.png
   * - heading3
     - .. image:: ../_static/images/built-in_cell_styles/heading3.png
   * - heading4
     - .. image:: ../_static/images/built-in_cell_styles/heading4.png
   * - input
     - .. image:: ../_static/images/built-in_cell_styles/input.png
   * - output
     - .. image:: ../_static/images/built-in_cell_styles/output.png
   * - calculation
     - .. image:: ../_static/images/built-in_cell_styles/calculation.png
   * - checkCell
     - .. image:: ../_static/images/built-in_cell_styles/checkCell.png
   * - linkedCell
     - .. image:: ../_static/images/built-in_cell_styles/linkedCell.png
   * - total
     - .. image:: ../_static/images/built-in_cell_styles/total.png
   * - good
     - .. image:: ../_static/images/built-in_cell_styles/good.png
   * - bad
     - .. image:: ../_static/images/built-in_cell_styles/bad.png
   * - neutral
     - .. image:: ../_static/images/built-in_cell_styles/neutral.png
   * - accent1
     - .. image:: ../_static/images/built-in_cell_styles/accent1.png
   * - accent1pct20
     - .. image:: ../_static/images/built-in_cell_styles/accent1pct20.png
   * - accent1pct40
     - .. image:: ../_static/images/built-in_cell_styles/accent1pct40.png
   * - accent1pct60
     - .. image:: ../_static/images/built-in_cell_styles/accent1pct60.png
   * - accent2
     - .. image:: ../_static/images/built-in_cell_styles/accent2.png
   * - accent2pct20
     - .. image:: ../_static/images/built-in_cell_styles/accent2pct20.png
   * - accent2pct40
     - .. image:: ../_static/images/built-in_cell_styles/accent2pct40.png
   * - accent2pct60
     - .. image:: ../_static/images/built-in_cell_styles/accent2pct60.png
   * - accent3
     - .. image:: ../_static/images/built-in_cell_styles/accent3.png
   * - accent3pct20
     - .. image:: ../_static/images/built-in_cell_styles/accent3pct20.png
   * - accent3pct40
     - .. image:: ../_static/images/built-in_cell_styles/accent3pct40.png
   * - accent3pct60
     - .. image:: ../_static/images/built-in_cell_styles/accent3pct60.png
   * - accent4
     - .. image:: ../_static/images/built-in_cell_styles/accent1.png
   * - accent4pct20
     - .. image:: ../_static/images/built-in_cell_styles/accent4pct20.png
   * - accent4pct40
     - .. image:: ../_static/images/built-in_cell_styles/accent4pct40.png
   * - accent4pct60
     - .. image:: ../_static/images/built-in_cell_styles/accent5pct60.png
   * - accent5
     - .. image:: ../_static/images/built-in_cell_styles/accent5.png
   * - accent5pct20
     - .. image:: ../_static/images/built-in_cell_styles/accent5pct20.png
   * - accent5pct40
     - .. image:: ../_static/images/built-in_cell_styles/accent5pct40.png
   * - accent5pct60
     - .. image:: ../_static/images/built-in_cell_styles/accent5pct60.png
   * - accent6
     - .. image:: ../_static/images/built-in_cell_styles/accent1.png
   * - accent6pct20
     - .. image:: ../_static/images/built-in_cell_styles/accent6pct20.png
   * - accent6pct40
     - .. image:: ../_static/images/built-in_cell_styles/accent6pct40.png
   * - accent6pct60
     - .. image:: ../_static/images/built-in_cell_styles/accent6pct60.png
   * - explanatoryText
     - .. image:: ../_static/images/built-in_cell_styles/explanatoryText.png

Alignment Enumerations
----------------------

.. cpp:enum:: HAlignEnum

   Horizontal alignment options.

   .. cpp:enumerator:: HALIGN_GENERAL

      The horizontal alignment is general-aligned. Text data is left-aligned. Numbers, dates, and times are right aligned. Boolean types are centered

   .. cpp:enumerator:: HALIGN_LEFT

      The horizontal alignment is left-aligned, even in Right to-Left mode. Aligns contents at the left edge of the cell.
      If an indent amount is specified, the contents of the cell is indented from the left by the specified number of
      character spaces. The character spaces are based on the default font and font size for the workbook.

   .. cpp:enumerator:: HALIGN_CENTER

      The horizontal alignment is centered

   .. cpp:enumerator:: HALIGN_RIGHT

      The horizontal alignment is right-aligned

   .. cpp:enumerator:: HALIGN_FILL

      Indicates that the value of the cell should be filled across the entire width of the cell

   .. cpp:enumerator:: HALIGN_JUSTIFY

      The horizontal alignment is justified (flush left and right)

   .. cpp:enumerator:: HALIGN_CENTERCONTINUOUS

      The horizontal alignment is centered across multiple cells

   .. cpp:enumerator:: HALIGN_DISTRIBUTED

      Indicates that each 'word' in each line of text inside the cell is evenly distributed across the width of the cell, with flush right and left margins

.. cpp:enum:: VAlignEnum

   Vertical alignment options.

   .. cpp:enumerator:: VALIGN_BOTTOM

      The vertical alignment is aligned-to-bottom

   .. cpp:enumerator:: VALIGN_CENTER

      The vertical alignment is centered across the height of the cell

   .. cpp:enumerator:: VALIGN_TOP

      The vertical alignment is aligned-to-top

   .. cpp:enumerator:: VALIGN_JUSTIFY

      Justified vertical alignment

   .. cpp:enumerator:: VALIGN_DISTRIBUTED

      Distributed vertical alignment

Border Enumerations
-------------------

.. cpp:enum:: BorderStyleEnum

   Border line styles.

   .. cpp:enumerator:: BORDER_NONE

      No border

   .. cpp:enumerator:: BORDER_THIN

      Thin line border

   .. cpp:enumerator:: BORDER_MEDIUM

      Medium line border

   .. cpp:enumerator:: BORDER_THICK

      Thick line border

   .. cpp:enumerator:: BORDER_DOUBLE

      Double line border

   .. cpp:enumerator:: BORDER_DASHED

      Dashed line

   .. cpp:enumerator:: BORDER_MEDIUMDASHED

      Medium dashed line

   .. cpp:enumerator:: BORDER_DASHDOT

      Dash-dot line

   .. cpp:enumerator:: BORDER_MEDIUMDASHDOT

      Medium dash-dot line

   .. cpp:enumerator:: BORDER_DASHDOTDOT

      Dash-dot-dot line

   .. cpp:enumerator:: BORDER_MEDIUMDASHDOTDOT

      Medium dash-dot-dot line

   .. cpp:enumerator:: BORDER_SLANTDASHDOT

      Slant dash-dot line

   .. cpp:enumerator:: BORDER_DOTTED

      Dotted line

   .. cpp:enumerator:: BORDER_HAIR

      Hairline border

.. cpp:enum:: BorderIndexEnum

   Border positions.

   .. cpp:enumerator:: BORDERINDEX_LEFT

      Left border

   .. cpp:enumerator:: BORDERINDEX_RIGHT

      Right border

   .. cpp:enumerator:: BORDERINDEX_TOP

      Top border

   .. cpp:enumerator:: BORDERINDEX_BOTTOM

      Bottom border

   .. cpp:enumerator:: BORDERINDEX_HORIZONTAL

      Interior horizontal borders

   .. cpp:enumerator:: BORDERINDEX_VERTICAL

      Interior vertical borders

   .. cpp:enumerator:: BORDERINDEX_DIAGONAL_DOWN

      Diagonal down border

   .. cpp:enumerator:: BORDERINDEX_DIAGONAL_UP

      Diagonal up border

   .. cpp:enumerator:: BORDERINDEX_EDGE

      All outer borders

   .. cpp:enumerator:: BORDERINDEX_INSIDE

      All interior borders

Fill Pattern Enumerations
-------------------------

.. cpp:enum:: PatternTypeEnum

   (Use yellow background and black foreground colors)

   .. list-table::
      :header-rows: 1

      * - **Enumeration Value**
        - **View**
      * - PATTERNTYPE_NONE
        - .. image:: ../_static/images/excel_pattern_type_images/none.png
             :width: 200px
      * - PATTERNTYPE_SOLID
        - .. image:: ../_static/images/excel_pattern_type_images/solid.png
             :width: 200px
      * - PATTERNTYPE_DARKGRAY
        - .. image:: ../_static/images/excel_pattern_type_images/darkGray.png
             :width: 200px
      * - PATTERNTYPE_MEDIUMGRAY
        - .. image:: ../_static/images/excel_pattern_type_images/mediumGray.png
             :width: 200px
      * - PATTERNTYPE_LIGHTGRAY
        - .. image:: ../_static/images/excel_pattern_type_images/lightGrid.png
             :width: 200px
      * - PATTERNTYPE_GRAY125
        - .. image:: ../_static/images/excel_pattern_type_images/gray125.png
             :width: 200px
      * - PATTERNTYPE_GRAY0625
        - .. image:: ../_static/images/excel_pattern_type_images/gray0625.png
             :width: 200px
      * - PATTERNTYPE_DARKHORIZONTAL
        - .. image:: ../_static/images/excel_pattern_type_images/darkHorizontal.png
             :width: 200px
      * - PATTERNTYPE_DARKVERTICAL
        - .. image:: ../_static/images/excel_pattern_type_images/darkVertical.png
             :width: 200px
      * - PATTERNTYPE_DARKUP
        - .. image:: ../_static/images/excel_pattern_type_images/darkUp.png
             :width: 200px
      * - PATTERNTYPE_DARKDOWN
        - .. image:: ../_static/images/excel_pattern_type_images/darkDown.png
             :width: 200px
      * - PATTERNTYPE_DARKTRELLIS
        - .. image:: ../_static/images/excel_pattern_type_images/darkTrellis.png
             :width: 200px
      * - PATTERNTYPE_DARKGRID
        - .. image:: ../_static/images/excel_pattern_type_images/darkGrid.png
             :width: 200px
      * - PATTERNTYPE_LIGHTHORIZONTAL
        - .. image:: ../_static/images/excel_pattern_type_images/lightHorizontal.png
             :width: 200px
      * - PATTERNTYPE_LIGHTVERTICAL
        - .. image:: ../_static/images/excel_pattern_type_images/lightVertical.png
             :width: 200px
      * - PATTERNTYPE_LIGHTUP
        - .. image:: ../_static/images/excel_pattern_type_images/lightUp.png
             :width: 200px
      * - PATTERNTYPE_LIGHTDOWN
        - .. image:: ../_static/images/excel_pattern_type_images/lightDown.png
             :width: 200px
      * - PATTERNTYPE_LIGHTTRELLIS
        - .. image:: ../_static/images/excel_pattern_type_images/lightTrellis.png
             :width: 200px
      * - PATTERNTYPE_LIGHTGRID
        - .. image:: ../_static/images/excel_pattern_type_images/lightGrid.png
             :width: 200px

Text Formatting Enumerations
----------------------------

.. cpp:enum:: VertAlignRunEnum

   Specifies possible values for the alignment of the contents of this run in relation to the default appearance of the run's text.

   .. cpp:enumerator:: VALIGNRUN_BASELINE

      Normal baseline alignment

   .. cpp:enumerator:: VALIGNRUN_SUBSCRIPT

      Subscript text

   .. cpp:enumerator:: VALIGNRUN_SUPERSCRIPT

      Superscript text

.. cpp:enum:: UnderlineEnum

   Text underline styles.

   .. cpp:enumerator:: UNDERLINE_NONE

      No underline

   .. cpp:enumerator:: UNDERLINE_SINGLE

      Single underline

   .. cpp:enumerator:: UNDERLINE_SINGLEACCOUNTING

      Single accounting underline

   .. cpp:enumerator:: UNDERLINE_DOUBLE

      Double underline

   .. cpp:enumerator:: UNDERLINE_DOUBLEACCOUNTING

      Double accounting underline

Table Function Enumerations
---------------------------

**Built in table styles**

   see: :doc:`preset_table_styles`

.. cpp:enum:: TotalsFuncEnum

   Table totals row functions.

   .. cpp:enumerator:: TOTALS_FUNC_NONE

      No function

   .. cpp:enumerator:: TOTALS_FUNC_SUM

      Sum of values

   .. cpp:enumerator:: TOTALS_FUNC_AVERAGE

      Average of values

   .. cpp:enumerator:: TOTALS_FUNC_COUNT

      Count of non-empty cells

   .. cpp:enumerator:: TOTALS_FUNC_COUNT_NUMS

      Count of numeric cells

   .. cpp:enumerator:: TOTALS_FUNC_CUSTOM

      Custom formula

   .. cpp:enumerator:: TOTALS_FUNC_MIN

      Minimum value

   .. cpp:enumerator:: TOTALS_FUNC_MAX

      Maximum value

   .. cpp:enumerator:: TOTALS_FUNC_STDDEV

      Standard deviation

   .. cpp:enumerator:: TOTALS_FUNC_VAR

      Variance

Measurement Unit Enumerations
-----------------------------

.. cpp:enum:: RowHeightUnitEnum

   Row height measurement units.

   .. cpp:enumerator:: ROWHEIGHT_POINTS

      Points (1/72 inch)

   .. cpp:enumerator:: ROWHEIGHT_INCH

      Inches

   .. cpp:enumerator:: ROWHEIGHT_MM

      Millimeters

.. cpp:enum:: ColWidthUnitEnum

   Column width measurement units.

   .. cpp:enumerator:: COLWIDTH_CHARS

      Character units (Excel default)

   .. cpp:enumerator:: COLWIDTH_INCH

      Inches

   .. cpp:enumerator:: COLWIDTH_MM

      Millimeters

Shape and Object Enumerations
-----------------------------

.. cpp:enum:: ShapeAnchorEnum

   Shape anchoring behavior with cell resizing.

   .. cpp:enumerator:: SHAPE_ABSOLUTE

      Don't move or resize with cells

   .. cpp:enumerator:: SHAPE_ONLY_MOVE

      Move with cells but don't resize

   .. cpp:enumerator:: SHAPE_MOVE_AND_RESIZE

      Move and resize with anchor cells

Printing Enumerations
---------------------

.. cpp:enum:: PageOrientEnum

   Page orientation for printing.

   .. cpp:enumerator:: PAGEORIENT_DEFAULT

      Default orientation

   .. cpp:enumerator:: PAGEORIENT_LANDSCAPE

      Landscape orientation

   .. cpp:enumerator:: PAGEORIENT_PORTRAIT

      Portrait orientation

.. cpp:enum:: PrintOrderEnum

   Page printing order.

   .. cpp:enumerator:: PRINTORDER_DOWNTHENOVER

      Down then over

   .. cpp:enumerator:: PRINTORDER_OVERTHENDOWN

      Over then down

.. cpp:enum:: PaperUnitEnum

   Paper measurement units.

   .. cpp:enumerator:: PAPERUNIT_mm

      Millimeters

   .. cpp:enumerator:: PAPERUNIT_cm

      Centimeters

   .. cpp:enumerator:: PAPERUNIT_in

      Inches

   .. cpp:enumerator:: PAPERUNIT_pt

      Points

   .. cpp:enumerator:: PAPERUNIT_pc

      Picas

   .. cpp:enumerator:: PAPERUNIT_pi

      Printer's inches

.. cpp:enum:: PrintCMTEnum

   Cell comment printing options.

   .. cpp:enumerator:: PRINTCMT_NONE

      Don't print comments

   .. cpp:enumerator:: PRINTCMT_ASDISPLAYED

      Print as displayed on sheet

   .. cpp:enumerator:: PRINTCMT_ATEND

      Print at end of sheet

.. cpp:enum:: PrintErrorEnum

   Error value printing options.

   .. cpp:enumerator:: PRINTERROR_BLANK

      Display errors as blank

   .. cpp:enumerator:: PRINTERROR_DASH

      Display errors as dashes

   .. cpp:enumerator:: PRINTERROR_DISPLAYED

      Display errors as shown on screen

   .. cpp:enumerator:: PRINTERROR_NA

      Display errors as #N/A

Paper Size Constants
--------------------

Paper size identifiers:

.. code-block:: cpp

   /*
        ID              Paper
      ------------------------------------------------------
         1  =  Letter paper(8.5 in.by 11 in.)
         2  =  Letter small paper(8.5 in.by 11 in.)
         3  =  Tabloid paper(11 in.by 17 in.)
         4  =  Ledger paper(17 in.by 11 in.)
         5  =  Legal paper(8.5 in.by 14 in.)
         6  =  Statement paper(5.5 in.by 8.5 in.)
         7  =  Executive paper(7.25 in.by 10.5 in.)
         8  =  A3 paper(297 mm by 420 mm)
         9  =  A4 paper(210 mm by 297 mm)
        10  =  A4 small paper(210 mm by 297 mm)
        11  =  A5 paper(148 mm by 210 mm)
        12  =  B4 paper(250 mm by 353 mm)
        13  =  B5 paper(176 mm by 250 mm)
        14  =  Folio paper(8.5 in.by 13 in.)
        15  =  Quarto paper(215 mm by 275 mm)
        16  =  Standard paper(10 in.by 14 in.)
        17  =  Standard paper(11 in.by 17 in.)
        18  =  Note paper(8.5 in.by 11 in.)
        19  =  #9 envelope(3.875 in.by 8.875 in.)
        20  =  #10 envelope(4.125 in.by 9.5 in.)
        21  =  #11 envelope(4.5 in.by 10.375 in.)
        22  =  #12 envelope(4.75 in.by 11 in.)
        23  =  #14 envelope(5 in.by 11.5 in.)
        24  =  C paper(17 in.by 22 in.)
        25  =  D paper (22 in. by 34 in.)
        26  =  E paper (34 in. by 44 in.)
        27  =  DL envelope (110 mm by 220 mm)
        28  =  C5 envelope (162 mm by 229 mm)
        29  =  C3 envelope (324 mm by 458 mm)
        30  =  C4 envelope (229 mm by 324 mm)
        31  =  C6 envelope (114 mm by 162 mm)
        32  =  C65 envelope (114 mm by 229 mm)
        33  =  B4 envelope (250 mm by 353 mm)
        34  =  B5 envelope (176 mm by 250 mm)
        35  =  B6 envelope (176 mm by 125 mm)
        36  =  Italy envelope (110 mm by 230 mm)
        37  =  Monarch envelope (3.875 in. by 7.5 in.).
        38  =  6 3/4 envelope (3.625 in. by 6.5 in.)
        39  =  US standard fanfold (14.875 in. by 11 in.)
        40  =  German standard fanfold (8.5 in. by 12 in.)
        41  =  German legal fanfold (8.5 in. by 13 in.)
        42  =  ISO B4 (250 mm by 353 mm)
        43  =  Japanese double postcard (200 mm by 148 mm)
        44  =  Standard paper (9 in. by 11 in.)
        45  =  Standard paper (10 in. by 11 in.)
        46  =  Standard paper (15 in. by 11 in.)
        47  =  Invite envelope (220 mm by 220 mm)
        50  =  Letter extra paper (9.275 in. by 12 in.)
        51  =  Legal extra paper (9.275 in. by 15 in.)
        52  =  Tabloid extra paper (11.69 in. by 18 in.)
        53  =  A4 extra paper (236 mm by 322 mm)
        54  =  Letter transverse paper (8.275 in. by 11 in.)
        55  =  A4 transverse paper (210 mm by 297 mm)
        56  =  Letter extra transverse paper (9.275 in. by 12 in.)
        57  =  SuperA/SuperA/A4 paper (227 mm by 356 mm)
        58  =  SuperB/SuperB/A3 paper (305 mm by 487 mm)
        59  =  Letter plus paper (8.5 in. by 12.69 in.)
        60  =  A4 plus paper (210 mm by 330 mm)
        61  =  A5 transverse paper (148 mm by 210 mm)
        62  =  JIS B5 transverse paper (182 mm by 257 mm)
        63  =  A3 extra paper (322 mm by 445 mm)
        64  =  A5 extra paper (174 mm by 235 mm)
        65  =  ISO B5 extra paper (201 mm by 276 mm)
        66  =  A2 paper (420 mm by 594 mm)
        67  =  A3 transverse paper (297 mm by 420 mm)
        68  =  A3 extra transverse paper (322 mm by 445 mm)
        69  =  Japanese Double Postcard (200 mm x 148 mm)
        70  =  A6 (105 mm x 148 mm)
        71  =  Japanese Envelope Kaku #2
        72  =  Japanese Envelope Kaku #3
        73  =  Japanese Envelope Chou #3
        74  =  Japanese Envelope Chou #4
        75  =  Letter Rotated (11in x 8 1/2 11 in)
        76  =  A3 Rotated (420 mm x 297 mm)
        77  =  A4 Rotated (297 mm x 210 mm)
        78  =  A5 Rotated (210 mm x 148 mm)
        79  =  B4 (JIS) Rotated (364 mm x 257 mm)
        80  =  B5 (JIS) Rotated (257 mm x 182 mm)
        81  =  Japanese Postcard Rotated (148 mm x 100 mm)
        82  =  Double Japanese Postcard Rotated (148 mm x 200 mm)
        83  =  A6 Rotated (148 mm x 105 mm)
        84  =  Japanese Envelope Kaku #2 Rotated
        85  =  Japanese Envelope Kaku #3 Rotated
        86  =  Japanese Envelope Chou #3 Rotated
        87  =  Japanese Envelope Chou #4 Rotated
        88  =  B6 (JIS) (128 mm x 182 mm)
        89  =  B6 (JIS) Rotated (182 mm x 128 mm)
        90  =  (12 in x 11 in)
        91  =  Japanese Envelope You #4
        92  =  Japanese Envelope You #4 Rotated
        93  =  PRC 16K (146 mm x 215 mm)
        94  =  PRC 32K (97 mm x 151 mm)
        95  =  PRC 32K(Big) (97 mm x 151 mm)
        96  =  PRC Envelope #1 (102 mm x 165 mm)
        97  =  PRC Envelope #2 (102 mm x 176 mm)
        98  =  PRC Envelope #3 (125 mm x 176 mm)
        99  =  PRC Envelope #4 (110 mm x 208 mm)
       100  =  PRC Envelope #5 (110 mm x 220 mm)
       101  =  PRC Envelope #6 (120 mm x 230 mm)
       102  =  PRC Envelope #7 (160 mm x 230 mm)
       103  =  PRC Envelope #8 (120 mm x 309 mm)
       104  =  PRC Envelope #9 (229 mm x 324 mm)
       105  =  PRC Envelope #10 (324 mm x 458 mm)
       106  =  PRC 16K Rotated
       107  =  PRC 32K Rotated
       108  =  PRC 32K(Big) Rotated
       109  =  PRC Envelope #1 Rotated (165 mm x 102 mm)
       110  =  PRC Envelope #2 Rotated (176 mm x 102 mm)
       111  =  PRC Envelope #3 Rotated (176 mm x 125 mm)
       112  =  PRC Envelope #4 Rotated (208 mm x 110 mm)
       113  =  PRC Envelope #5 Rotated (220 mm x 110 mm)
       114  =  PRC Envelope #6 Rotated (230 mm x 120 mm)
       115  =  PRC Envelope #7 Rotated (230 mm x 160 mm)
       116  =  PRC Envelope #8 Rotated (309 mm x 120 mm)
       117  =  PRC Envelope #9 Rotated (324 mm x 229 mm)
       118  =  PRC Envelope #10 Rotated (458 mm x 324 mm)
   */

Usage Examples
--------------

.. code-block:: cpp

   // Setting cell alignment
   style->set_align_h(HALIGN_CENTER);
   style->set_align_v(VALIGN_MIDDLE);

   // Applying borders
   style->set_border(BORDERINDEX_EDGE, BORDER_MEDIUM);
   style->set_border(BORDERINDEX_INSIDE, BORDER_THIN);

   // Setting fill pattern
   style->set_fill_pattern(PATTERNTYPE_SOLID);
   style->set_pattern_bg_color(RGB(255, 255, 0));

   // Configuring table totals
   table->set_totals_row_func(2, TOTALS_FUNC_SUM);
   table->set_totals_row_func(3, TOTALS_FUNC_AVERAGE);
