Enumerations Reference

Calculation Enumerations

enum CalcTypeEnum

Workbook calculation modes.

enumerator CALCTYPE_AUTO

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

enumerator CALCTYPE_MANUAL

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

enumerator CALCTYPE_AUTONOTABLE

Indicates tables be excluded during automatic calculation.

Worksheet Type Enumerations

enum SheetTypeEnum

Types of sheets in a workbook.

enumerator SHEETTYPE_UNKNOWN
enumerator SHEETTYPE_WORKSHEET
enumerator SHEETTYPE_CHARTSHEET
enumerator SHEETTYPE_DIALOGSHEET
enum SheetStateEnum

Visibility states for worksheets.

enumerator SHEETSTATE_VISIBLE

Indicates the sheet is visible.

enumerator SHEETSTATE_HIDDEN

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

enumerator SHEETSTATE_VERYHIDDEN

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

Worksheet Protection Enumerations

enum SheetProtectEnum

Worksheet protection options (bitmask).

enumerator PROTECT_SELECT_LOCKED_CELLS

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

enumerator PROTECT_SELECT_UNLOCKED_CELLS

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

enumerator PROTECT_OBJECTS

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

enumerator PROTECT_SCENARIOS

Scenarios should not be edited when the sheet is protected

enumerator PROTECT_FORMAT_CELLS

Formatting cells should not be allowed when the sheet is protected

enumerator PROTECT_FORMAT_COLUMNS

Formatting columns should not be allowed when the sheet is protected

enumerator PROTECT_FORMAT_ROWS

Formatting rows should not be allowed when the sheet is protected

enumerator PROTECT_INSERT_COLUMNS

Inserting columns should not be allowed when the sheet is protected

enumerator PROTECT_INSERT_ROWS

inserting rows should not be allowed when the sheet is protected

enumerator PROTECT_INSERT_HYPERLINKS

inserting hyperlinks should not be allowed when the sheet is protected

enumerator PROTECT_DELETE_COLUMNS

Deleting columns should not be allowed when the sheet is protected

enumerator PROTECT_DELETE_ROWS

Deleting rows should not be allowed when the sheet is protected

enumerator PROTECT_SORT

Sorting should not be allowed when the sheet is protected

enumerator PROTECT_AUTOFILTER

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

enumerator PROTECT_PIVOTTABLES

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

enumerator PROTECT_ALL

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

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

enum CellTypeEnum

Types of cell content.

enumerator CELLTYPE_NONE

Cell does not exist

enumerator CELLTYPE_BLANK

Empty cell

enumerator CELLTYPE_NUMBER

Numeric value

enumerator CELLTYPE_STRING

String value

enumerator CELLTYPE_BOOLEAN

Boolean value

enumerator CELLTYPE_DATETIME

Date/time value

enumerator CELLTYPE_ERROR

Error value

enum ErrorCodeEnum

Excel error codes.

enumerator ERRCODE_UNKNOWN

Unknown error

enumerator ERRCODE_NONE

No error

enumerator ERRCODE_NULL

#NULL! error

enumerator ERRCODE_DIV_0

#DIV/0! error

enumerator ERRCODE_VALUE

#VALUE! error

enumerator ERRCODE_REF

#REF! error

enumerator ERRCODE_NAME

#NAME? error

enumerator ERRCODE_NUM

#NUM! error

enumerator ERRCODE_NA

#N/A error

enumerator ERRCODE_GETTING_DATA

#GETTING_DATA error

enumerator ERRCODE_SPILL

#SPILL! error

Built-in number format:

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:

Name

View

normal

../_images/normal.png

comma

../_images/comma.png

currency

../_images/currency.png

percent

../_images/percent.png

comma0

../_images/comma0.png

currency0

../_images/currency0.png

note

../_images/note.png

warningText

../_images/warningText.png

title

../_images/title.png

heading1

../_images/heading1.png

heading2

../_images/heading2.png

heading3

../_images/heading3.png

heading4

../_images/heading4.png

input

../_images/input.png

output

../_images/output.png

calculation

../_images/calculation.png

checkCell

../_images/checkCell.png

linkedCell

../_images/linkedCell.png

total

../_images/total.png

good

../_images/good.png

bad

../_images/bad.png

neutral

../_images/neutral.png

accent1

../_images/accent1.png

accent1pct20

../_images/accent1pct20.png

accent1pct40

../_images/accent1pct40.png

accent1pct60

../_images/accent1pct60.png

accent2

