SpreadJS製品ヘルプ
Spreadスキーマ
SpreadJS > 開発者の手引き > 機能 > データの管理 > JSONスキーマの使用 > Spreadスキーマ

これは、Spreadの完全バージョンのJSONスキーマです。

Schema
コードのコピー
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Spread",
  "description": "Represent a spreadsheet.",
  "type": "object",
  "properties":
   {
    "version":
    {
      "type": "string"
    },
    "sheets":
    {
      "type": "object",
      "patternProperties":
       {
          ".+":
            {
              "$ref": "#/definitions/Sheet"
            }
        }
     },
   
    "namedStyles":
     {
      "type": "array",
      "description": "The name property of the Style in
       namedStyles can not be null,undefined or '',
       it must be set a value.",
     
     "items":
         {
           "$ref": "#/definitions/Style"
         }
     },
    "names":
    {
      "type": "array",
      "items":
        {
           "$ref": "#/definitions/NameInfo"
        }
    },

    "activeSheetIndex":
    {
      "type": "integer"
    },
   
    "leftCellIndex":
    {
      "type": "integer"
    },
   
    "topCellIndex":
    {

      "type": "integer"
    },

    "sheetCount":
    {
      "type": "integer",
      "minimum": 0
    },

    "startSheetIndex":
    {
      "type": "integer",
      "default": 0
    },

    "sparklineExs":
    {
      "type": "array",
      "items":
       {
        "$ref": "#/definitions/SparklineEx"
       }
    },
   
    "customFunctions":
      {
         "type": "object",
         "patternProperties":
         {
           ".+":
           {
             "$ref": "#/definitions/Function"
           }
         }
      },
   
    "canUserDragDrop":
    {
      "type": "boolean",
      "default": true
    },

    "canUserDragFill":
   {
      "type": "boolean",
      "default": true
    },
   
    "allowUserZoom":
    {
      "type": "boolean",
      "default": true
    },

    "allowUserResize":
    {
      "type": "boolean",
      "default": true
    },
   
    "allowUndo":
    {
      "type": "boolean",
      "default": true
    },

    "allowSheetReorder":
    {
      "type": "boolean",
      "default": true
    },

    "allowUserDragMerge":
    {
      "type": "boolean",
      "default": false
    },

    "allowUserDeselect":
    {
      "type": "boolean",
      "default": true
    },

    "defaultDragFillType":
    {
      "$ref": "#/definitions/AutoFillType",
      "default": 5
    },

    "showDragFillSmartTag":
    {
      "type": "boolean",
      "default": true
    },

    "showHorizontalScrollbar":
   {
      "type": "boolean",
      "default": true
    },
   
   "showVerticalScrollbar":
    {
      "type": "boolean",
      "default": true
    },
    "scrollbarShowMax":
    {
      "type": "boolean",
      "default": true
    },
    "scrollbarMaxAlign": {
      "type": "boolean",
      "default": false
    },
    "tabStripVisible": {
      "type": "boolean",
      "default": true
    },
    "tabStripRatio": {
      "type": "number",
      "default": 0.5
    },
    "tabEditable": {
      "type": "boolean",
      "default": true
    },
    "newTabVisible": {
      "type": "boolean",
      "default": true
    },
    "cutCopyIndicatorVisible": {
      "type": "boolean",
      "default": "true"
    },
    "cutCopyIndicatorBorderColor": {
      "type": "string",
      "default": "#217346"
    },
    "tabNavigationVisible": {
      "type": "boolean",
      "default": true
    },
    "backColor": {
      "type": "string",
      "default": "white"
    },
    "backgroundImage": {
      "type": "string"
    },
    "backgroundImageLayout": {
      "$ref": "#/definitions/ImageLayout",
      "default": 0
    },
    "showResizeTip": {
      "$ref": "#/definitions/ShowResizeTip",
      "default": 0
    },
    "showDragDropTip": {
      "type": "boolean",
      "default": true
    },
    "showDragFillTip": {
      "type": "boolean",
      "default": true
    },
    "scrollIgnoreHidden": {
      "type": "boolean",
      "default": false
    },
    "highlightInvalidData": {
      "type": "boolean",
      "default": false
    },
    "showScrollTip": {
      "$ref": "#/definitions/ShowScrollTip",
      "default": 0
    },
    "grayAreaBackColor": {
      "type": "string"
    },
    "useTouchLayout": {
      "type": "boolean",
      "default": false
    },
    "hideSelection": {
      "type": "boolean",
      "default": false
    },
    "resizeZeroIndicator": {
      "$ref": "#/definitions/ResizeZeroIndicator",
      "default": 1
    },
    "canUserEditFormula": {
      "type": "boolean",
      "default": true
    },
    "enableFormulaTextbox": {
      "type": "boolean",
      "default": true
    },
    "referenceStyle": {
      "$ref": "#/definitions/ReferenceStyle",
      "default": 0
    },
    "allowDynamicArray": {
      "type": "boolean",
      "default": false
    },
    "autoFitType": {
      "$ref": "#/definitions/AutoFitType",
      "default": 0
    },
    "rowResizeMode": {
      "$ref": "#/definitions/ResizeMode",
      "default": 0
    },
    "columnResizeMode": {
      "$ref": "#/definitions/ResizeMode",
      "default": 0
    },
    "font": {
      "type": "string"
    },
    "allowCopyPasteExcelStyle": {
      "type": "boolean",
      "default": true
    },
    "allowExtendPasteRange": {
      "type": "boolean",
      "default": false
    },
    "copyPasteHeaderOptions": {
      "$ref": "#/definitions/CopyPasteHeaderOptions",
      "default": 3
    },
    "customList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/CustomListOptions"
      }
    },
    "scrollByPixel": {
      "type": "boolean",
      "default": false
    },
    "scrollPixel": {
      "type": "number",
      "default": 5
    }
  },
  "definitions": {
    "RangeInfo": {
      "title": "RangeInfo",
      "description": "Represents a range information that can be used by auto merge.",
      "type": "object",
      "properties": {
        "range": {
          "$ref": "#/definitions/Range"
        },
        "direction": {
          "$ref": "#/definitions/AutoMergeDirection",
          "default": 1
        },
        "mode": {
          "$ref": "#/definitions/AutoMergeMode",
          "default": 0
        },
        "sheetArea": {
          "$ref": "#/definitions/SheetArea",
          "default": 3
        }
      }
    },
    "AutoMergeDirection": {
      "title": "AutoMergeDirection",
      "description": "Indicates the auto merge direction. none:0,column:1,row:2,columnRow:3,rowColumn:4",
      "enum": [
        0,
        1,
        2,
        3,
        4
      ]
    },
    "AutoMergeMode": {
      "title": "AutoMergeMode",
      "description": "Indicates the auto merge mode. free:0,restricted:1",
      "enum": [
        0,
        1
      ]
    },
    "SheetArea": {
      "title": "SheetArea",
      "description": "Specifies the sheet area. corner:0,colHeader:1,rowHeader:2,viewport:3",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "CellStates": {
      "title": "CellStates",
      "description": "saving the cell states range and style",
      "type": "object",
      "patternProperties": {
        "[0-9]+": {
          "type": "object",
          "patternProperties": {
            "[0-9]+": {
              "type": "array",
              "items": {
                "range": "#/definitions/Range",
                "style": "#/definitions/Style"
              }
            }
          }
        }
      }
    },
    "NameInfo": {
      "title": "NameInfo",
      "description": "Represents a custom named expression that can be used by formulas.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "row": {
          "type": "integer",
          "minimum": 0
        },
        "col": {
          "type": "integer",
          "minimum": 0
        },
        "formula": {
          "type": "string"
        },
        "comment": {
          "type": "string"
        }
      }
    },
    "Style": {
      "title": "Style",
      "description": " Represents the style for a cell, row, and column.",
      "type": "object",
      "properties": {
        "backColor": {
          "type": [
            "string",
            "null"
          ]
        },
        "foreColor": {
          "type": [
            "string",
            "null"
          ]
        },
        "hAlign": {
          "anyOf": [
            {
              "$ref": "#/definitions/HorizontalAlign"
            },
            {
              "type": "null"
            }
          ]
        },
        "vAlign": {
          "anyOf": [
            {
              "$ref": "#/definitions/VerticalAlign"
            },
            {
              "type": "null"
            }
          ]
        },
        "font": {
          "type": [
            "string",
            "null"
          ]
        },
        "themeFont": {
          "type": [
            "string",
            "null"
          ]
        },
        "formatter": {
          "anyOf": [
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/definitions/GeneralFormatter"
            },
            {
              "$ref": "#/definitions/CustomFormatter"
            }
          ]
        },
        "borderLeft": {
          "$ref": "#/definitions/LineBorder"
        },
        "borderTop": {
          "$ref": "#/definitions/LineBorder"
        },
        "borderRight": {
          "$ref": "#/definitions/LineBorder"
        },
        "borderBottom": {
          "$ref": "#/definitions/LineBorder"
        },
        "diagonalUp": {
          "$ref": "#/definitions/LineBorder"
        },
        "diagonalDown": {
          "$ref": "#/definitions/LineBorder"
        },
        "locked": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "textIndent": {
          "type": [
            "number",
            "null"
          ]
        },
        "wordWrap": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "shrinkToFit": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "isVerticalText": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "backgroundImage": {
          "type": [
            "string",
            "null"
          ]
        },
        "backgroundImageLayout": {
          "anyOf": [
            {
              "$ref": "#/definitions/ImageLayout"
            },
            {
              "type": "null"
            }
          ]
        },
        "cellType": {
          "$ref": "#/definitions/CellType"
        },
        "tabStop": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "parentName": {
          "type": [
            "string",
            "null"
          ]
        },
        "textDecoration": {
          "anyOf": [
            {
              "$ref": "#/definitions/TextDecorationType"
            },
            {
              "type": "null"
            }
          ],
          "default": 0
        },
        "imeMode": {
          "anyOf": [
            {
              "$ref": "#/definitions/ImeMode"
            },
            {
              "type": "null"
            }
          ]
        },
        "watermark": {
          "type": [
            "string",
            "null"
          ]
        },
        "cellPadding": {
          "type": [
            "string",
            "null"
          ]
        },
        "labelOptions": {
          "$ref": "#/definitions/LabelOptions"
        },
        "quotePrefix": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "textOrientation": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "CellType": {
      "title": "CellType",
      "anyOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/definitions/CornerCellType"
        },
        {
          "$ref": "#/definitions/RowHeaderCellType"
        },
        {
          "$ref": "#/definitions/ColumnHeaderCellType"
        },
        {
          "$ref": "#/definitions/TextCellType"
        },
        {
          "$ref": "#/definitions/ButtonCellType"
        },
        {
          "$ref": "#/definitions/CheckBoxCellType"
        },
        {
          "$ref": "#/definitions/ComboBoxCellType"
        },
        {
          "$ref": "#/definitions/HyperLinkCellType"
        },
        {
          "$ref": "#/definitions/BaseCellType"
        }
      ]
    },
    "BaseCellType": {
      "title": "BaseCellType",
      "description": "Represents the base class for the other cell type classes.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '0'.",
          "type": "string"
        }
      }
    },
    "CornerCellType": {
      "title": "CornerCellType",
      "description": "Represents the painter of the corner cell.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '4'.",
          "type": "string"
        }
      }
    },
    "RowHeaderCellType": {
      "title": "RowHeaderCellType",
      "description": "Represents the painter of the row header cells.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '3'.",
          "type": "string"
        }
      }
    },
    "ColumnHeaderCellType": {
      "title": "ColumnHeaderCellType",
      "description": "Represents the painter of the column header cells.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '2'.",
          "type": "string"
        }
      }
    },
    "TextCellType": {
      "title": "TextCellType",
      "description": "Represents a text cell type.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '1'.",
          "type": "string"
        },
        "editorType": {
          "$ref": "#/definitions/EditorType",
          "default": 1
        }
      }
    },
    "ButtonCellType": {
      "title": "ButtonCellType",
      "description": " Represents a button cell.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '6'.",
          "type": "string"
        },
        "marginTop": {
          "type": "number",
          "default": 2
        },
        "marginRight": {
          "type": "number",
          "default": 2
        },
        "marginBottom": {
          "type": "number",
          "default": 2
        },
        "marginLeft": {
          "type": "number",
          "default": 2
        },
        "text": {
          "type": "string",
          "default": ""
        },
        "buttonBackColor": {
          "type": "string"
        }
      }
    },
    "CheckBoxCellType": {
      "title": "CheckBoxCellType",
      "description": "Represents a check box cell.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '5'.",
          "type": "string"
        },
        "caption": {
          "type": "string",
          "default": ""
        },
        "textTrue": {
          "type": "string",
          "default": ""
        },
        "textIndeterminate": {
          "type": "string",
          "default": ""
        },
        "textFalse": {
          "type": "string",
          "default": ""
        },
        "textAlign": {
          "$ref": "#/definitions/CheckBoxAlign",
          "default": 3
        },
        "isThreeState": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "ComboBoxCellType": {
      "title": "ComboBoxCellType",
      "description": "Represents an ordinary combo box cell.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '7'.",
          "type": "string"
        },
        "editorValueType": {
          "$ref": "#/definitions/EditorValueType",
          "default": 0
        },
        "items": {
          "type": "array",
          "items": {
            "type": [
              "array",
              "boolean",
              "number",
              "null",
              "object",
              "string"
            ]
          }
        },
        "itemHeight": {
          "type": "integer",
          "default": 22
        },
        "editable": {
          "type": "boolean",
          "default": false
        },
        "maxDropDownItems": {
          "type": "integer",
          "default": 20
        }
      }
    },
    "HyperLinkCellType": {
      "title": "HyperLinkCellType",
      "description": "Represents the hyperlink cell.",
      "type": "object",
      "properties": {
        "typeName": {
          "description": "It's value is fixed value '8'.",
          "type": "string"
        },
        "linkColor": {
          "type": "string",
          "default": "#0066cc"
        },
        "visitedLinkColor": {
          "type": "string",
          "default": "#3399ff"
        },
        "text": {
          "type": "string",
          "default": ""
        },
        "linkToolTip": {
          "type": "string",
          "default": ""
        },
        "target": {
          "$ref": "#/definitions/HyperLinkTargetType",
          "default": 0
        },
        "link": {
          "type": "string",
          "default": ""
        },
        "activeOnClick": {
          "type": "boolean",
          "default": true
        }
      }
    },
    "CheckBoxAlign": {
      "title": "CheckBoxAlign",
      "description": "Specifies the text alignment for check box cells. top:0,bottom:1,left:2,right:3.",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "EditorValueType": {
      "title": "EditorValueType",
      "description": "Specifies what is written out to the data model for a selected item from certain cell types that offer a selection of multiple values. text:0,index:1,value:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "HyperLinkTargetType": {
      "title": "HyperLinkTargetType",
      "description": "Specifies the hyperlink's target type. blank:0,self:1,parent:2,top:3.",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "GeneralFormatter": {
      "title": "GeneralFormatter",
      "description": "Represents a formatter with the specified format mode and format string.",
      "type": "object",
      "properties": {
        "formatCached": {
          "type": "string",
          "default": "General"
        },
        "customerCultureName": {
          "type": "string"
        }
      }
    },
    "CustomFormatter": {
      "title": "CustomFormatter",
      "description": "Represents a custom formatter with the specified format string.",
      "type": "object",
      "properties": {
        "formatCached": {
          "type": "string"
        },
        "cultureName": {
          "type": "string"
        },
        "typeName": {
          "type": "string",
          "default": ""
        }
      }
    },
    "HorizontalAlign": {
      "title": "HorizontalAlign",
      "description": "Indicates the horizontal alignment. left:0,center:1,right:2,general:3.",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "VerticalAlign": {
      "title": "VerticalAlign",
      "description": "Indicates the vertical alignment. top:0,center:1,bottom:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "DefaultDataValidator": {
      "title": "DefaultDataValidator",
      "description": "Represents a data validator.",
      "type": "object",
      "properties": {
        "errorStyle": {
          "$ref": "#/definitions/ErrorStyle",
          "default": 0
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": true
        },
        "inCellDropdown": {
          "type": "boolean",
          "default": true
        },
        "showInputMessage": {
          "type": "boolean",
          "default": true
        },
        "showErrorMessage": {
          "type": "boolean",
          "default": true
        },
        "inputTitle": {
          "type": "string",
          "default": ""
        },
        "errorTitle": {
          "type": "string",
          "default": ""
        },
        "inputMessage": {
          "type": "string",
          "default": ""
        },
        "errorMessage": {
          "type": "string",
          "default": ""
        },
        "comparisonOperator": {
          "$ref": "#/definitions/ComparisonOperator",
          "default": 6
        },
        "type": {
          "$ref": "#/definitions/CriteriaType",
          "default": 7
        },
        "condition": {
          "$ref": "#/definitions/Condition"
        },
        "ranges": {
          "type": "string"
        },
        "_highlightStyle": {
          "title": "_highlightStyle",
          "description": "Represents a style of the highlight ",
          "type": "object",
          "properties": {
            "type": {
              "$ref": "#/definitions/HighlightType",
              "default": 0
            },
            "postition": {
              "$ref": "#/definitions/HighlightPosition",
              "default": 1
            },
            "color": {
              "type": "string",
              "default": "red"
            },
            "image": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      }
    },
    "ErrorStyle": {
      "title": "ErrorStyle",
      "description": "Indicates the data validation error style. stop:0,warning:1,information:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "HighlightType": {
      "title": "HighlightType",
      "description": "Indicates the data validation highlight type. circle:0,dogear:1,icon:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "HighlightPosition": {
      "title": "HighlightPosition",
      "description": "Indicates the data validation highlight postition. TopLeft:0,TopRight:1,BottomRight:2,BottomLeft:3",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "CriteriaType": {
      "title": "CriteriaType",
      "description": "Indicates the data validator criteria type. anyValue:0,wholeNumber:1,decimalValues:2,list:3,date:4,time:5,textLength:6,custom:7.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7
      ]
    },
    "Condition": {
      "title": "Condition",
      "description": "Represents a condition.",
      "type": "object",
      "anyOf": [
        {
          "$ref": "#/definitions/RelationCondition"
        },
        {
          "$ref": "#/definitions/NumberCondition"
        },
        {
          "$ref": "#/definitions/TextCondition"
        },
        {
          "$ref": "#/definitions/ColorCondition"
        },
        {
          "$ref": "#/definitions/FormulaCondition"
        },
        {
          "$ref": "#/definitions/DateCondition"
        },
        {
          "$ref": "#/definitions/DateExCondition"
        },
        {
          "$ref": "#/definitions/TextLengthCondition"
        },
        {
          "$ref": "#/definitions/Top10Condition"
        },
        {
          "$ref": "#/definitions/UniqueCondition"
        },
        {
          "$ref": "#/definitions/AverageCondition"
        },
        {
          "$ref": "#/definitions/CellValueCondition"
        },
        {
          "$ref": "#/definitions/AreaCondition"
        }
      ]
    },
    "RelationCondition": {
      "title": "RelationCondition",
      "description": "Represents a relation condition with a specified relation type.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "relationCondition:0.",
          "enum": [
            0
          ]
        },
        "compareType": {
          "$ref": "#/definitions/LogicalOperators"
        },
        "item1": {
          "$ref": "#/definitions/Condition"
        },
        "item2": {
          "$ref": "#/definitions/Condition"
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "NumberCondition": {
      "title": "NumberCondition",
      "description": "Represents a number condition of the specified type with the specified expected value.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "numberCondition:1.",
          "enum": [
            1
          ]
        },
        "compareType": {
          "$ref": "#/definitions/GeneralComparisonOperators"
        },
        "integerValue": {
          "type": "boolean",
          "default": false
        },
        "expected": {
          "type": "number"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "TextCondition": {
      "title": "TextCondition",
      "description": "Represents a text condition with the specified text comparison type based on the specified cell.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "textCondition:2.",
          "enum": [
            2
          ]
        },
        "compareType": {
          "$ref": "#/definitions/TextCompareType"
        },
        "ignoreCase": {
          "type": "boolean",
          "default": false
        },
        "useWildCards": {
          "type": "boolean",
          "default": true
        },
        "forceValue2Text": {
          "type": "boolean",
          "default": false
        },
        "expected": {
          "type": "string"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "regex": {
          "$ref": "#/definitions/RegExp"
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "ColorCondition": {
      "title": "ColorCondition",
      "description": "Represents a style condition with the specified comparison type and expected color.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "colorCondition:3.",
          "enum": [
            3
          ]
        },
        "compareType": {
          "$ref": "#/definitions/ColorCompareType"
        },
        "expected": {
          "type": "string"
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "FormulaCondition": {
      "title": "FormulaCondition",
      "description": "Represents a custom condition with a specified formula or expression.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "formulaCondition:4.",
          "enum": [
            4
          ]
        },
        "customValueType": {
          "$ref": "#/definitions/CustomValueType"
        },
        "expected": {
          "type": "string"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "DateCondition": {
      "title": "DateCondition",
      "description": "Represents a date condition with the specified comparison type, expected date condition, and formula.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "dateCondition:5.",
          "enum": [
            5
          ]
        },
        "compareType": {
          "$ref": "#/definitions/DateCompareType"
        },
        "expected": {
          "type": "string"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "DateExCondition": {
      "title": "DateExCondition",
      "description": "Represents a date condition with the specified comparison type, expected date condition, and formula.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "dateExCondition:6.",
          "enum": [
            6
          ]
        },
        "expectTypeId": {
          "type": "integer",
          "default": 0
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "expected": {
          "$ref": "#/definitions/DateOccurringType"
        }
      }
    },
    "TextLengthCondition": {
      "title": "TextLengthCondition",
      "description": "Represents a text length condition with the specified comparison type, expected number, and formula.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "textLengthCondition:7.",
          "enum": [
            7
          ]
        },
        "compareType": {
          "$ref": "#/definitions/GeneralComparisonOperators"
        },
        "expected": {
          "type": "string"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "Top10Condition": {
      "title": "Top10Condition",
      "description": "Represents a top 10 condition with the specified type and rank, for the specified cell ranges.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "top10Condition:8.",
          "enum": [
            8
          ]
        },
        "type": {
          "$ref": "#/definitions/Top10ConditionType"
        },
        "isPercent": {
          "type": "boolean",
          "default": false
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "expected": {
          "type": "number"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "UniqueCondition": {
      "title": "UniqueCondition",
      "description": " Represents a unique condition and sets whether to check for duplicate data.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "uniqueCondition:9.",
          "enum": [
            9
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "expected": {
          "type": "boolean"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "AverageCondition": {
      "title": "AverageCondition",
      "description": "Represents a new average condition of the specified type for the specified cell ranges.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "averageCondition:10.",
          "enum": [
            10
          ]
        },
        "type": {
          "$ref": "#/definitions/AverageConditionType"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "CellValueCondition": {
      "title": "CellValueCondition",
      "description": "Represents a cell value condition with a specified compare type, expected value, and formula.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "cellValueCondition:11.",
          "enum": [
            11
          ]
        },
        "compareType": {
          "$ref": "#/definitions/GeneralComparisonOperators"
        },
        "treatNullValueAsZero": {
          "type": "boolean",
          "default": false
        },
        "expected": {
          "type": "string"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "AreaCondition": {
      "title": "AreaCondition",
      "description": "Represents an area condition using the expected source or formula.",
      "type": "object",
      "properties": {
        "conType": {
          "description": "areaConditon:12.",
          "enum": [
            12
          ]
        },
        "expected": {
          "type": "string"
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        },
        "ignoreBlank": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "GeneralComparisonOperators": {
      "title": "GeneralComparisonOperators",
      "description": "Specifies the general operator. equalsTo:0,notEqualsTo:1,greaterThan:2,greaterThanOrEqualsTo:3,lessThan:4,lessThanOrEqualsTo:5.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    },
    "LogicalOperators": {
      "title": "LogicalOperators",
      "description": "Specifies the relation operator. or:0,and:1.",
      "enum": [
        0,
        1
      ]
    },
    "ComparisonOperator": {
      "title": "ComparisonOperator",
      "description": "Specifies the comparison operator. equalsTo:0,notEqualsTo:1,greaterThan:2,greaterThanOrEqualsTo:3,lessThan:4,lessThanOrEqualsTo:5,between:6,notBetween:7.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7
      ]
    },
    "TextComparisonOperator": {
      "title": "TextComparisonOperator",
      "description": "Specifies the text comparison operator. contains:0,doesNotContain:1,beginsWith:2,endsWith:3.",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "TextCompareType": {
      "title": "TextCompareType",
      "description": "Specifies the text compare type. 0:equalsTo,1:notEqualsTo,2:beginsWith,3:doesNotBeginWith,4:endsWith,5:doesNotEndWith,6:contains,7:doesNotContain.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7
      ]
    },
    "ColorCompareType": {
      "title": "ColorCompareType",
      "description": "Specifies the color compare type. backgroundColor:0,foregroundColor:1.",
      "enum": [
        0,
        1
      ]
    },
    "CustomValueType": {
      "title": "CustomValueType",
      "description": "Specifies the custom value type. empty:0,nonEmpty:1,error:2,nonError:3,formula:4.",
      "enum": [
        0,
        1,
        2,
        3,
        4
      ]
    },
    "DateCompareType": {
      "title": "DateCompareType",
      "description": "Specifies the date compare type. equalsTo:0,notEqualsTo:1,before:2,beforeEqualsTo:3,after:4,afterEqualsTo:5.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    },
    "DateOccurringType": {
      "title": "DateOccurringType",
      "description": "Specifies the date occurring type. today:0,yesterday:1,tomorrow:2,last7Days:3,thisMonth:4,lastMonth:5,nextMonth:6,thisWeek:7,lastWeek:8,nextWeek:9.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9
      ]
    },
    "Top10ConditionType": {
      "title": "Top10ConditionType",
      "description": "Specifies the top 10 condition type. top:0,bottom:1.",
      "enum": [
        0,
        1
      ]
    },
    "AverageConditionType": {
      "title": "AverageConditionType",
      "description": "Specifies the average condition type. above:0,below:1,equalOrAbove:2,equalOrBelow:3,above1StdDev:4,below1StdDev:5,above2StdDev:6,below2StdDev:7,above3StdDev:8,below3StdDev:9.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9
      ]
    },
    "Rule": {
      "title": "Rule",
      "type": "object",
      "anyOf": [
        {
          "$ref": "#/definitions/CellValueRule"
        },
        {
          "$ref": "#/definitions/SpecificTextRule"
        },
        {
          "$ref": "#/definitions/FormulaRule"
        },
        {
          "$ref": "#/definitions/DateOccurringRule"
        },
        {
          "$ref": "#/definitions/Top10Rule"
        },
        {
          "$ref": "#/definitions/UniqueRule"
        },
        {
          "$ref": "#/definitions/DuplicateRule"
        },
        {
          "$ref": "#/definitions/AverageRule"
        },
        {
          "$ref": "#/definitions/TwoScaleRule"
        },
        {
          "$ref": "#/definitions/ThreeScaleRule"
        },
        {
          "$ref": "#/definitions/DataBarRule"
        },
        {
          "$ref": "#/definitions/IconSetRule"
        }
      ]
    },
    "CellValueRule": {
      "title": "CellValueRule",
      "description": "Represents a cell value conditional rule.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "cellValueRule:1.",
          "enum": [
            1
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "style": {
          "$ref": "#/definitions/Style"
        },
        "stopIfTrue": {
          "type": "boolean",
          "default": false
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "operator": {
          "$ref": "#/definitions/ComparisonOperator"
        },
        "value1": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "value2": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        }
      }
    },
    "SpecificTextRule": {
      "title": "SpecificTextRule",
      "description": "Represents a specific text rule based on the specified cell.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "specificTextRule:2.",
          "enum": [
            2
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "style": {
          "$ref": "#/definitions/Style"
        },
        "stopIfTrue": {
          "type": "boolean",
          "default": false
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "operator": {
          "$ref": "#/definitions/TextComparisonOperator"
        },
        "text": {
          "type": "string"
        }
      }
    },
    "FormulaRule": {
      "title": "FormulaRule",
      "description": "Represents a formula rule with the specified formula and style.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "formulaRule:3.",
          "enum": [
            3
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "style": {
          "$ref": "#/definitions/Style"
        },
        "stopIfTrue": {
          "type": "boolean",
          "default": false
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "formula": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "DateOccurringRule": {
      "title": "DateOccurringRule",
      "description": "Represents a DateOccurringRule with the specified type and style.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "dateOccurringRule:4.",
          "enum": [
            4
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "style": {
          "$ref": "#/definitions/Style"
        },
        "type": {
          "$ref": "#/definitions/DateOccurringType"
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "stopIfTrue": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "Top10Rule": {
      "title": "Top10Rule",
      "description": "Represents a formula rule with the specified formula and style.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "top10Rule:5.",
          "enum": [
            5
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "style": {
          "$ref": "#/definitions/Style"
        },
        "stopIfTrue": {
          "type": "boolean",
          "default": false
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "type": {
          "$ref": "#/definitions/Top10ConditionType"
        },
        "rank": {
          "type": "integer"
        }
      }
    },
    "UniqueRule": {
      "title": "UniqueRule",
      "description": "",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "uniqueRule:6.",
          "enum": [
            6
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "style": {
          "$ref": "#/definitions/Style"
        },
        "stopIfTrue": {
          "type": "boolean",
          "default": false
        },
        "priority": {
          "type": "integer",
          "default": 1
        }
      }
    },
    "DuplicateRule": {
      "title": "DuplicateRule",
      "description": "Represents a duplicate conditional rule.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "duplicateRule:7.",
          "enum": [
            7
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "style": {
          "$ref": "#/definitions/Style"
        },
        "stopIfTrue": {
          "type": "boolean",
          "default": false
        },
        "priority": {
          "type": "integer",
          "default": 1
        }
      }
    },
    "AverageRule": {
      "title": "AverageRule",
      "description": "Represents a average conditional rule.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "averageRule:8.",
          "enum": [
            8
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "style": {
          "$ref": "#/definitions/Style"
        },
        "stopIfTrue": {
          "type": "boolean",
          "default": false
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "type": {
          "$ref": "#/definitions/AverageConditionType"
        }
      }
    },
    "TwoScaleRule": {
      "title": "TwoScaleRule",
      "description": " Represents a two-color conditional scale rule with the specified parameters.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "twoScaleRule:10.",
          "enum": [
            10
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "minType": {
          "$ref": "#/definitions/ScaleValueType"
        },
        "minValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "minColor": {
          "type": "string"
        },
        "maxType": {
          "$ref": "#/definitions/ScaleValueType"
        },
        "maxValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "maxColor": {
          "type": "string"
        }
      }
    },
    "ThreeScaleRule": {
      "title": "ThreeScaleRule",
      "description": "Represents a three-color scale conditional rule with the specified parameters.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "threeScaleRule:11.",
          "enum": [
            11
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "minType": {
          "$ref": "#/definitions/ScaleValueType"
        },
        "minValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "minColor": {
          "type": "string"
        },
        "midType": {
          "$ref": "#/definitions/ScaleValueType"
        },
        "midValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "midColor": {
          "type": "string"
        },
        "maxType": {
          "$ref": "#/definitions/ScaleValueType"
        },
        "maxValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "maxColor": {
          "type": "string"
        }
      }
    },
    "DataBarRule": {
      "title": "DataBarRule",
      "description": " Represents a data bar conditional rule with the specified parameters.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "dataBarRule:12.",
          "enum": [
            12
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "minType": {
          "$ref": "#/definitions/ScaleValueType"
        },
        "minValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "maxType": {
          "$ref": "#/definitions/ScaleValueType"
        },
        "maxValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "gradient": {
          "type": "boolean",
          "default": true
        },
        "color": {
          "type": "string"
        },
        "showBorder": {
          "type": "boolean",
          "default": false
        },
        "borderColor": {
          "type": "string",
          "default": "black"
        },
        "dataBarDirection": {
          "$ref": "#/definitions/BarDirection",
          "default": 0
        },
        "negativeFillColor": {
          "type": "string",
          "default": "red"
        },
        "useNegativeFillColor": {
          "type": "boolean",
          "default": true
        },
        "negativeBorderColor": {
          "type": "string",
          "default": "black"
        },
        "useNegativeBorderColor": {
          "type": "boolean",
          "default": false
        },
        "axisPosition": {
          "$ref": "#/definitions/DataBarAxisPosition",
          "default": 0
        },
        "axisColor": {
          "type": "string",
          "default": "black"
        },
        "showBarOnly": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "IconSetRule": {
      "title": "IconSetRule",
      "description": "Represents an icon set rule with the specified parameters.",
      "type": "object",
      "properties": {
        "ruleType": {
          "description": "iconSetRule:13.",
          "enum": [
            13
          ]
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Range"
          }
        },
        "priority": {
          "type": "integer",
          "default": 1
        },
        "iconSetType": {
          "$ref": "#/definitions/IconSetType"
        },
        "iconCriteria": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IconCriterion"
          }
        },
        "icons": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/IconInfo"
          }
        },
        "showIconOnly": {
          "type": "boolean",
          "default": false
        },
        "reverseIconOrder": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "IconCriterion": {
      "title": "IconCriterion",
      "description": "Represents an icon criteria with the specified parameters.",
      "type": "object",
      "properties": {
        "isGreaterThanOrEqualTo": {
          "type": "boolean"
        },
        "iconValueType": {
          "$ref": "#/definitions/IconValueType"
        },
        "iconValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        }
      }
    },
    "IconInfo": {
      "title": "IconInfo",
      "description": "Represents an specified icon.",
      "type": "object",
      "properties": {
        "iconSetType": {
          "$ref": "#/definitions/IconSetType"
        },
        "iconIndex": {
          "type": "integer"
        }
      }
    },
    "IconValueType": {
      "title": "IconValueType",
      "description": "Indicates whether to return a specified number directly. number:1,percent:4,percentile:5,formula:7.",
      "enum": [
        1,
        4,
        5,
        7
      ]
    },
    "ScaleValueType": {
      "title": "ScaleValueType",
      "description": "Specifies the scale value type. number:0,lowestValue:1,highestValue:2,percent:3,percentile:4,automin:5,formula:6,automax:7.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7
      ]
    },
    "BarDirection": {
      "title": "BarDirection",
      "description": "Specifies the data bar direction. leftToRight:0,rightToLeft:1.",
      "enum": [
        0,
        1
      ]
    },
    "DataBarAxisPosition": {
      "title": "DataBarAxisPosition",
      "description": "Specifies the position of the data bar's axis. automatic:0,cellMidPoint:1,none:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "IconSetType": {
      "title": "IconSetType",
      "description": "Specifies the icon set. threeArrowsColored:0,threeArrowGray:1,threeTriangles:2,threeStars:3,threeFlags:4,threeTrafficLightsUnrimmed:5,threeTrafficLightsRimmed:6,threeSigns:7,threeSymbolsCircled:8,threeSymbolsUncircled:9,fourArrowsColored:10,fourArrowGray:11,fourRedToBlack:12,fourRatings:13,fourTrafficLights:14,fiveArrowsColored:15,fiveArrowsGray:16,fiveRatings:17,fiveQuarters:18,fiveBoxes:19,noIcons:20.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20
      ]
    },
    "RegExp": {
      "title": "RegExp",
      "description": "A javaScript build in object,represent a RegExp",
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "global": {
          "type": "boolean",
          "default": false
        },
        "ignoreCase": {
          "type": "boolean",
          "default": false
        },
        "multiline": {
          "type": "boolean",
          "default": false
        },
        "lastIndex": {
          "type": "integer"
        }
      }
    },
    "LineBorder": {
      "title": "LineBorder",
      "description": "Indicates the color of the border line. Use a known color name or HEX style color value. The default value is black.",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "color": {
          "type": "string",
          "default": "black"
        },
        "style": {
          "$ref": "#/definitions/LineStyle",
          "default": 0
        }
      }
    },
    "LineStyle": {
      "title": "LineStyle",
      "description": "Specifies the line drawing style for the border. empty:0,thin:1,medium:2,dashed:3,dotted:4,thick:5,double:6,hair:7,mediumDashed:8,dashDot:9,mediumDashDot:10,dashDotDot:11,mediumDashDotDot:12,slantedDashDot:13.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13
      ]
    },
    "TextDecorationType": {
      "title": "TextDecorationType",
      "description": " Defines the type of the text decoration. none:0,underline:1,lineThrough:2,overline:4,doubleUnderline:8.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15
      ]
    },
    "ImeMode": {
      "title": "ImeMode",
      "description": "Defines the ime mode to controls the state of the Input Method Editor (IME). disabled:0,auto:1,active:2,inactive:4.",
      "enum": [
        0,
        1,
        2,
        4
      ]
    },
    "ReferenceStyle": {
      "title": "ReferenceStyle",
      "description": "Specifies the formula reference style. a1:0,r1c1:1.",
      "enum": [
        0,
        1
      ]
    },
    "AutoFillType": {
      "title": "AutoFillType",
      "description": "Represents the type of drag fill. copyCells:0,fillSeries:1,fillFormattingOnly:2,fillWithoutFormatting:3,flearValues:4,auto:5.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    },
    "AutoFitType": {
      "title": "AutoFitType",
      "description": "Represents whether the component autofits cells or headers. cell:0,cellWithHeader:1.",
      "enum": [
        0,
        1
      ]
    },
    "ResizeMode": {
      "title": "ResizeMode",
      "description": "Represents the mode which will be used by resizing. normal: 0, split: 1.",
      "enum": [
        0,
        1
      ]
    },
    "ShowScrollTip": {
      "title": "ShowScrollTip",
      "description": "Specifies how the scroll tip is displayed. none:0,horizontal:1,vertical:2,both:3",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "ShowResizeTip": {
      "title": "ShowResizeTip",
      "description": "Defines how the resize tip is displayed. none:0,column:1,row:2,both:3",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "ImageLayout": {
      "title": "ImageLayout",
      "description": "Defines the background image layout. stretch:0,center:1,zoom:2,none:3.",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "Sheet": {
      "title": "Sheet",
      "description": "Represent a sheet",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "defaults": {
          "$ref": "#/definitions/SheetDefaultOption"
        },
        "frozenRowCount": {
          "type": "integer",
          "default": 0
        },
        "frozenColCount": {
          "type": "integer",
          "default": 0
        },
        "frozenTrailingRowCount": {
          "type": "integer",
          "default": 0
        },
        "frozenTrailingColCount": {
          "type": "integer",
          "default": 0
        },
        "rowCount": {
          "type": "integer"
        },
        "columnCount": {
          "type": "integer"
        },
        "activeRow": {
          "type": "integer",
          "default": 0
        },
        "activeCol": {
          "type": "integer",
          "default": 0
        },
        "zoomFactor": {
          "type": "number",
          "minimum": 0.25,
          "maximum": 4.0,
          "default": 1.0
        },
        "rowHeaderColCount": {
          "type": "integer",
          "default": 1
        },
        "colHeaderRowCount": {
          "type": "integer",
          "default": 1
        },
        "visible": {
          "type": "boolean",
          "default": true
        },
        "tag": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        },
        "spans": {
          "$ref": "#/definitions/SpanModel"
        },
        "rowHeaderSpan": {
          "$ref": "#/definitions/SpanModel"
        },
        "colHeaderSpan": {
          "$ref": "#/definitions/SpanModel"
        },
        "data": {
          "$ref": "#/definitions/SheetModel"
        },
        "rowHeaderData": {
          "$ref": "#/definitions/SheetModel"
        },
        "colHeaderData": {
          "$ref": "#/definitions/SheetModel"
        },
        "selections": {
          "$ref": "#/definitions/SelectionModel"
        },
        "theme": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/definitions/SpreadTheme"
            }
          ]
        },
        "rows": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/definitions/RowColInfo"
              }
            ]
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/definitions/RowColInfo"
              }
            ]
          }
        },
        "rowHeaderColInfos": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RowColInfo"
          }
        },
        "colHeaderRowInfos": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RowColInfo"
          }
        },
        "namedStyles": {
          "type": "array",
          "description": "The name property of the Style in namedStyles can not be null,undefined or '',it must be set a value.",
          "items": {
            "$ref": "#/definitions/Style"
          }
        },
        "names": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameInfo"
          }
        },
        "rowFilter": {
          "anyOf": [
            {
              "$ref": "#/definitions/HideRowFilter"
            },
            {
              "$ref": "#/definitions/RowFilterBase"
            }
          ]
        },
        "autoGenerateColumns": {
          "type": "boolean",
          "default": true
        },
        "sparklineGroups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SparklineGroup"
          }
        },
        "comments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Comment"
          }
        },
        "showRowOutline": {
          "type": "boolean",
          "default": true
        },
        "showColumnOutline": {
          "type": "boolean",
          "default": true
        },
        "rowOutlines": {
          "$ref": "#/definitions/Outline"
        },
        "columnOutlines": {
          "$ref": "#/definitions/Outline"
        },
        "conditionalFormats": {
          "type": "object",
          "properties": {
            "rules": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Rule"
              }
            }
          }
        },
        "tables": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SheetTable"
          }
        },
        "floatingObjects": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "#/definitions/FloatingObject"
              },
              {
                "$ref": "#/definitions/Picture"
              }
            ]
          }
        },
        "customFunctions": {
          "type": "object",
          "patternProperties": {
            ".+": {
              "$ref": "#/definitions/Function"
            }
          }
        },
        "printInfo": {
          "$ref": "#/definitions/PrintInfo"
        },
        "slicers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Slicer"
          }
        },
        "allowCellOverflow": {
          "type": "boolean",
          "default": true
        },
        "sheetTabColor": {
          "type": "string"
        },
        "frozenlineColor": {
          "type": "string",
          "default": "black"
        },
        "clipBoardOptions": {
          "$ref": "#/definitions/ClipboardPasteOptions",
          "default": 0
        },
        "gridline": {
          "$ref": "#/definitions/SheetGridlineOption"
        },
        "sheetAreaOffset": {
          "$ref": "#/definitions/SheetAreaOffsetOption"
        },
        "rowHeaderVisible": {
          "type": "boolean",
          "default": true
        },
        "colHeaderVisible": {
          "type": "boolean",
          "default": true
        },
        "rowHeaderAutoText": {
          "$ref": "#/definitions/HeaderAutoText",
          "default": 1
        },
        "colHeaderAutoText": {
          "$ref": "#/definitions/HeaderAutoText",
          "default": 2
        },
        "rowHeaderAutoTextIndex": {
          "type": "integer",
          "default": -1
        },
        "colHeaderAutoTextIndex": {
          "type": "integer",
          "default": -1
        },
        "isProtected": {
          "type": "boolean",
          "default": false
        },
        "protectionOptions": {
          "$ref": "#/definitions/ProtectionOption"
        },
        "selectionBackColor": {
          "type": "string",
          "default": "rgba(180,180,200,0.2)"
        },
        "selectionBorderColor": {
          "type": "string",
          "default": "black"
        },
        "borderColor": {
          "type": "string",
          "default": "black"
        },
        "borderWidth": {
          "type": "integer",
          "minimum": 0,
          "default": 0
        },
        "validations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DefaultDataValidator"
          }
        },
        "charts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Chart"
          }
        },
        "shapes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Shape"
          }
        },
        "cellStates": {
          "$ref": "#/definitions/CellStates"
        },
        "outlineColumnOptions": {
          "$ref": "#/definitions/OutlineColumnOptions"
        },
        "autoMergeRangeInfos": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RangeInfo"
          }
        }
      }
    },
    "SelectionModel": {
      "title": "SelectionModel",
      "description": "Represent a data model for cell selection.",
      "type": "object",
      "properties": {
        "selectionPolicy": {
          "$ref": "#/definitions/SelectionPolicy",
          "default": 2
        },
        "selectionUnit": {
          "$ref": "#/definitions/SelectionUnit",
          "default": 0
        },
        "activeSelectedRangeIndex": {
          "type": "integer"
        },
        "length": {
          "type": "integer",
          "minimum": 0
        }
      },
      "patternProperties": {
        "[0-9]+": {
          "$ref": "#/definitions/Range"
        }
      }
    },
    "SelectionPolicy": {
      "title": "SelectionPolicy",
      "description": "Specifies how users can select items in the control. single:0,range:1,multiRange:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "SelectionUnit": {
      "title": "SelectionUnit",
      "description": "Specifies the smallest unit users or the application can select. cell:0,row:1,column:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "SheetModel": {
      "title": "SheetModel",
      "description": "Represent a data model for worksheet.",
      "type": "object",
      "properties": {
        "dataTable": {
          "type": "object",
          "patternProperties": {
            "[0-9]+": {
              "type": "object",
              "patternProperties": {
                "[0-9]+": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "anyOf": [
                        {
                          "type": "array"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "object"
                        },
                        {
                          "$ref": "#/definitions/RichText"
                        }
                      ]
                    },
                    "style": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/definitions/Style"
                        }
                      ]
                    },
                    "tag": {
                      "type": [
                        "array",
                        "boolean",
                        "number",
                        "null",
                        "object",
                        "string"
                      ]
                    },
                    "formula": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "bindingPath": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "rowDataArray": {
          "type": "array",
          "items": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "style": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/definitions/Style"
                  }
                ]
              },
              "tag": {
                "type": [
                  "array",
                  "boolean",
                  "number",
                  "null",
                  "object",
                  "string"
                ]
              }
            }
          }
        },
        "columnDataArray": {
          "type": "array",
          "items": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "style": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/definitions/Style"
                  }
                ]
              },
              "tag": {
                "type": [
                  "array",
                  "boolean",
                  "number",
                  "null",
                  "object",
                  "string"
                ]
              }
            }
          }
        },
        "defaultDataNode": {
          "type": "object",
          "properties": {
            "style": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "$ref": "#/definitions/Style"
                }
              ]
            }
          }
        }
      }
    },
    "SheetGridlineOption": {
      "title": "SheetGridlineOption",
      "description": "Represent a sheet gridline option.",
      "type": "object",
      "properties": {
        "color": {
          "type": "string"
        },
        "showVerticalGridline": {
          "type": "boolean"
        },
        "showHorizontalGridline": {
          "type": "boolean"
        }
      }
    },
    "SheetAreaOffsetOption": {
      "title": "SheetAreaOffsetOption",
      "description": "Represent a sheet area offset option.",
      "type": "object",
      "properties": {
        "left": {
          "type": "number",
          "minimum": 0
        },
        "top": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "SpreadTheme": {
      "title": "SpreadTheme",
      "description": "Represents an expression with a named variable as the expression.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "themeColor": {
          "$ref": "#/definitions/ThemeColor"
        },
        "headingFont": {
          "type": "string"
        },
        "bodyFont": {
          "type": "string"
        }
      }
    },
    "ThemeColor": {
      "title": "ThemeColor",
      "description": " Creates a ThemeColor instance.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "text1": {
          "$ref": "#/definitions/Color"
        },
        "text2": {
          "$ref": "#/definitions/Color"
        },
        "background1": {
          "$ref": "#/definitions/Color"
        },
        "background2": {
          "$ref": "#/definitions/Color"
        },
        "accent1": {
          "$ref": "#/definitions/Color"
        },
        "accent2": {
          "$ref": "#/definitions/Color"
        },
        "accent3": {
          "$ref": "#/definitions/Color"
        },
        "accent4": {
          "$ref": "#/definitions/Color"
        },
        "accent5": {
          "$ref": "#/definitions/Color"
        },
        "accent6": {
          "$ref": "#/definitions/Color"
        },
        "hyperlink": {
          "$ref": "#/definitions/Color"
        },
        "followedHyperlink": {
          "$ref": "#/definitions/Color"
        }
      }
    },
    "Color": {
      "title": "Color",
      "description": "Represents an argb(alpha,red, green, blue) color.",
      "type": "object",
      "properties": {
        "a": {
          "type": "number",
          "minimum": 0,
          "maximum": 255
        },
        "r": {
          "type": "number",
          "minimum": 0,
          "maximum": 255
        },
        "g": {
          "type": "number",
          "minimum": 0,
          "maximum": 255
        },
        "b": {
          "type": "number",
          "minimum": 0,
          "maximum": 255
        }
      }
    },
    "Function": {
      "title": "Function",
      "description": "Represents an abstract base class for defining functions.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "minArgs": {
          "type": "number"
        },
        "maxArgs": {
          "type": "number"
        },
        "typeName": {
          "type": "string",
          "default": ""
        }
      }
    },
    "Range": {
      "title": "Range",
      "description": "Represents a range, which is described by the row index, column index, row count, and column count.",
      "type": "object",
      "properties": {
        "row": {
          "type": "integer"
        },
        "col": {
          "type": "integer"
        },
        "rowCount": {
          "type": "integer",
          "minimum": 0
        },
        "colCount": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "RowFilterBase": {
      "title": "RowFilterBase",
      "description": "Represents a row filter base that supports row filters for filtering rows in a sheet.",
      "type": "object",
      "properties": {
        "typeName": {
          "type": "string",
          "default": ""
        },
        "range": {
          "$ref": "#/definitions/Range"
        },
        "filterItemMap": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "index": {
                "type": "integer",
                "minimum": 0
              },
              "conditions": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/Condition"
                }
              }
            }
          }
        },
        "filteredColumns": {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        "sortInfo": {
          "$ref": "#/definitions/SortInfo"
        },
        "showFilterButton": {
          "type": "boolean"
        },
        "filterButtonVisibleInfo": {
          "type": "object",
          "patternProperties": {
            "[0-9]+": {
              "description": "The property name is the column's index that realtive to the sheet.",
              "type": "boolean"
            }
          }
        }
      }
    },
    "HideRowFilter": {
      "title": "HideRowFilter",
      "description": "Represents a default row filter.",
      "type": "object",
      "properties": {
        "range": {
          "$ref": "#/definitions/Range"
        },
        "dialogVisibleInfo": {
          "type": "object",
          "properties": {
            "sortByValue": {
              "type": "boolean",
              "default": true
            },
            "sortByColor": {
              "type": "boolean",
              "default": true
            },
            "filterByColor": {
              "type": "boolean",
              "default": true
            },
            "filterByValue": {
              "type": "boolean",
              "default": true
            },
            "listFilterArea": {
              "type": "boolean",
              "default": true
            }
          }
        },
        "filterItemMap": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "index": {
                "type": "integer",
                "minimum": 0
              },
              "conditions": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/Condition"
                }
              }
            }
          }
        },
        "filteredColumns": {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        "sortInfo": {
          "$ref": "#/definitions/SortInfo"
        },
        "showFilterButton": {
          "type": "boolean"
        },
        "filterButtonVisibleInfo": {
          "type": "object",
          "patternProperties": {
            "[0-9]+": {
              "description": "The property name is the column's index that realtive to the sheet.",
              "type": "boolean"
            }
          }
        }
      }
    },
    "TableFilter": {
      "title": "TableFilter",
      "description": "Represents a table  filter.",
      "type": "object",
      "properties": {
        "range": {
          "$ref": "#/definitions/Range"
        },
        "filterItemMap": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "index": {
                "type": "integer",
                "minimum": 0
              },
              "conditions": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/Condition"
                }
              }
            }
          }
        },
        "filteredColumns": {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        "sortInfo": {
          "$ref": "#/definitions/SortInfo"
        },
        "showFilterButton": {
          "type": "boolean"
        },
        "filterButtonVisibleInfo": {
          "type": "object",
          "patternProperties": {
            "[0-9]+": {
              "description": "The property name is the column's index that realtive to the table.",
              "type": "boolean"
            }
          }
        }
      }
    },
    "SortInfo": {
      "title": "SortInfo",
      "description": "",
      "type": "object",
      "properties": {
        "index": {
          "type": "integer"
        },
        "ascending": {
          "type": "boolean"
        }
      }
    },
    "SheetDefaultOption": {
      "title": "SheetDefaultOption",
      "description": "",
      "type": "object",
      "properties": {
        "rowHeight": {
          "type": "number",
          "minimum": 0,
          "default": 20
        },
        "colHeaderRowHeight": {
          "type": "number",
          "minimum": 0,
          "default": 20
        },
        "colWidth": {
          "type": "number",
          "minimum": 0,
          "default": 62
        },
        "rowHeaderColWidth": {
          "type": "number",
          "minimum": 0,
          "default": 40
        }
      }
    },
    "RowColInfo": {
      "title": "RowColInfo",
      "description": "Represent a row or column.",
      "type": "object",
      "properties": {
        "size": {
          "type": "number",
          "minimum": 0
        },
        "starSize": {
          "type": "string"
        },
        "visible": {
          "type": "boolean"
        },
        "resizable": {
          "type": "boolean"
        },
        "pageBreak": {
          "type": "boolean"
        }
      }
    },
    "SparklineGroup": {
      "title": "SparklineGroup",
      "description": "Represents a sparkline group.",
      "type": "object",
      "properties": {
        "setting": {
          "$ref": "#/definitions/SparklineSetting",
          "default": null
        },
        "displayDateAxis": {
          "type": "boolean",
          "default": false
        },
        "sparklineType": {
          "$ref": "#/definitions/SparklineType"
        },
        "axisReference": {
          "title": "axisReference",
          "description": "Represents the sparkline group axisReference, it has a sheet name when the sparkline is cross sheet",
          "type": "object",
          "properties": {
            "row": {
              "type": "integer"
            },
            "col": {
              "type": "integer"
            },
            "rowCount": {
              "type": "integer",
              "minimum": 0
            },
            "colCount": {
              "type": "integer",
              "minimum": 0
            },
            "sheetName": {
              "type": "string",
              "default": null
            }
          },
          "default": null
        },
        "axisOrientation": {
          "$ref": "#/definitions/DataOrientation",
          "default": 1
        },
        "sparklines": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Sparkline"
          }
        }
      }
    },
    "SparklineSetting": {
      "title": "SparklineSetting",
      "description": "Represents the sparkline settings.",
      "type": "object",
      "properties": {
        "axisColor": {
          "type": "string",
          "default": "Black"
        },
        "firstMarkerColor": {
          "type": "string",
          "default": "rgba(149,179,215,255)"
        },
        "highMarkerColor": {
          "type": "string",
          "default": "Blue"
        },
        "lastMarkerColor": {
          "type": "string",
          "default": "rgba(149,179,215,255)"
        },
        "lowMarkerColor": {
          "type": "string",
          "default": "Blue"
        },
        "markersColor": {
          "type": "string",
          "default": "rgba(36,64,98,255)"
        },
        "negativeColor": {
          "type": "string",
          "default": "Brown"
        },
        "seriesColor": {
          "type": "string",
          "default": "rgba(36,64,98,255)"
        },
        "displayEmptyCellsAs": {
          "$ref": "#/definitions/EmptyValueStyle",
          "default": 0
        },
        "rightToLeft": {
          "type": "boolean",
          "default": false
        },
        "displayHidden": {
          "type": "boolean",
          "default": false
        },
        "displayXAxis": {
          "type": "boolean",
          "default": false
        },
        "showFirst": {
          "type": "boolean",
          "default": false
        },
        "showHigh": {
          "type": "boolean",
          "default": false
        },
        "showLast": {
          "type": "boolean",
          "default": false
        },
        "showLow": {
          "type": "boolean",
          "default": false
        },
        "showNegative": {
          "type": "boolean",
          "default": false
        },
        "showMarkers": {
          "type": "boolean",
          "default": false
        },
        "manualMax": {
          "type": "number",
          "default": 0.0
        },
        "manualMin": {
          "type": "number",
          "default": 0.0
        },
        "maxAxisType": {
          "$ref": "#/definitions/SparklineAxisMinMax",
          "default": 0
        },
        "minAxisType": {
          "$ref": "#/definitions/SparklineAxisMinMax",
          "default": 0
        },
        "lineWeight": {
          "type": "number",
          "default": 1
        }
      }
    },
    "Sparkline": {
      "title": "Sparkline",
      "description": "Represents a Sparkline.",
      "type": "object",
      "properties": {
        "row": {
          "type": "integer",
          "minimum": 0
        },
        "col": {
          "type": "integer",
          "minimum": 0
        },
        "orientation": {
          "$ref": "#/definitions/DataOrientation"
        },
        "data": {
          "title": "data",
          "description": "Represents the sparkline data, it has a sheet name when the sparkline is cross sheet",
          "type": "object",
          "properties": {
            "row": {
              "type": "integer"
            },
            "col": {
              "type": "integer"
            },
            "rowCount": {
              "type": "integer",
              "minimum": 0
            },
            "colCount": {
              "type": "integer",
              "minimum": 0
            },
            "sheetName": {
              "type": "string",
              "default": null
            }
          },
          "default": null
        }
      }
    },
    "SparklineType": {
      "title": "SparklineType",
      "description": "Represents the sparkline type. line:0,column:1,winloss:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "SparklineAxisMinMax": {
      "title": "SparklineAxisMinMax",
      "description": "An enumeration that specifies information about how the vertical axis minimum or maximum is computed for this sparkline group. individual:0,group:1,custom:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "EmptyValueStyle": {
      "title": "EmptyValueStyle",
      "description": "Specifies how to show an empty value from a data series in the chart. gaps:0,zero:1,connect:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "DataOrientation": {
      "title": "DataOrientation",
      "description": "Represents the orientation of the range. vertical:0,horizontal:1.",
      "enum": [
        0,
        1
      ]
    },
    "Comment": {
      "title": "Comment",
      "description": "Represents a comment.",
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "default": ""
        },
        "location": {
          "$ref": "#/definitions/Point"
        },
        "width": {
          "type": "number",
          "minimum": 0,
          "exclusiveMinimum": true,
          "default": 160
        },
        "height": {
          "type": "number",
          "minimum": 0,
          "exclusiveMinimum": true,
          "default": 100
        },
        "fontFamily": {
          "type": "string",
          "default": "Arial"
        },
        "fontStyle": {
          "type": "string",
          "default": "normal"
        },
        "fontSize": {
          "type": "string",
          "default": "9pt"
        },
        "fontWeight": {
          "type": "string",
          "default": "normal"
        },
        "textDecoration": {
          "$ref": "#/definitions/TextDecorationType",
          "default": 0
        },
        "foreColor": {
          "type": "string",
          "default": "black"
        },
        "backColor": {
          "type": "string",
          "default": "#FFFFE1"
        },
        "locked": {
          "type": "boolean",
          "default": true
        },
        "lockText": {
          "type": "boolean",
          "default": true
        },
        "horizontalAlign": {
          "$ref": "#/definitions/HorizontalAlign",
          "default": 0
        },
        "autoSize": {
          "type": "boolean",
          "default": false
        },
        "dynamicMove": {
          "type": "boolean",
          "default": true
        },
        "dynamicSize": {
          "type": "boolean",
          "default": true
        },
        "opacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1,
          "default": 1
        },
        "borderWidth": {
          "type": "number",
          "default": 1
        },
        "borderStyle": {
          "type": "string",
          "default": "solid"
        },
        "borderColor": {
          "type": "string",
          "default": "black"
        },
        "padding": {
          "$ref": "#/definitions/Padding"
        },
        "showShadow": {
          "type": "boolean",
          "default": false
        },
        "displayMode": {
          "$ref": "#/definitions/DisplayMode",
          "default": 2
        },
        "commentState": {
          "$ref": "#/definitions/CommentState",
          "default": 3
        },
        "zIndex": {
          "type": "integer",
          "default": -1
        },
        "ignoreDefaultLocation": {
          "type": "boolean",
          "default": false
        },
        "rowIndex": {
          "type": "integer",
          "default": -1
        },
        "colIndex": {
          "type": "integer",
          "default": -1
        }
      }
    },
    "Padding": {
      "title": "Padding",
      "description": "Represent a padding.",
      "type": "object",
      "properties": {
        "left": {
          "type": "number",
          "default": 0
        },
        "top": {
          "type": "number",
          "default": 0
        },
        "right": {
          "type": "number",
          "default": 0
        },
        "bottom": {
          "type": "number",
          "default": 0
        }
      }
    },
    "Point": {
      "title": "Point",
      "description": "Represents an x and y coordinate pair in two-dimensional space.",
      "type": "object",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        }
      }
    },
    "CommentState": {
      "title": "CommentState",
      "description": "Defines the state of Comment. active:1,edit:2,normal:3",
      "enum": [
        1,
        2,
        3
      ]
    },
    "DisplayMode": {
      "title": "DisplayMode",
      "description": "Defines when the comment is displayed. alwaysShown:1,hoverShown:2.",
      "enum": [
        1,
        2
      ]
    },
    "SheetTable": {
      "title": "SheetTable",
      "description": "Represents a table that can be added in a sheet.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "row": {
          "type": "integer",
          "default": -1
        },
        "col": {
          "type": "integer",
          "default": -1
        },
        "rowCount": {
          "type": "integer",
          "default": -1
        },
        "colCount": {
          "type": "integer",
          "default": -1
        },
        "showHeader": {
          "type": "boolean",
          "default": true
        },
        "showFooter": {
          "type": "boolean",
          "default": false
        },
        "highlightFirstColumn": {
          "type": "boolean",
          "default": false
        },
        "highlightLastColumn": {
          "type": "boolean",
          "default": false
        },
        "bandRows": {
          "type": "boolean",
          "default": true
        },
        "bandColumns": {
          "type": "boolean",
          "default": false
        },
        "style": {
          "$ref": "#/definitions/TableTheme"
        },
        "autoGenerateColumns": {
          "type": "boolean",
          "default": true
        },
        "bindingPath": {
          "type": "string"
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TableColumnInfo"
          }
        },
        "rowFilter": {
          "$ref": "#/definitions/TableFilter"
        },
        "useFooterDropDownList": {
          "type": "boolean",
          "default": false
        },
        "showResizeHandle": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "TableColumnInfo": {
      "title": "TableColumnInfo",
      "description": "Represents the table column.",
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "dataField": {
          "type": [
            "string",
            "null"
          ]
        },
        "footerFormula": {
          "type": "string"
        },
        "dataAreaFormula": {
          "type": "string"
        },
        "cellType": {
          "$ref": "#/definitions/CellType"
        },
        "formatter": {
          "type": "string"
        },
        "footerValue": {
          "type": [
            "array",
            "boolean",
            "number",
            "null",
            "object",
            "string"
          ]
        }
      }
    },
    "TableTheme": {
      "title": "TableTheme",
      "anyOf": [
        {
          "$ref": "#/definitions/BuildInTableTheme"
        },
        {
          "$ref": "#/definitions/CustomTableTheme"
        }
      ]
    },
    "BuildInTableTheme": {
      "title": "BuildInTableTheme",
      "description": "Represents a built-in table style setting.",
      "type": "object",
      "properties": {
        "buildInName": {
          "type": "string"
        }
      }
    },
    "CustomTableTheme": {
      "title": "CustomTableTheme",
      "description": "Represents a custom table style setting.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "wholeTableStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "headerRowStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "footerRowStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "firstRowStripStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "secondRowStripStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "firstRowStripSize": {
          "type": "number",
          "default": 1
        },
        "secondRowStripSize": {
          "type": "number",
          "default": 1
        },
        "firstColumnStripStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "secondColumnStripStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "firstColumnStripSize": {
          "type": "number",
          "default": 1
        },
        "secondColumnStripSize": {
          "type": "number",
          "default": 1
        },
        "highlightFirstColumnStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "highlightLastColumnStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "firstHeaderCellStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "lastHeaderCellStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "firstFooterCellStyle": {
          "$ref": "#/definitions/TableStyle"
        },
        "lastFooterCellStyle": {
          "$ref": "#/definitions/TableStyle"
        }
      }
    },
    "TableStyle": {
      "title": "TableStyle",
      "description": "Represents table style information.",
      "type": "object",
      "properties": {
        "backColor": {
          "type": "string"
        },
        "foreColor": {
          "type": "string"
        },
        "font": {
          "type": "string"
        },
        "borderLeft": {
          "$ref": "#/definitions/LineBorder"
        },
        "borderTop": {
          "$ref": "#/definitions/LineBorder"
        },
        "borderRight": {
          "$ref": "#/definitions/LineBorder"
        },
        "borderBottom": {
          "$ref": "#/definitions/LineBorder"
        },
        "borderHorizontal": {
          "$ref": "#/definitions/LineBorder"
        },
        "borderVertical": {
          "$ref": "#/definitions/LineBorder"
        },
        "textDecoration": {
          "$ref": "#/definitions/TextDecorationType",
          "default": 0
        }
      }
    },
    "FloatingObject": {
      "title": "FloatingObject",
      "description": "Represents a custom floating object.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "x": {
          "type": "number",
          "default": 0
        },
        "y": {
          "type": "number",
          "default": 0
        },
        "width": {
          "type": "number",
          "default": 0
        },
        "height": {
          "type": "number",
          "default": 0
        },
        "canPrint": {
          "type": "boolean",
          "default": true
        },
        "isSelected": {
          "type": "boolean",
          "default": false
        },
        "isLocked": {
          "type": "boolean",
          "default": true
        },
        "isVisible": {
          "type": "boolean",
          "default": true
        },
        "dynamicMove": {
          "type": "boolean",
          "default": true
        },
        "dynamicSize": {
          "type": "boolean",
          "default": true
        },
        "fixedPosition": {
          "type": "boolean"
        },
        "allowResize": {
          "type": "boolean",
          "default": true
        },
        "allowMove": {
          "type": "boolean",
          "default": true
        },
        "typeName": {
          "type": "string"
        },
        "content": {
          "type": "string"
        },
        "zIndex": {
          "type": "integer"
        }
      }
    },
    "Picture": {
      "title": "Picture",
      "description": "Represents a picture.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "x": {
          "type": "number",
          "default": 0
        },
        "y": {
          "type": "number",
          "default": 0
        },
        "width": {
          "type": "number",
          "default": 0
        },
        "height": {
          "type": "number",
          "default": 0
        },
        "canPrint": {
          "type": "boolean",
          "default": true
        },
        "isSelected": {
          "type": "boolean",
          "default": false
        },
        "isLocked": {
          "type": "boolean",
          "default": true
        },
        "isVisible": {
          "type": "boolean",
          "default": true
        },
        "dynamicMove": {
          "type": "boolean",
          "default": true
        },
        "dynamicSize": {
          "type": "boolean",
          "default": true
        },
        "fixedPosition": {
          "type": "boolean"
        },
        "allowResize": {
          "type": "boolean",
          "default": true
        },
        "allowMove": {
          "type": "boolean",
          "default": true
        },
        "typeName": {
          "type": "string"
        },
        "src": {
          "type": "string"
        },
        "backColor": {
          "type": "string"
        },
        "borderRadius": {
          "type": "number",
          "default": -1
        },
        "borderWidth": {
          "type": "number",
          "default": 1
        },
        "borderStyle": {
          "type": "string",
          "default": "none"
        },
        "borderColor": {
          "type": "string"
        },
        "pictureStretch": {
          "$ref": "#/definitions/ImageLayout",
          "default": 0
        },
        "zIndex": {
          "type": "integer"
        }
      }
    },
    "SpanModel": {
      "title": "SpanModel",
      "description": "Represent a data model for cell spans.",
      "type": "array",
      "items": {
        "$ref": "#/definitions/Range"
      }
    },
    "HeaderAutoText": {
      "title": "HeaderAutoText",
      "description": "Specifies which default labels are displayed in headers. blank:0,numbers:1,letters:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "ClipboardPasteOptions": {
      "title": "ClipboardPasteOptions",
      "description": "Specifies what data is pasted from the Clipboard. all:0,values:1,formatting:2,formulas:3,valuesAndFormatting:4,formulasAndFormatting:5",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    },
    "ProtectionOption": {
      "title": "ProtectionOption",
      "description": "Specifies the elements that you want users to be able to change.",
      "type": "object",
      "properties": {
        "allowSelectLockedCells": {
          "type": "boolean"
        },
        "allowSelectUnlockedCells": {
          "type": "boolean"
        },
        "allowSort": {
          "type": "boolean"
        },
        "allowFilter": {
          "type": "boolean"
        },
        "allowEditObjects": {
          "type": "boolean"
        },
        "allowResizeRows": {
          "type": "boolean"
        },
        "allowResizeColumns": {
          "type": "boolean"
        }
      }
    },
    "Outline": {
      "title": "Outline",
      "description": "Represents an outline for the worksheet.",
      "type": "object",
      "properties": {
        "head": {
          "$ref": "#/definitions/OutlineItemInfo"
        },
        "tail": {
          "$ref": "#/definitions/OutlineItemInfo"
        },
        "direction": {
          "$ref": "#/definitions/OutlineDirection",
          "default": 1
        },
        "itemsData": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "index": {
                "type": "integer"
              },
              "count": {
                "type": "integer"
              },
              "info": {
                "$ref": "#/definitions/OutlineItemInfo"
              }
            }
          }
        }
      }
    },
    "OutlineItemInfo": {
      "title": "OutlineItemInfo",
      "description": "Represents an outline item information.",
      "type": "object",
      "properties": {
        "level": {
          "type": "integer",
          "default": 0
        },
        "collapsed": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "OutlineDirection": {
      "title": "OutlineDirection",
      "description": "Specifies the status of an outline summary row or column position. backward:0,forward:1.",
      "enum": [
        0,
        1
      ]
    },
    "OutlineColumnOptions": {
      "title": "OutlineColumnOptions",
      "description": "Represents the outline column options",
      "type": "object",
      "properties": {
        "columnIndex": {
          "type": "number"
        },
        "showImage": {
          "type": "boolean",
          "default": false
        },
        "images": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "showCheckBox": {
          "type": "boolean",
          "default": false
        },
        "showIndicator": {
          "type": "boolean",
          "default": true
        },
        "expandIndicator": {
          "type": "string",
          "default": ""
        },
        "collapseIndicator": {
          "type": "boolean",
          "default": ""
        },
        "maxLevel": {
          "type": "number",
          "default": 10
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OutlineColumnItemData"
          }
        }
      }
    },
    "OutlineColumnItemData": {
      "title": "OutlineColumnItemData",
      "description": "Represents the data of row in the outline column.",
      "type": "object",
      "properties": {
        "checked": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "SparklineEx": {
      "title": "SparklineEx",
      "description": "Represents the base class for the other SparklineEx classes.",
      "type": "object",
      "properties": {
        "typeName": {
          "type": "string",
          "default": ""
        }
      }
    },
    "ResizeZeroIndicator": {
      "title": "ResizeZeroIndicator",
      "description": "Specifies the drawing policy of the row or column when it is resized to zero. default:0,enhanced:1.",
      "enum": [
        0,
        1
      ]
    },
    "PrintInfo": {
      "title": "PrintInfo",
      "description": "Represents the information to use when printing a Sheet.",
      "type": "object",
      "properties": {
        "bestFitRows": {
          "type": "boolean",
          "default": false
        },
        "bestFitColumns": {
          "type": "boolean",
          "default": false
        },
        "columnStart": {
          "type": "number",
          "default": -1
        },
        "columnEnd": {
          "type": "number",
          "default": -1
        },
        "rowStart": {
          "type": "number",
          "default": -1
        },
        "rowEnd": {
          "type": "number",
          "default": -1
        },
        "repeatColumnStart": {
          "type": "number",
          "default": -1
        },
        "repeatColumnEnd": {
          "type": "number",
          "default": -1
        },
        "repeatRowStart": {
          "type": "number",
          "default": -1
        },
        "repeatRowEnd": {
          "type": "number",
          "default": -1
        },
        "showBorder": {
          "type": "boolean",
          "default": true
        },
        "showGridLine": {
          "type": "boolean",
          "default": false
        },
        "showColumnHeader": {
          "$ref": "#/definitions/PrintVisibilityType",
          "default": 0
        },
        "showRowHeader": {
          "$ref": "#/definitions/PrintVisibilityType",
          "default": 0
        },
        "useMax": {
          "type": "boolean",
          "default": true
        },
        "centering": {
          "$ref": "#/definitions/PrintCentering",
          "default": 0
        },
        "firstPageNumber": {
          "type": "number",
          "default": 1
        },
        "headerLeft": {
          "type": "string"
        },
        "headerCenter": {
          "type": "string"
        },
        "headerRight": {
          "type": "string"
        },
        "footerLeft": {
          "type": "string"
        },
        "footerCenter": {
          "type": "string"
        },
        "footerRight": {
          "type": "string"
        },
        "headerLeftImage": {
          "type": "string"
        },
        "headerCenterImage": {
          "type": "string"
        },
        "headerRightImage": {
          "type": "string"
        },
        "footerLeftImage": {
          "type": "string"
        },
        "footerCenterImage": {
          "type": "string"
        },
        "footerRightImage": {
          "type": "string"
        },
        "margin": {
          "$ref": "#/definitions/PrintMargins"
        },
        "orientation": {
          "$ref": "#/definitions/PrintPageOrientation",
          "default": 1
        },
        "pageRange": {
          "type": "string"
        },
        "pageOrder": {
          "$ref": "#/definitions/PrintPageOrder",
          "default": 0
        },
        "blackAndWhite": {
          "type": "boolean",
          "default": false
        },
        "zoomFactor": {
          "type": "number",
          "default": 1
        },
        "fitPagesTall": {
          "type": "number",
          "default": -1
        },
        "fitPagesWide": {
          "type": "number",
          "default": -1
        },
        "paperSize": {
          "$ref": "#/definitions/PaperSize"
        },
        "watermark": {
          "description": "Specifies the watermark for printInfo",
          "type": "array",
          "items": {
            "$ref": "#/definitions/PrintWaterMark"
          }
        }
      }
    },
    "PrintWaterMark": {
      "description": "Specifies the watermark item for printInfo",
      "type": "object",
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        },
        "width": {
          "type": "number"
        },
        "height": {
          "type": "number"
        },
        "imageSrc": {
          "type": "string"
        },
        "page": {
          "type": "string"
        }
      }
    },
    "PrintVisibilityType": {
      "title": "PrintVisibilityType",
      "description": "Specifies whether the area is visible. inherit:0,hide:1,show:2,showOnce:3",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "PrintCentering": {
      "title": "PrintCentering",
      "description": "Specifics the type of centering for the printed page. none:0,horizontal:1,vertical:2,both:3",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "PrintPageOrientation": {
      "title": "PrintPageOrientation",
      "description": "Specifies the page orientation used for printing. portrait:1,landscape:2",
      "enum": [
        1,
        2
      ]
    },
    "PrintPageOrder": {
      "title": "PrintPageOrder",
      "description": "Specifies the order in which pages are printed. auto:0,downThenOver:1,overThenDown:2",
      "enum": [
        0,
        1,
        2
      ]
    },
    "PaperKind": {
      "title": "PaperKind",
      "description": "pecifies the paper kind for the printed page. 0 : custom, 1 : letter, 2 : letterSmall, 3 : tabloid, 4 : ledger, 5 : legal, 6 : statement, 7 : executive, 8 : a3, 9 : a4, 10 : a4Small, 11 : a5, 12 : b4, 13 : b5, 14 : folio, 15 : quarto, 16 : standard10x14, 17 : standard11x17, 18 : note, 19 : number9Envelope, 20 : number10Envelope, 21 : number11Envelope, 22 : number12Envelope, 23 : number14Envelope, 24 : cSheet, 25 : dSheet, 26 : eSheet, 27 : dLEnvelope, 28 : c5Envelope, 29 : c3Envelope, 30 : c4Envelope, 31 : c6Envelope, 32 : c65Envelope, 33 : b4Envelope, 34 : b5Envelope, 35 : b6Envelope, 36 : italyEnvelope, 37 : monarchEnvelope, 38 : personalEnvelope, 39 : uSStandardFanfold, 40 : germanStandardFanfold, 41 : germanLegalFanfold, 42 : isoB4, 43 : japanesePostcard, 44 : standard9x11, 45 : standard10x11, 46 : standard15x11, 47 : inviteEnvelope, 50 : letterExtra, 51 : legalExtra, 52 : tabloidExtra, 53 : a4Extra, 54 : letterTransverse, 55 : a4Transverse, 56 : letterExtraTransverse, 57 : aPlus, 58 : bPlus, 59 : letterPlus, 60 : a4Plus, 61 : a5Transverse, 62 : b5Transverse, 63 : a3Extra, 64 : a5Extra, 65 : b5Extra, 66 : a2, 67 : a3Transverse, 68 : a3ExtraTransverse, 69 : japaneseDoublePostcard, 70 : a6, 71 : japaneseEnvelopeKakuNumber2, 72 : japaneseEnvelopeKakuNumber3, 73 : japaneseEnvelopeChouNumber3, 74 : japaneseEnvelopeChouNumber4, 75 : letterRotated, 76 : a3Rotated, 77 : a4Rotated, 78 : a5Rotated, 79 : b4JisRotated, 80 : b5JisRotated, 81 : japanesePostcardRotated, 82 : japaneseDoublePostcardRotated, 83 : a6Rotated, 84 : japaneseEnvelopeKakuNumber2Rotated, 85 : japaneseEnvelopeKakuNumber3Rotated, 86 : japaneseEnvelopeChouNumber3Rotated, 87 : japaneseEnvelopeChouNumber4Rotated, 88 : b6Jis, 89 : b6JisRotated, 90 : standard12x11, 91 : japaneseEnvelopeYouNumber4, 92 : japaneseEnvelopeYouNumber4Rotated, 93 : prc16K, 94 : prc32K, 95 : prc32KBig, 96 : prcEnvelopeNumber1, 97 : prcEnvelopeNumber2, 98 : prcEnvelopeNumber3, 99 : prcEnvelopeNumber4, 100 : prcEnvelopeNumber5, 101 : prcEnvelopeNumber6,102 : prcEnvelopeNumber7,103 : prcEnvelopeNumber8,104 : prcEnvelopeNumber9,105 : prcEnvelopeNumber10,106: prc16KRotated,107: prc32KRotated,108: prc32KBigRotated,109: prcEnvelopeNumber1Rotated,110: prcEnvelopeNumber2Rotated,111: prcEnvelopeNumber3Rotated,112: prcEnvelopeNumber4Rotated,113: prcEnvelopeNumber5Rotated,114: prcEnvelopeNumber6Rotated,115: prcEnvelopeNumber7Rotated,116: prcEnvelopeNumber8Rotated,117: prcEnvelopeNumber9Rotated,118: prcEnvelopeNumber10Rotated",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
        50,
        51,
        52,
        53,
        54,
        55,
        56,
        57,
        58,
        59,
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        69,
        70,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        82,
        83,
        84,
        85,
        86,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        96,
        97,
        98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        109,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117,
        118
      ]
    },
    "PrintMargins": {
      "title": "PrintMargins",
      "description": "Specifies the dimensions of the printed page margins.",
      "type": "object",
      "properties": {
        "top": {
          "type": "number",
          "default": 75
        },
        "bottom": {
          "type": "number",
          "default": 75
        },
        "left": {
          "type": "number",
          "default": 70
        },
        "right": {
          "type": "number",
          "default": 70
        },
        "header": {
          "type": "number",
          "default": 30
        },
        "footer": {
          "type": "number",
          "default": 30
        }
      }
    },
    "PaperSize": {
      "title": "PaperSize",
      "description": "Specifies the paper size.",
      "properties": {
        "height": {
          "type": "number"
        },
        "width": {
          "type": "number"
        },
        "kind": {
          "anyOf": [
            {
              "$ref": "#/definitions/PaperKind"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "Slicer": {
      "title": "Slicer",
      "description": "Represents a slicer.",
      "type": "object",
      "properties": {
        "x": {
          "type": "number",
          "default": 100
        },
        "y": {
          "type": "number",
          "default": 100
        },
        "width": {
          "type": "number",
          "default": 192
        },
        "height": {
          "type": "number",
          "default": 250
        },
        "dynamicMove": {
          "type": "boolean",
          "default": false
        },
        "dynamicSize": {
          "type": "boolean",
          "default": false
        },
        "isLocked": {
          "type": "boolean",
          "default": true
        },
        "fixedPosition": {
          "type": "boolean",
          "default": false
        },
        "sourceName": {
          "type": "string"
        },
        "tableName": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "captionName": {
          "type": "string"
        },
        "columnCount": {
          "type": "number",
          "default": 1
        },
        "itemHeight": {
          "type": "number",
          "default": 21
        },
        "showHeader": {
          "type": "boolean",
          "default": true
        },
        "sortState": {
          "$ref": "#/definitions/SortState",
          "default": 1
        },
        "disableResizingAndMoving": {
          "type": "boolean",
          "default": false
        },
        "showNoDataItems": {
          "type": "boolean",
          "default": true
        },
        "showNoDataItemsInLast": {
          "type": "boolean",
          "default": true
        },
        "visuallyNoDataItems": {
          "type": "boolean",
          "default": true
        },
        "style": {
          "$ref": "#/definitions/SlicerStyle"
        },
        "columnName": {
          "type": "string"
        },
        "nameInFormula": {
          "type": "string"
        }
      }
    },
    "SlicerStyle": {
      "title": "SlicerStyle",
      "description": "Represents the slicer style settings.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "default": ""
        },
        "wholeSlicerStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "headerStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "selectedItemWithDataStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "selectedItemWithNoDataStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "unSelectedItemWithDataStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "unSelectedItemWithNoDataStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "hoveredSelectedItemWithDataStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "hoveredSelectedItemWithNoDataStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "hoveredUnSelectedItemWithDataStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        },
        "hoveredUnSelectedItemWithNoDataStyle": {
          "$ref": "#/definitions/SlicerStyleInfo"
        }
      }
    },
    "SlicerStyleInfo": {
      "title": "SlicerStyleInfo",
      "description": "Represents slicer style information.",
      "type": "object",
      "properties": {
        "backColor": {
          "type": "string",
          "default": "white"
        },
        "foreColor": {
          "type": "string",
          "default": "black"
        },
        "font": {
          "type": "string",
          "default": "normal 11pt calibri"
        },
        "borderLeft": {
          "$ref": "#/definitions/SlicerBorder"
        },
        "borderTop": {
          "$ref": "#/definitions/SlicerBorder"
        },
        "borderRight": {
          "$ref": "#/definitions/SlicerBorder"
        },
        "borderBottom": {
          "$ref": "#/definitions/SlicerBorder"
        },
        "textDecoration": {
          "$ref": "#/definitions/TextDecorationType",
          "default": 0
        }
      }
    },
    "SlicerBorder": {
      "title": "SlicerBorder",
      "description": "Represents the slicer border.",
      "type": "object",
      "properties": {
        "borderWidth": {
          "type": "number",
          "default": 0
        },
        "borderStyle": {
          "type": "number",
          "default": ""
        },
        "borderColor": {
          "type": "number",
          "default": ""
        }
      }
    },
    "SortState": {
      "title": "SortState",
      "description": "Specifies the type of sorting to perform. none:0,ascending:1,descending:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "LabelAlignment": {
      "title": "LabelAlignment",
      "description": "Specifies the cell label position. topLeft:0,topCenter:1,topRight:2,bottomLeft:3,bottomCenter:4,bottomRight:5.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    },
    "LabelVisibility": {
      "title": "LabelVisibility",
      "description": "Specifies to always show the watermark in the padding area and not to show the watermark in the cell area, regardless of the cell value. visible:0,hidden:1,auto:2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "LabelOptions": {
      "title": "LabelOptions",
      "description": "Specifies the cell label options.",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "alignment": {
          "$ref": "#/definitions/LabelAlignment",
          "default": 0
        },
        "visibility": {
          "$ref": "#/definitions/LabelVisibility",
          "default": 2
        },
        "font": {
          "type": "string"
        },
        "foreColor": {
          "type": "string"
        },
        "margin": {
          "type": "string"
        }
      }
    },
    "CopyPasteHeaderOptions": {
      "title": "CopyPasteHeaderOptions",
      "description": "Specifies which headers are included when data is copied to or pasted. noHeaders:0,rowHeaders:1,columnHeaders:2,allHeaders:3",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "CustomListOptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "Chart": {
      "title": "Chart",
      "description": "Represents a chart.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "x": {
          "type": "number",
          "default": 0
        },
        "y": {
          "type": "number",
          "default": 0
        },
        "width": {
          "type": "number",
          "default": 0
        },
        "height": {
          "type": "number",
          "default": 0
        },
        "canPrint": {
          "type": "boolean",
          "default": true
        },
        "isSelected": {
          "type": "boolean",
          "default": false
        },
        "isLocked": {
          "type": "boolean",
          "default": true
        },
        "isVisible": {
          "type": "boolean",
          "default": true
        },
        "dynamicMove": {
          "type": "boolean",
          "default": true
        },
        "dynamicSize": {
          "type": "boolean",
          "default": true
        },
        "fixedPosition": {
          "type": "boolean"
        },
        "allowResize": {
          "type": "boolean",
          "default": true
        },
        "allowMove": {
          "type": "boolean",
          "default": true
        },
        "typeName": {
          "type": "string"
        },
        "zIndex": {
          "type": "integer"
        },
        "useAnimation": {
          "type": "boolean",
          "default": false
        },
        "displayBlanksAs": {
          "$ref": "#/definitions/DisplayBlanksAs",
          "default": "connected"
        },
        "hoverStyle": {
          "description": "Specifies the hover style when user interact with the chart",
          "type": "object",
          "properties": {
            "applyHoverStyle": {
              "description": "Specifies whether apply hover style to the chart",
              "type": "boolean",
              "default": false
            },
            "color": {
              "type": "string"
            },
            "transparency": {
              "type": "number",
              "default": 1
            },
            "borderStyle": {
              "width": {
                "type": "number",
                "default": 1
              },
              "color": {
                "type": "string"
              },
              "transparency": {
                "type": "number",
                "default": 1
              },
              "dashStyle": {
                "type": "#/definitions/LineStyle/"
              }
            }
          }
        },
        "chartSpace": {
          "description": "Specifies overall settings for a chart.",
          "type": "object",
          "properties": {
            "chart": {
              "description": "Represents a chart.",
              "type": "object",
              "properties": {
                "legend": {
                  "description": "Specifies the legend.",
                  "type": "object",
                  "properties": {
                    "legendPos": {
                      "$ref": "#/definitions/LegendPosition"
                    }
                  }
                },
                "plotArea": {
                  "description": "Specifies the plot area of the chart.",
                  "type": "object",
                  "properties": {
                    "axes": {
                      "description": "Represents the axis collection.",
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/Axis"
                      }
                    },
                    "chartGroups": {
                      "description": "Represents the collection of all series in a chart.",
                      "type": "array",
                      "items": {
                        "description": "Specifies the settings for each series type.",
                        "type": "object",
                        "properties": {
                          "chartType": {
                            "$ref": "#/definitions/CT_ChartType"
                          },
                          "ser": {
                            "description": "Specifies a series collection for each chart type.",
                            "type": "array",
                            "items": {
                              "$ref": "#/definitions/Series"
                            }
                          },
                          "axId": {
                            "description": "Specifies the axis id for series, the id is same with axId of one item in axes.",
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          },
                          "firstSliceAng": {
                            "description": "Represents the first slice angle of pie chart.",
                            "type": "number"
                          }
                        }
                      }
                    },
                    "plotAreaRegion": {
                      "$ref": "#/definitions/CT_PlotAreaRegion"
                    }
                  }
                },
                "title": {
                  "description": "Specifies the chart title.",
                  "type": "object",
                  "properties": {
                    "tx": {
                      "$ref": "#/definitions/CT_Tx"
                    },
                    "spPr": {
                      "$ref": "#/definitions/ShapeProperties"
                    },
                    "txPr": {
                      "$ref": "#/definitions/CT_TextBody"
                    }
                  }
                }
              }
            },
            "spPr": {
              "$ref": "#/definitions/ShapeProperties"
            },
            "txPr": {
              "$ref": "#/definitions/CT_TextBody"
            }
          }
        }
      }
    },
    "CT_Tx": {
      "title": "CT_Tx",
      "description": " Specifies the text to use on a chart.",
      "type": "object",
      "properties": {
        "rich": {
          "$ref": "#/definitions/CT_TextBody"
        }
      }
    },
    "CT_TextBody": {
      "title": "CT_TextBody",
      "description": "Specifies text formatting.",
      "type": "object",
      "properties": {
        "txPr": {
          "description": "Indicates the text properties.",
          "type": "object",
          "properties": {
            "p": {
              "$ref": "#/definitions/TextParagraph"
            }
          }
        }
      }
    },
    "DataLabels": {
      "title": "Data labels",
      "description": "Represents data labels.",
      "type": "object",
      "properties": {
        "dLblPos": {
          "$ref": "#/definitions/DataLabelPosition"
        },
        "showCatName": {
          "description": "Specifies whether show category(x axis) name in data label.",
          "type": "boolean"
        },
        "showSerName": {
          "description": "Specifies whether show series name in data label.",
          "type": "boolean"
        },
        "showVal": {
          "description": "Specifies whether show value(y axis) name in data label.",
          "type": "boolean"
        },
        "showPercent": {
          "description": "Specifies whether show precentage in data label.",
          "type": "boolean"
        },
        "numFmt": {
          "$ref": "#/definitions/NumberFormat"
        },
        "txPr": {
          "$ref": "#/definitions/CT_TextBody"
        }
      }
    },
    "Axis": {
      "title": "Axis",
      "description": "Represents a chart axis.",
      "type": "object",
      "properties": {
        "axId": {
          "description": "Represents the unique id of axis, the id is used in chart group.",
          "type": "number"
        },
        "majorGridlines": {
          "description": "Represents the major grid line.",
          "type": "object",
          "properties": {
            "spPr": {
              "$ref": "#/definitions/ShapeProperties"
            }
          }
        },
        "majorTickMark": {
          "$ref": "#/definitions/TickMark"
        },
        "majorUnit": {
          "description": "Represents the major unit of axis.",
          "type": "number"
        },
        "minorGridlines": {
          "description": "Represents the minor grid line.",
          "type": "object",
          "properties": {
            "spPr": {
              "$ref": "#/definitions/ShapeProperties"
            }
          }
        },
        "minorTickMark": {
          "$ref": "#/definitions/TickMark"
        },
        "minorUnit": {
          "description": "Represents the minor unit of axis.",
          "type": "number"
        },
        "numFmt": {
          "$ref": "#/definitions/NumberFormat"
        },
        "title": {
          "description": "Represents the axis title.",
          "type": "object",
          "properties": {
            "tx": {
              "$ref": "#/definitions/CT_Tx"
            },
            "spPr": {
              "$ref": "#/definitions/ShapeProperties"
            },
            "txPr": {
              "$ref": "#/definitions/CT_TextBody"
            }
          }
        },
        "delete": {
          "description": "Represents whether the axis is invisible.",
          "type": "boolean"
        },
        "tickLblPos": {
          "$ref": "#/definitions/TickLabelPosition"
        },
        "scaling": {
          "type": "object",
          "properties": {
            "min": {
              "description": "Specifies the minimum value of the axis.",
              "type": "number"
            },
            "max": {
              "description": "Specifies the maximum value of the axis.",
              "type": "number"
            },
            "logBase": {
              "description": "Specifies the logarithmic base value of the axis.",
              "type": "number"
            }
          }
        },
        "dispUnits": {
          "type": "object",
          "properties": {
            "builtInUnit": {
              "$ref": "#/definitions/DisplayUnitBuiltIn"
            },
            "custUnit": {
              "description": "Specifies the custom number display unit of the axis.",
              "type": "number"
            },
            "visible": {
              "description": "Specifies the display unit label visible of the axis.",
              "type": "boolean"
            },
            "dispUnitsLbl": {
              "description": "Specifies the display unit label of the axis.",
              "type": "object",
              "properties": {
                "tx": {
                  "$ref": "#/definitions/CT_Tx"
                },
                "spPr": {
                  "$ref": "#/definitions/ShapeProperties"
                },
                "txPr": {
                  "$ref": "#/definitions/CT_TextBody"
                }
              }
            }
          }
        },
        "spPr": {
          "$ref": "#/definitions/ShapeProperties"
        },
        "txPr": {
          "$ref": "#/definitions/CT_TextBody"
        }
      }
    },
    "CT_StrRef": {
      "title": "CT_StrRef",
      "description": "Represents a string reference for a single data label or title.",
      "type": "object",
      "properties": {
        "f": {
          "description": "Specifies the formula.",
          "type": "string"
        }
      }
    },
    "CT_NumRef": {
      "title": "CT_NumRef",
      "description": "Represents a number reference to numeric data.",
      "type": "object",
      "properties": {
        "f": {
          "description": "Specifies the formula.",
          "type": "string"
        }
      }
    },
    "TrendlineProperties": {
      "description": "Represents a trendline of a series.",
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/TrendlineType"
        },
        "order": {
          "type": "number"
        },
        "period": {
          "type": "number"
        },
        "dispEq": {
          "type": "boolean"
        },
        "dispRSqr": {
          "type": "boolean"
        },
        "forward": {
          "type": "number"
        },
        "backward": {
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "spPr": {
          "$ref": "#/definitions/ShapeProperties"
        },
        "trendlineLbl": {
          "type": "object",
          "properties": {
            "numFmt": {
              "$ref": "#/definitions/NumberFormat"
            },
            "spPr": {
              "$ref": "#/definitions/ShapeProperties"
            },
            "txPr": {
              "$ref": "#/definitions/CT_TextBody"
            }
          }
        },
        "intercept": {
          "type": "number"
        }
      }
    },
    "Series": {
      "title": "Series",
      "description": "Represents a chart series.",
      "type": "object",
      "properties": {
        "cat": {
          "description": "Specifies the data used for the category(x) axis.",
          "type": "object",
          "properties": {
            "strRef": {
              "$ref": "#/definitions/CT_StrRef"
            }
          }
        },
        "spPr": {
          "$ref": "#/definitions/ShapeProperties"
        },
        "trendline": {
          "description": "Specifies the trendlines of the series.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/TrendlineProperties"
          }
        },
        "tx": {
          "description": "Specifies text for the series name.",
          "type": "object",
          "properties": {
            "strRef": {
              "$ref": "#/definitions/CT_StrRef"
            }
          }
        },
        "val": {
          "description": "Specifies the data used for the value(y) axis.",
          "type": "object",
          "properties": {
            "numRef": {
              "$ref": "#/definitions/CT_NumRef"
            }
          }
        },
        "xVal": {
          "description": "Specifies the x values used for the x axis.",
          "type": "object",
          "properties": {
            "numRef": {
              "$ref": "#/definitions/CT_NumRef"
            }
          }
        },
        "yVal": {
          "description": "Specifies the y values used for the y axis.",
          "type": "object",
          "properties": {
            "numRef": {
              "$ref": "#/definitions/CT_NumRef"
            }
          }
        },
        "bubbleSize": {
          "description": "Specifies the data for the sizes of the bubbles on the bubble chart.",
          "type": "object",
          "properties": {
            "numRef": {
              "$ref": "#/definitions/CT_NumRef"
            }
          }
        },
        "dLbls": {
          "$ref": "#/definitions/DataLabels"
        },
        "layoutId": {
          "$ref": "#/definitions/ST_SeriesLayout"
        },
        "dataPt": {
          "description": "Specifies the data points of the series.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CT_DataPoint"
          }
        },
        "formulaObj": {
          "description": "Specifies the formula of the series.",
          "type": "object",
          "properties": {
            "strDim": {
              "type": "string"
            },
            "numDim": {
              "type": "string"
            }
          }
        },
        "dataLabels": {
          "$ref": "#/definitions/DataLabels"
        },
        "marker": {
          "$ref": "#/definitions/Marker"
        },
        "errbars": {
          "description": "Specifies the existed error bar on series.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/ErrorBar"
          }
        }
      }
    },
    "ErrorBar": {
      "errDir": {
        "description": "Specifies the error bar direction, it might be x(0) / y(1).",
        "type": "number"
      },
      "errBarType": {
        "description": "Specifies the error bar type, it might be both(0) / minus(1) / plus(2).",
        "type": "number"
      },
      "errValType": {
        "description": "Specifies the error bar value type, it might be custom(0) / fixed(1) / percentage(2) / standardDeviation(3) / standardError(4).",
        "type": "number"
      },
      "noEndCap": "boolean",
      "val": {
        "description": "Specifies value used for the error bar when errValType is fixed(1) / percentage(2) / standardDeviation(3).",
        "type": "number"
      },
      "spPr": {
        "$ref": "#/definitions/ShapeProperties"
      },
      "minus": {
        "description": "Specifies the data used for the error bar negative values.",
        "type": "object",
        "properties": {
          "numRef": {
            "$ref": "#/definitions/CT_NumRef"
          }
        }
      },
      "plus": {
        "description": "Specifies the data used for the error bar positive values.",
        "type": "object",
        "properties": {
          "numRef": {
            "$ref": "#/definitions/CT_NumRef"
          }
        }
      }
    },
    "Marker": {
      "size": "number",
      "spPr": {
        "$ref": "#/definitions/ShapeProperties"
      },
      "symbol": {
        "$ref": "#/definitions/SymbolType"
      }
    },
    "SymbolType": {
      "title": "symbol type",
      "description": "Defines the symbol type. circle: 0, dash: 1, diamond: 2, dot: 3, none: 4, plus: 6, square: 7, star: 8, triangle: 9, x: 10",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        6,
        7,
        8
      ]
    },
    "CT_PlotAreaRegion": {
      "title": "PlotAreaRegion",
      "description": "Specifies a plot area region.",
      "type": "object",
      "properties": {
        "series": {
          "description": "Represents a chart series.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Series"
          }
        }
      }
    },
    "CT_DataPoint": {
      "title": "DataPoint",
      "description": "Specifies a data point.",
      "properties": {
        "idx": {
          "type": "number"
        },
        "spPr": {
          "$ref": "#/definitions/ShapeProperties"
        }
      }
    },
    "ST_SeriesLayout": {
      "title": "SeriesLayout",
      "description": "Specifies series layout types. sunburst: 20, treemap: 21.",
      "enum": [
        20,
        21
      ]
    },
    "DataLabelPosition": {
      "title": "DataLabelPosition",
      "description": "Defines the data label position. bestFit: 0,below: 1,center: 2,insideBase: 3,insideEnd: 4,left: 5,outsideEnd: 6,right: 7,above: 8.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8
      ]
    },
    "LegendPosition": {
      "title": "LegendPosition",
      "description": "Defines the legend position. top: 1,right: 2,left: 3,bottom: 4,corner: 5.",
      "enum": [
        1,
        2,
        3,
        4,
        5
      ]
    },
    "TickMark": {
      "title": "TickMark",
      "description": "Defines the tick mark position. cross: 0,inside: 1,none: 2,outside: 3.",
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "CT_ChartType": {
      "title": "CT_ChartType",
      "description": "Defines the chart type in json. CT_StockChart: 0,CT_ScatterChart: 1,CT_RadarChart: 2,CT_BubbleChart: 3,CT_AreaChart: 4,CT_Area3DChart: 5,CT_BarChart: 6,CT_Bar3DChart: 7,CT_LineChart: 8,CT_Line3DChart: 9,CT_PieChart: 10,CT_Pie3DChart: 11,CT_DoughnutChart: 12,CT_OfPieChart: 13,CT_SurfaceChart: 14,CT_Surface3DChart: 15.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15
      ]
    },
    "DisplayBlanksAs": {
      "title": "DisplayBlanksAs",
      "description": "Defines the way to display blank cells in the chart. connected: 0, gaps: 1, zeros: 2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "ColorScheme": {
      "title": "ColorScheme",
      "description": "Defines the scheme color. LT1: 0, DK1: 1, LT2: 2, DK2: 3, Accent1: 4, Accent2: 5, Accent3: 6, Accent4: 7, Accent5: 8, Accent6: 9, Hlink: 10, FolHlink: 11.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11
      ]
    },
    "TickLabelPosition": {
      "title": "TickLabelPosition",
      "description": "Defines the tick label position. nextToAxis: 2, none: 3.",
      "enum": [
        2,
        3
      ]
    },
    "NumberFormat": {
      "title": "NumberFormat",
      "description": "Represents a number format.",
      "type": "object",
      "properties": {
        "formatCode": {
          "type": "string"
        }
      }
    },
    "EditorType": {
      "title": "EditorType",
      "description": "Defines the editor type of the text cell type. textarea: 0, editableDiv: 1.",
      "enum": [
        0,
        1
      ]
    },
    "Shape": {
      "title": "Shape",
      "description": "Represents a shape.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "canPrint": {
          "type": "boolean",
          "default": true
        },
        "isSelected": {
          "type": "boolean",
          "default": false
        },
        "isLocked": {
          "type": "boolean",
          "default": true
        },
        "dynamicMove": {
          "type": "boolean",
          "default": true
        },
        "dynamicSize": {
          "type": "boolean",
          "default": true
        },
        "allowResize": {
          "type": "boolean",
          "default": true
        },
        "allowMove": {
          "type": "boolean",
          "default": true
        },
        "hAlign": {
          "$ref": "#/definitions/TextHorizontalAlignment",
          "default": 0
        },
        "vAlign": {
          "$ref": "#/definitions/TextVerticalAlignment",
          "default": 0
        },
        "shapeType": {
          "$ref": "#/definitions/CT_ShapeType"
        },
        "shapeData": {
          "title": "shapeData",
          "description": "Represents a shape data.",
          "type": "object",
          "properties": {
            "startPoint": {
              "title": "shapeData",
              "description": "Specifies the first anchor point for the shape.",
              "type": "object",
              "properties": {
                "row": {
                  "type": "number"
                },
                "col": {
                  "type": "number"
                },
                "rowOffset": {
                  "type": "number"
                },
                "colOffset": {
                  "type": "number"
                }
              }
            },
            "endPoint": {
              "title": "shapeData",
              "description": "Specifies the second anchor point for the shape.",
              "type": "object",
              "properties": {
                "row": {
                  "type": "number"
                },
                "col": {
                  "type": "number"
                },
                "rowOffset": {
                  "type": "number"
                },
                "colOffset": {
                  "type": "number"
                }
              }
            },
            "cxnSp": {
              "title": "ConnectionShape",
              "description": "Specifies a connection shape that is used to connect two sp elements.",
              "type": "object",
              "properties": {
                "nvCxnSpPr": {
                  "title": "NonVisualPropertiesForAConnectionShape",
                  "description": "Specifies all non-visual properties for a connection shape.",
                  "type": "object",
                  "properties": {
                    "cNvPr": {
                      "$ref": "#/definitions/NonVisualDrawingProperties"
                    },
                    "cNvCxnSpPr": {
                      "title": "NonVisualConnectorShapeDrawingProperties",
                      "description": "Specifies the non-visual drawing properties specific to a connector shape.",
                      "type": "object",
                      "properties": {
                        "stCxn": {
                          "title": "ConnectionStart",
                          "description": "Specifies the starting connection that should be made by the corresponding connector shape.",
                          "type": "object",
                          "properties": {
                            "idx": {
                              "description": "Specifies the index into the connection site table of the final connection shape.",
                              "type": "number"
                            },
                            "id": {
                              "description": "Specifies the id of the shape to make the final connection to.",
                              "type": "number"
                            }
                          }
                        },
                        "endCxn": {
                          "title": "ConnectionEnd",
                          "description": "Specifies the ending connection that should be made by the corresponding connector shape.",
                          "type": "object",
                          "properties": {
                            "idx": {
                              "description": "Specifies the index into the connection site table of the final connection shape.",
                              "type": "number"
                            },
                            "id": {
                              "description": "Specifies the id of the shape to make the final connection to.",
                              "type": "number"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "spPr": {
                  "$ref": "#/definitions/ShapeProperties"
                }
              }
            },
            "grpSp": {
              "title": "GroupShape",
              "description": "Specifies a group shape that represents many shapes grouped together.",
              "type": "object",
              "properties": {
                "nvGrpSpPr": {
                  "title": "NonVisualPropertiesForAGroupShape",
                  "description": "Specifies all non-visual properties for a group shape.",
                  "type": "object",
                  "properties": {
                    "cNvPr": {
                      "$ref": "#/definitions/NonVisualDrawingProperties"
                    }
                  }
                },
                "grpSpPr": {
                  "title": "GroupShape",
                  "description": "Specifies a group shape that represents many shapes grouped together.",
                  "type": "object",
                  "properties": {
                    "xfrm": {
                      "$ref": "#/definitions/2DTransformForIndividualObjects"
                    },
                    "solidFill": {
                      "$ref": "#/definitions/SolidColorFillProperties"
                    },
                    "noFill": {
                      "type": "boolean"
                    }
                  }
                },
                "sp": {
                  "title": "Shape",
                  "description": "Specifies all shapes of a group shape.",
                  "type": "array",
                  "items": {
                    "$ref": "#/definitions/sp"
                  }
                }
              }
            },
            "sp": {
              "$ref": "#/definitions/sp"
            },
            "width": {
              "type": "number",
              "default": 0
            },
            "height": {
              "type": "number",
              "default": 0
            },
            "ext": {
              "title": "ShapeExtent",
              "description": "Describes the length and width properties for how far a drawing element should extend for.",
              "type": "object",
              "properties": {
                "cx": {
                  "description": "Specifies the length of the extents rectangle in EMUs.",
                  "type": "number"
                },
                "cy": {
                  "description": "Specifies the width of the extents rectangle in EMUs.",
                  "type": "number"
                }
              }
            }
          }
        }
      }
    },
    "sp": {
      "title": "Shape",
      "description": "Represents the existence of a single shape.",
      "type": "object",
      "properties": {
        "shapeType": {
          "$ref": "#/definitions/CT_ShapeType"
        },
        "nvSpPr": {
          "title": "NonVisualShapeProperties",
          "description": "Specifies all non-visual properties for a shape.",
          "type": "object",
          "properties": {
            "cNvPr": {
              "$ref": "#/definitions/NonVisualDrawingProperties"
            }
          }
        },
        "spPr": {
          "$ref": "#/definitions/ShapeProperties"
        },
        "style": {
          "title": "ShapeStyle",
          "description": "Specifies the style that is applied to a shape and the corresponding references for each of the style components such as lines and fills.",
          "type": "object",
          "properties": {
            "fillRef": {
              "title": "fillReference",
              "description": "Represents a reference to a fill style within the style matrix.",
              "type": "object",
              "properties": {
                "idx": {
                  "description": "Specifies the style matrix index of the style referred to.",
                  "type": "number"
                },
                "ColorProp": {
                  "$ref": "#/definitions/SolidColorFillProperties"
                }
              }
            },
            "lnRef": {
              "title": "lineReference",
              "description": "Represents a reference to a line style within the style matrix.",
              "type": "object",
              "properties": {
                "idx": {
                  "description": "Specifies the style matrix index of the style referred to.",
                  "type": "number"
                },
                "ColorProp": {
                  "$ref": "#/definitions/SolidColorFillProperties"
                }
              }
            },
            "fontRef": {
              "title": "fontReference",
              "description": "Represents a reference to a themed font.",
              "type": "object",
              "properties": {
                "idx": {
                  "description": "Specifies the style matrix index of the style referred to.",
                  "type": "number"
                },
                "TextCharacterProperties": {
                  "$ref": "#/definitions/TextCharacterProperties"
                }
              }
            }
          }
        },
        "txBody": {
          "title": "ShapeTextBody",
          "description": "Specifies the style that is applied to a shape and the corresponding references for each of the style components such as lines and fills.",
          "type": "object",
          "properties": {
            "p": {
              "$ref": "#/definitions/TextParagraph"
            }
          }
        }
      }
    },
    "ShapeProperties": {
      "title": "ShapeProperties",
      "description": "Specifies the visual shape properties that can be applied to a special shape.",
      "type": "object",
      "properties": {
        "solidFill": {
          "$ref": "#/definitions/SolidColorFillProperties"
        },
        "noFill": {
          "type": "boolean"
        },
        "ln": {
          "description": "Represents the line or border of chart elements.",
          "type": "object",
          "properties": {
            "w": {
              "description": "Indicates the line width or border width.",
              "type": "number"
            },
            "solidFill": {
              "$ref": "#/definitions/SolidColorFillProperties"
            },
            "noFill": {
              "type": "boolean"
            },
            "cap": {
              "$ref": "#/definitions/LineCapStyle"
            },
            "prstDash": {
              "$ref": "#/definitions/LineDashStyle"
            },
            "miter": {
              "title": "MiterLineJoin",
              "description": "Specifies that a line join shall be mitered.",
              "type": "object",
              "properties": {
                "lim": {
                  "description": "Specifies the amount by which lines is extended to form a miter join - otherwise miter joins can extend infinitely far (for lines which are almost parallel).",
                  "type": "number"
                }
              }
            },
            "headEnd": {
              "title": "LineHead",
              "description": "Specifies decorations which can be added to the head of a line.",
              "$ref": "#/definitions/Arrowhead"
            },
            "tailEnd": {
              "title": "TailLineEndStyle",
              "description": "Specifies decorations which can be added to the tail of a line.",
              "$ref": "#/definitions/Arrowhead"
            }
          }
        },
        "xfrm": {
          "$ref": "#/definitions/2DTransformForIndividualObjects"
        },
        "prstGeom": {
          "title": "PresetGeometry",
          "description": "Specifies when a preset geometric shape should be used instead of a custom geometric shape.",
          "type": "object",
          "properties": {
            "prst": {
              "$ref": "#/definitions/ST_ShapeType"
            }
          }
        }
      }
    },
    "TextCharacterProperties": {
      "title": "TextCharacterProperties",
      "description": "Specifies all default run level text properties.",
      "type": "object",
      "properties": {
        "latin": {
          "description": "Sepcifies a Latin font for the text.",
          "type": "object",
          "properties": {
            "typeface": {
              "description": "Specifies the typeface or name of the font.",
              "type": "string"
            }
          }
        },
        "solidFill": {
          "$ref": "#/definitions/SolidColorFillProperties"
        },
        "noFill": {
          "type": "boolean"
        },
        "sz": {
          "description": "Specifies the size of text.",
          "type": "number"
        },
        "b": {
          "title": "bold",
          "type": "boolean"
        },
        "i": {
          "title": "italic",
          "type": "boolean"
        }
      }
    },
    "SolidColorFillProperties": {
      "title": "SolidColorFillProperties",
      "description": "Indicates the solid fill properties.",
      "type": "object",
      "properties": {
        "srgbClr": {
          "description": "Represents the fill color is a RGB color.",
          "type": "object",
          "properties": {
            "val": {
              "description": "Specifies the value of RGB color.",
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "alpha": {
              "description": "Specifies the opacity of RGB color.",
              "type": "array",
              "items": {
                "type": "number"
              }
            }
          }
        },
        "schemeClr": {
          "description": "Represents the fill color is a theme color.",
          "type": "object",
          "properties": {
            "lumMod": {
              "description": "Specifies the input color with its luminance modulated by the given percentage.",
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "val": {
              "$ref": "#/definitions/ColorScheme"
            }
          }
        }
      }
    },
    "Arrowhead": {
      "title": "Arrowhead",
      "type": "object",
      "properties": {
        "len": {
          "$ref": "#/definitions/ArrowheadLength"
        },
        "w": {
          "$ref": "#/definitions/ArrowheadWidth"
        },
        "type": {
          "$ref": "#/definitions/ArrowheadStyle"
        }
      }
    },
    "NonVisualDrawingProperties": {
      "title": "NonVisualDrawingProperties",
      "description": "Specifies the set of non-visual properties for the parent element.",
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "hidden": {
          "type": "boolean",
          "default": false
        },
        "name": {
          "type": "string"
        }
      }
    },
    "TextParagraph": {
      "description": "Specifies the presence of a paragraph of text within the containing text body.",
      "type": "array",
      "items": {
        "type": "object",
        "description": "Specifies the presence of a run of text within the containing text body.",
        "properties": {
          "elements": {
            "description": "Specifies the presence of a paragraph of text within the containing text body.",
            "type": "array",
            "items": {
              "type": "object",
              "description": "Specifies the text properties.",
              "properties": {
                "t": {
                  "title": "TextString",
                  "description": "Specifies the actual text for this text run.",
                  "type": "string"
                },
                "rPr": {
                  "$ref": "#/definitions/TextCharacterProperties"
                }
              }
            }
          },
          "pPr": {
            "title": "TextParagraphProperties",
            "type": "object",
            "description": "Defines contains all paragraph level text properties for the containing paragraph.",
            "properties": {
              "defRPr": {
                "$ref": "#/definitions/TextCharacterProperties"
              }
            }
          }
        }
      }
    },
    "2DTransformForIndividualObjects": {
      "title": "2DTransformForIndividualObjects",
      "description": "Represents 2-D transforms for ordinary shapes",
      "type": "object",
      "properties": {
        "flipH": {
          "type": "boolean",
          "description": "Specifies a horizontal flip. When true, this attribute defines that the shape is flipped horizontally about the center of its bounding box."
        },
        "flipV": {
          "type": "boolean",
          "description": "Specifies a vertical flip. When true, this attribute defines that the group is flipped vertically about the center of its bounding box."
        },
        "rot": {
          "type": "number",
          "description": "Specifies the rotation of the Graphic Frame."
        },
        "off": {
          "type": "object",
          "description": "specifies the location of the bounding box of an object.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          }
        },
        "ext": {
          "type": "object",
          "description": "Specifies the size of the bounding box enclosing the referenced object.",
          "properties": {
            "cx": {
              "type": "number"
            },
            "cy": {
              "type": "number"
            }
          }
        },
        "chOff": {
          "type": "object",
          "description": "Specifies the location of the child extents rectangle and is used for calculations of grouping, scaling, and rotation behavior of shapes placed within a group.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          }
        },
        "chExt": {
          "type": "object",
          "description": "Specifies the size dimensions of the child extents rectangle and is used for calculations of grouping, scaling, and rotation behavior of shapes placed within a group.",
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          }
        }
      }
    },
    "TrendlineType": {
      "description": "Specifies the trendline type. Exponential: 0, Linear: 1, Logarithmic: 2, MovingAverage: 3, Polynomial: 4, Power: 5.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    },
    "DisplayUnitBuiltIn": {
      "description": "Sepecifies the built-in display unit. hundreds: 0, thousands: 1, tenThousands: 2, hundredThousands: 3, millions: 4, tenMillions: 5, hundredMillions: 6, billions: 7, trillions: 8, none: 9.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9
      ]
    },
    "ST_ShapeType": {
      "title": "ST_ShapeType",
      "description": "Specifies the preset geometry that is used for this shape.line: 0, lineInv: 1, triangle: 2, rtTriangle: 3, rect: 4, diamond: 5, parallelogram: 6, trapezoid: 7, nonIsoscelesTrapezoid: 8, pentagon: 9, hexagon: 10, heptagon: 11, octagon: 12, decagon: 13, dodecagon: 14, star4: 15, star5: 16, star6: 17, star7: 18, star8: 19, star10: 20, star12: 21, star16: 22, star24: 23, star32: 24, roundRect: 25, round1Rect: 26, round2SameRect: 27, round2DiagRect: 28, snipRoundRect: 29, snip1Rect: 30, snip2SameRect: 31, snip2DiagRect: 32, plaque: 33, ellipse: 34, teardrop: 35, homePlate: 36, chevron: 37, pieWedge: 38, pie: 39, blockArc: 40, donut: 41, noSmoking: 42, rightArrow: 43, leftArrow: 44, upArrow: 45, downArrow: 46, stripedRightArrow: 47, notchedRightArrow: 48, bentUpArrow: 49, leftRightArrow: 50, upDownArrow: 51, leftUpArrow: 52, leftRightUpArrow: 53, quadArrow: 54, leftArrowCallout: 55, rightArrowCallout: 56, upArrowCallout: 57, downArrowCallout: 58, leftRightArrowCallout: 59, upDownArrowCallout: 60, quadArrowCallout: 61, bentArrow: 62, uturnArrow: 63, circularArrow: 64, leftCircularArrow: 65, leftRightCircularArrow: 66, curvedRightArrow: 67, curvedLeftArrow: 68, curvedUpArrow: 69, curvedDownArrow: 70, swooshArrow: 71, cube: 72, can: 73, lightningBolt: 74, heart: 75, sun: 76, moon: 77, smileyFace: 78, irregularSeal1: 79, irregularSeal2: 80, foldedCorner: 81, bevel: 82, frame: 83, halfFrame: 84, corner: 85, diagStripe: 86, chord: 87, arc: 88, leftBracket: 89, rightBracket: 90, leftBrace: 91, rightBrace: 92, bracketPair: 93, bracePair: 94, straightConnector1: 95, bentConnector2: 96, bentConnector3: 97, bentConnector4: 98, bentConnector5: 99, curvedConnector2: 100, curvedConnector3: 101, curvedConnector4: 102, curvedConnector5: 103, callout1: 104, callout2: 105, callout3: 106, accentCallout1: 107, accentCallout2: 108, accentCallout3: 109, borderCallout1: 110, borderCallout2: 111, borderCallout3: 112, accentBorderCallout1: 113, accentBorderCallout2: 114, accentBorderCallout3: 115, wedgeRectCallout: 116, wedgeRoundRectCallout: 117, wedgeEllipseCallout: 118, cloudCallout: 119, cloud: 120, ribbon: 121, ribbon2: 122, ellipseRibbon: 123, ellipseRibbon2: 124, leftRightRibbon: 125, verticalScroll: 126, horizontalScroll: 127, wave: 128, doubleWave: 129, plus: 130, flowChartProcess: 131, flowChartDecision: 132, flowChartInputOutput: 133, flowChartPredefinedProcess: 134, flowChartInternalStorage: 135, flowChartDocument: 136, flowChartMultidocument: 137, flowChartTerminator: 138, flowChartPreparation: 139, flowChartManualInput: 140, flowChartManualOperation: 141, flowChartConnector: 142, flowChartPunchedCard: 143, flowChartPunchedTape: 144, flowChartSummingJunction: 145, flowChartOr: 146, flowChartCollate: 147, flowChartSort: 148, flowChartExtract: 149, flowChartMerge: 150, flowChartOfflineStorage: 151, flowChartOnlineStorage: 152, flowChartMagneticTape: 153, flowChartMagneticDisk: 154, flowChartMagneticDrum: 155, flowChartDisplay: 156, flowChartDelay: 157, flowChartAlternateProcess: 158, flowChartOffpageConnector: 159, actionButtonBlank: 160, actionButtonHome: 161, actionButtonHelp: 162, actionButtonInformation: 163, actionButtonForwardNext: 164, actionButtonBackPrevious: 165, actionButtonEnd: 166, actionButtonBeginning: 167, actionButtonReturn: 168, actionButtonDocument: 169, actionButtonSound: 170, actionButtonMovie: 171, gear6: 172, gear9: 173, funnel: 174, mathPlus: 175, mathMinus: 176, mathMultiply: 177, mathDivide: 178, mathEqual: 179, mathNotEqual: 180, cornerTabs: 181, squareTabs: 182, plaqueTabs: 183, chartX: 184, chartStar: 185, chartPlus: 186",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
        48,
        49,
        50,
        51,
        52,
        53,
        54,
        55,
        56,
        57,
        58,
        59,
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        69,
        70,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        82,
        83,
        84,
        85,
        86,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        96,
        97,
        98,
        99,
        100,
        101,
        102,
        103,
        104,
        105,
        106,
        107,
        108,
        109,
        110,
        111,
        112,
        113,
        114,
        115,
        116,
        117,
        118,
        119,
        120,
        121,
        122,
        123,
        124,
        125,
        126,
        127,
        128,
        129,
        130,
        131,
        132,
        133,
        134,
        135,
        136,
        137,
        138,
        139,
        140,
        141,
        142,
        143,
        144,
        145,
        146,
        147,
        148,
        149,
        150,
        151,
        152,
        153,
        154,
        155,
        156,
        157,
        158,
        159,
        160,
        161,
        162,
        163,
        164,
        165,
        166,
        167,
        168,
        169,
        170,
        171,
        172,
        173,
        174,
        175,
        176,
        177,
        178,
        179,
        180,
        181,
        182,
        183,
        184,
        185,
        186
      ]
    },
    "CT_ShapeType": {
      "title": "ShapeType",
      "description": "Specifies the shape type. CT_AlternateContent: 0, CT_Picture: 1, CT_GraphicalObjectFrame: 2, CT_GroupShape: 3, CT_Connector: 4, CT_Shape: 5.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    },
    "LineCapStyle": {
      "title": "LineEndingCapType",
      "description": "Specifies the ending caps that should be used for this line. round: 0, square: 1, flat: 2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "LineDashStyle": {
      "title": "PresetDash",
      "description": "Specifies which preset dashing scheme is to be used. solid: 0, squareDot: 1, dash: 2, longDash: 3, dashDot: 4, longDashDot: 5, longDashDotDot: 6,sysDash: 7, sysDot: 8, sysDashDot: 9, dashDotDot: 10, roundDot: 11",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11
      ]
    },
    "TextHorizontalAlignment": {
      "description": "Specifies the text horizontal alignment. left: 0, center: 1, right: 2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "TextVerticalAlignment": {
      "description": "Specifies the text vertical alignment. top: 0, middle: 1, bottom: 2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "ArrowheadStyle": {
      "description": "Specifies the line end decoration. none: 0, triangle: 1, stealth: 2, diamond: 3, oval: 4, open: 5.",
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ]
    },
    "ArrowheadLength": {
      "description": "Specifies the line end length in relation to the line width. short: 0, medium: 1, long: 2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "ArrowheadWidth": {
      "description": "Specifies the line end width in relation to the line width. narrow: 0, medium: 1, wide: 2.",
      "enum": [
        0,
        1,
        2
      ]
    },
    "RichText": {
      "title": "RichText",
      "type": "object",
      "description": "Specifies a richText",
      "properties": {
        "text": {
          "type": "string"
        },
        "richText": {
          "type": "array",
          "items": {
            "type": "object",
            "description": "Specifies a rich text.",
            "properties": {
              "text": {
                "type": "string"
              },
              "style": {
                "type": "object",
                "properties": {
                  "font": {
                    "type": "string"
                  },
                  "textDecoration": {
                    "anyOf": [
                      {
                        "$ref": "#/definitions/TextDecorationType"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": 0
                  },
                  "foreColor": {
                    "type": "string"
                  },
                  "vertAlign": {
                    "$ref": "#/definitions/VertAlign"
                  }
                }
              }
            }
          }
        }
      }
    },
    "VertAlign": {
      "title": "VertAlign",
      "description": "Specifies a subscript text or a superscript text. Normal: 0, superscript: 1, subscript: 2.",
      "enum": [
        0,
        1,
        2
      ]
    }
  }
}