../_images/accent2.png

accent2pct20

../_images/accent2pct20.png

accent2pct40

../_images/accent2pct40.png

accent2pct60

../_images/accent2pct60.png

accent3

../_images/accent3.png

accent3pct20

../_images/accent3pct20.png

accent3pct40

../_images/accent3pct40.png

accent3pct60

../_images/accent3pct60.png

accent4

../_images/accent1.png

accent4pct20

../_images/accent4pct20.png

accent4pct40

../_images/accent4pct40.png

accent4pct60

../_images/accent5pct60.png

accent5

../_images/accent5.png

accent5pct20

../_images/accent5pct20.png

accent5pct40

../_images/accent5pct40.png

accent5pct60

../_images/accent5pct60.png

accent6

../_images/accent1.png

accent6pct20

../_images/accent6pct20.png

accent6pct40

../_images/accent6pct40.png

accent6pct60

../_images/accent6pct60.png

explanatoryText

../_images/explanatoryText.png

Alignment Enumerations

enum HAlignEnum

Horizontal alignment options.

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

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.

enumerator HALIGN_CENTER

The horizontal alignment is centered

enumerator HALIGN_RIGHT

The horizontal alignment is right-aligned

enumerator HALIGN_FILL

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

enumerator HALIGN_JUSTIFY

The horizontal alignment is justified (flush left and right)

enumerator HALIGN_CENTERCONTINUOUS

The horizontal alignment is centered across multiple cells

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

enum VAlignEnum

Vertical alignment options.

enumerator VALIGN_BOTTOM

The vertical alignment is aligned-to-bottom

enumerator VALIGN_CENTER

The vertical alignment is centered across the height of the cell

enumerator VALIGN_TOP

The vertical alignment is aligned-to-top

enumerator VALIGN_JUSTIFY

Justified vertical alignment

enumerator VALIGN_DISTRIBUTED

Distributed vertical alignment

Border Enumerations

enum BorderStyleEnum

Border line styles.

enumerator BORDER_NONE

No border

enumerator BORDER_THIN

Thin line border

enumerator BORDER_MEDIUM

Medium line border

enumerator BORDER_THICK

Thick line border

enumerator BORDER_DOUBLE

Double line border

enumerator BORDER_DASHED

Dashed line

enumerator BORDER_MEDIUMDASHED

Medium dashed line

enumerator BORDER_DASHDOT

Dash-dot line

enumerator BORDER_MEDIUMDASHDOT

Medium dash-dot line

enumerator BORDER_DASHDOTDOT

Dash-dot-dot line

enumerator BORDER_MEDIUMDASHDOTDOT

Medium dash-dot-dot line

enumerator BORDER_SLANTDASHDOT

Slant dash-dot line

enumerator BORDER_DOTTED

Dotted line

enumerator BORDER_HAIR

Hairline border

enum BorderIndexEnum

Border positions.

enumerator BORDERINDEX_LEFT

Left border

enumerator BORDERINDEX_RIGHT

Right border

enumerator BORDERINDEX_TOP

Top border

enumerator BORDERINDEX_BOTTOM

Bottom border

enumerator BORDERINDEX_HORIZONTAL

Interior horizontal borders

enumerator BORDERINDEX_VERTICAL

Interior vertical borders

enumerator BORDERINDEX_DIAGONAL_DOWN

Diagonal down border

enumerator BORDERINDEX_DIAGONAL_UP

Diagonal up border

enumerator BORDERINDEX_EDGE

All outer borders

enumerator BORDERINDEX_INSIDE

All interior borders

Fill Pattern Enumerations

enum PatternTypeEnum

(Use yellow background and black foreground colors)

Enumeration Value

View

PATTERNTYPE_NONE

../_images/none.png

PATTERNTYPE_SOLID

../_images/solid.png

PATTERNTYPE_DARKGRAY

../_images/darkGray.png

PATTERNTYPE_MEDIUMGRAY

../_images/mediumGray.png

PATTERNTYPE_LIGHTGRAY

../_images/lightGrid.png

PATTERNTYPE_GRAY125

../_images/gray125.png

PATTERNTYPE_GRAY0625

../_images/gray0625.png

PATTERNTYPE_DARKHORIZONTAL

../_images/darkHorizontal.png

PATTERNTYPE_DARKVERTICAL

../_images/darkVertical.png

PATTERNTYPE_DARKUP

../_images/darkUp.png

PATTERNTYPE_DARKDOWN

../_images/darkDown.png

PATTERNTYPE_DARKTRELLIS

../_images/darkTrellis.png

PATTERNTYPE_DARKGRID

../_images/darkGrid.png

PATTERNTYPE_LIGHTHORIZONTAL

../_images/lightHorizontal.png

PATTERNTYPE_LIGHTVERTICAL

../_images/lightVertical.png

PATTERNTYPE_LIGHTUP

../_images/lightUp.png

PATTERNTYPE_LIGHTDOWN

../_images/lightDown.png

PATTERNTYPE_LIGHTTRELLIS

../_images/lightTrellis.png

PATTERNTYPE_LIGHTGRID

../_images/lightGrid.png

Text Formatting Enumerations

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.

enumerator VALIGNRUN_BASELINE

Normal baseline alignment

enumerator VALIGNRUN_SUBSCRIPT

Subscript text

enumerator VALIGNRUN_SUPERSCRIPT

Superscript text

enum UnderlineEnum

Text underline styles.

enumerator UNDERLINE_NONE

No underline

enumerator UNDERLINE_SINGLE

Single underline

enumerator UNDERLINE_SINGLEACCOUNTING

Single accounting underline

enumerator UNDERLINE_DOUBLE

Double underline

enumerator UNDERLINE_DOUBLEACCOUNTING

Double accounting underline

Table Function Enumerations

Built in table styles

enum TotalsFuncEnum

Table totals row functions.

enumerator TOTALS_FUNC_NONE

No function

enumerator TOTALS_FUNC_SUM

Sum of values

enumerator TOTALS_FUNC_AVERAGE

Average of values

enumerator TOTALS_FUNC_COUNT

Count of non-empty cells

enumerator TOTALS_FUNC_COUNT_NUMS

Count of numeric cells

enumerator TOTALS_FUNC_CUSTOM

Custom formula

enumerator TOTALS_FUNC_MIN

Minimum value

enumerator TOTALS_FUNC_MAX

Maximum value

enumerator TOTALS_FUNC_STDDEV

Standard deviation

enumerator TOTALS_FUNC_VAR

Variance

Measurement Unit Enumerations

enum RowHeightUnitEnum

Row height measurement units.

enumerator ROWHEIGHT_POINTS

Points (1/72 inch)

enumerator ROWHEIGHT_INCH

Inches

enumerator ROWHEIGHT_MM

Millimeters

enum ColWidthUnitEnum

Column width measurement units.

enumerator COLWIDTH_CHARS

Character units (Excel default)

enumerator COLWIDTH_INCH

Inches

enumerator COLWIDTH_MM

Millimeters

Shape and Object Enumerations

enum ShapeAnchorEnum

Shape anchoring behavior with cell resizing.

enumerator SHAPE_ABSOLUTE

Don’t move or resize with cells

enumerator SHAPE_ONLY_MOVE

Move with cells but don’t resize

enumerator SHAPE_MOVE_AND_RESIZE

Move and resize with anchor cells

Printing Enumerations

enum PageOrientEnum

Page orientation for printing.

enumerator PAGEORIENT_DEFAULT

Default orientation

enumerator PAGEORIENT_LANDSCAPE

Landscape orientation

enumerator PAGEORIENT_PORTRAIT

Portrait orientation

enum PrintOrderEnum

Page printing order.

enumerator PRINTORDER_DOWNTHENOVER

Down then over

enumerator PRINTORDER_OVERTHENDOWN

Over then down

enum PaperUnitEnum

Paper measurement units.

enumerator PAPERUNIT_mm

Millimeters

enumerator PAPERUNIT_cm

Centimeters

enumerator PAPERUNIT_in

Inches

enumerator PAPERUNIT_pt

Points

enumerator PAPERUNIT_pc

Picas

enumerator PAPERUNIT_pi

Printer’s inches

enum PrintCMTEnum

Cell comment printing options.

enumerator PRINTCMT_NONE

Don’t print comments

enumerator PRINTCMT_ASDISPLAYED

Print as displayed on sheet

enumerator PRINTCMT_ATEND

Print at end of sheet

enum PrintErrorEnum

Error value printing options.

enumerator PRINTERROR_BLANK

Display errors as blank

enumerator PRINTERROR_DASH

Display errors as dashes

enumerator PRINTERROR_DISPLAYED

Display errors as shown on screen

enumerator PRINTERROR_NA

Display errors as #N/A

Paper Size Constants

Paper size identifiers:

/*
     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

// 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);