Files
DocumentServer-v-9.2.0/core/OOXML/XlsxFormat/WritingElement.h
Yajbir Singh f1b860b25c
Some checks failed
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

1027 lines
39 KiB
C++

/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../DocxFormat/WritingElement.h"
#include "../../DesktopEditor/common/StringBuilder.h"
namespace OOX
{
namespace Spreadsheet
{
#define WritingStringCommon(start, func, val, end) \
writer.WriteString(start); \
writer.func(val); \
writer.WriteString(end);
//#define WritingStringCommonDouble(start, val, end) \
// writer.WriteString(start); \
// writer.AddDouble(val, -1); \
// writer.WriteString(end);
#define WritingStringCommonDouble(start, val, end) \
writer.WriteString(start); \
writer.WriteString(XmlUtils::ToString(val)); \
writer.WriteString(end);
#define WritingValNode(ns, name, val) \
writer.StartNodeWithNS(ns, name); \
writer.StartAttributes(); \
writer.WriteAttribute(L"val", val); \
writer.EndAttributesAndNode();
#define WritingValNodeEncodeXml(ns, name, val) \
writer.StartNodeWithNS(ns, name); \
writer.StartAttributes(); \
writer.WriteAttributeEncodeXml(L"val", val); \
writer.EndAttributesAndNode();
#define WritingValNodeIf(ns, name, cond, val) \
writer.StartNodeWithNS(ns, name); \
writer.StartAttributes(); \
if (cond) \
{ \
writer.WriteAttribute(L"val", val); \
} \
writer.EndAttributesAndNode();
#define WritingStringValAttr(name, func, val) \
WritingStringCommon(L"<" name L" val=\"", func, val, L"\"/>")
#define WritingStringValAttrString(name, val) \
WritingStringValAttr(name, WriteString, val)
#define WritingStringValAttrEncodeXmlString(name, val) \
WritingStringValAttr(name, WriteEncodeXmlString, val)
#define WritingStringValAttrInt(name, val) \
WritingStringValAttr(name, AddInt, val)
#define WritingStringValAttrDouble(name, val) \
WritingStringCommonDouble(L"<" name L" val=\"", val, L"\"/>")
#define WritingStringVal(name, func, val) \
WritingStringCommon(L"<" name L">", func, val, L"</" name L">")
#define WritingStringValString(name, val) \
WritingStringVal(name, WriteString, val)
#define WritingStringValEncodeXmlString(name, val) \
WritingStringVal(name, WriteEncodeXmlString, val)
#define WritingStringValInt(name, val) \
WritingStringVal(name, AddInt, val)
#define WritingStringValInt64(name, val) \
WritingStringVal(name, AddInt64, val)
#define WritingStringValDouble(name, val) \
WritingStringCommonDouble(L"<" name L">", val, L"</" name L">")
#define WritingStringAttr(name, func, val) \
WritingStringCommon(L" " name L"=\"", func, val, L"\"")
#define WritingStringAttrString(name, val) \
WritingStringAttr(name, WriteString, val)
#define WritingStringAttrEncodeXmlString(name, val) \
WritingStringAttr(name, WriteEncodeXmlString, val)
#define WritingStringAttrInt(name, val) \
WritingStringAttr(name, AddInt, val)
#define WritingStringAttrDouble(name, val) \
WritingStringCommonDouble(L" " name L"=\"", val, L"\"")
#define WritingStringNullableAttr(name, func, elem, val) \
if(elem.IsInit()) \
{ \
WritingStringAttr(name, func, val) \
}
#define WritingStringNullableAttrString(name, elem, val) \
WritingStringNullableAttr(name, WriteString, elem, val)
#define WritingStringNullableAttrEncodeXmlString(name, elem, val) \
WritingStringNullableAttr(name, WriteEncodeXmlString, elem, val)
#define WritingStringNullableAttrEncodeXmlStringHHHH(name, elem, val) \
WritingStringNullableAttr(name, WriteEncodeXmlStringHHHH, elem, val)
#define WritingStringNullableAttrInt(name, elem, val) \
WritingStringNullableAttr(name, AddInt, elem, val)
#define WritingStringNullableAttrUInt(name, elem, val) \
WritingStringNullableAttr(name, AddUInt, elem, val)
#define WritingStringNullableAttrInt64(name, elem, val) \
WritingStringNullableAttr(name, AddInt64, elem, val)
#define WritingStringNullableAttrDouble(name, elem, val) \
if(elem.IsInit()) \
{ \
WritingStringAttrDouble(name, val) \
}
#define WritingStringNullableAttrBool(name, elem) \
WritingStringNullableAttrString(name, elem, elem->ToString3(SimpleTypes::onofftostring1))
#define WritingStringNullableAttrBool2(name, elem) \
WritingStringNullableAttrString(name, elem, *elem ? L"1": L"0")
#define WritingStringNullableAttrInt2(name, elem) \
WritingStringNullableAttrInt(name, elem, *elem)
#define WritingStringNullableAttrDouble2(name, elem) \
WritingStringNullableAttrDouble(name, elem, *elem)
#define WritingStringNullableAttrEncodeXmlString2(name, elem) \
WritingStringNullableAttrEncodeXmlString(name, elem, *elem)
#define WritingNullable(elem, action) \
if(elem.IsInit()) \
{ \
action \
}
const double c_ag_Inch_to_MM = 25.4;
const double c_ag_1pxWidth = 25.4 / 96;
class WritingElement : public OOX::WritingElement
{
public:
WritingElement(OOX::Document *pMain = NULL) : OOX::WritingElement(pMain) {}
virtual EElementType getType() const
{
return OOX::et_x_Unknown;
}
virtual void toXML(NSStringUtils::CStringBuilder& writer) const = 0;
};
template<typename ElemType = WritingElement>
class WritingElementWithChilds : public WritingElement
{
public:
WritingElementWithChilds(OOX::Document *pMain = NULL) : WritingElement(pMain) {}
virtual ~WritingElementWithChilds()
{
ClearItems();
}
virtual void ClearItems()
{
for ( size_t i = 0; i < m_arrItems.size(); ++i)
{
if ( m_arrItems[i] ) delete m_arrItems[i];
}
m_arrItems.clear();
}
std::vector<ElemType *> m_arrItems;
};
}
}
namespace XLSB
{
typedef enum CF_RECORD_TYPE
{
rt_RowHdr = 0,
rt_CellBlank = 1,
rt_CellRk = 2,
rt_CellError = 3,
rt_CellBool = 4,
rt_CellReal = 5,
rt_CellSt = 6,
rt_CellIsst = 7,
rt_FmlaString = 8,
rt_FmlaNum = 9,
rt_FmlaBool = 10,
rt_FmlaError = 11,
rt_SSTItem = 19,
rt_PCDIMissing = 20,
rt_PCDINumber = 21,
rt_PCDIBoolean = 22,
rt_PCDIError = 23,
rt_PCDIString = 24,
rt_PCDIDatetime = 25,
rt_PCDIIndex = 26,
rt_PCDIAMissing = 27,
rt_PCDIANumber = 28,
rt_PCDIABoolean = 29,
rt_PCDIAError = 30,
rt_PCDIAString = 31,
rt_PCDIADatetime = 32,
rt_PCRRecord = 33,
rt_PCRRecordDt = 34,
rt_FRTBegin = 35,
rt_FRTEnd = 36,
rt_ACBegin = 37,
rt_ACEnd = 38,
rt_Name = 39,
rt_IndexRowBlock = 40,
rt_IndexBlock = 42,
rt_Font = 43,
rt_Fmt = 44,
rt_Fill = 45,
rt_Border = 46,
rt_XF = 47,
rt_Style = 48,
rt_CellMeta = 49,
rt_ValueMeta = 50,
rt_Mdb = 51,
rt_BeginFmd = 52,
rt_EndFmd = 53,
rt_BeginMdx = 54,
rt_EndMdx = 55,
rt_BeginMdxTuple = 56,
rt_EndMdxTuple = 57,
rt_MdxMbrIstr = 58,
rt_Str = 59,
rt_ColInfo = 60,
rt_CellRString = 62,
rt_DVal = 64,
rt_SxvcellNum = 65,
rt_SxvcellStr = 66,
rt_SxvcellBool = 67,
rt_SxvcellErr = 68,
rt_SxvcellDate = 69,
rt_SxvcellNil = 70,
rt_FileVersion = 128,
rt_BeginSheet = 129,
rt_EndSheet = 130,
rt_BeginBook = 131,
rt_EndBook = 132,
rt_BeginWsViews = 133,
rt_EndWsViews = 134,
rt_BeginBookViews = 135,
rt_EndBookViews = 136,
rt_BeginWsView = 137,
rt_EndWsView = 138,
rt_BeginCsViews = 139,
rt_EndCsViews = 140,
rt_BeginCsView = 141,
rt_EndCsView = 142,
rt_BeginBundleShs = 143,
rt_EndBundleShs = 144,
rt_BeginSheetData = 145,
rt_EndSheetData = 146,
rt_WsProp = 147,
rt_WsDim = 148,
rt_Pane = 151,
rt_Sel = 152,
rt_WbProp = 153,
rt_WbFactoid = 154,
rt_FileRecover = 155,
rt_BundleSh = 156,
rt_CalcProp = 157,
rt_BookView = 158,
rt_BeginSst = 159,
rt_EndSst = 160,
rt_BeginAFilter = 161,
rt_EndAFilter = 162,
rt_BeginFilterColumn = 163,
rt_EndFilterColumn = 164,
rt_BeginFilters = 165,
rt_EndFilters = 166,
rt_Filter = 167,
rt_ColorFilter = 168,
rt_IconFilter = 169,
rt_Top10Filter = 170,
rt_DynamicFilter = 171,
rt_BeginCustomFilters = 172,
rt_EndCustomFilters = 173,
rt_CustomFilter = 174,
rt_AFilterDateGroupItem = 175,
rt_MergeCell = 176,
rt_BeginMergeCells = 177,
rt_EndMergeCells = 178,
rt_BeginPivotCacheDef = 179,
rt_EndPivotCacheDef = 180,
rt_BeginPCDFields = 181,
rt_EndPCDFields = 182,
rt_BeginPCDField = 183,
rt_EndPCDField = 184,
rt_BeginPCDSource = 185,
rt_EndPCDSource = 186,
rt_BeginPCDSRange = 187,
rt_EndPCDSRange = 188,
rt_BeginPCDFAtbl = 189,
rt_EndPCDFAtbl = 190,
rt_BeginPCDIRun = 191,
rt_EndPCDIRun = 192,
rt_BeginPivotCacheRecords = 193,
rt_EndPivotCacheRecords = 194,
rt_BeginPCDHierarchies = 195,
rt_EndPCDHierarchies = 196,
rt_BeginPCDHierarchy = 197,
rt_EndPCDHierarchy = 198,
rt_BeginPCDHFieldsUsage = 199,
rt_EndPCDHFieldsUsage = 200,
rt_BeginExtConnection = 201,
rt_EndExtConnection = 202,
rt_BeginECDbProps = 203,
rt_EndECDbProps = 204,
rt_BeginECOlapProps = 205,
rt_EndECOlapProps = 206,
rt_BeginPCDSConsol = 207,
rt_EndPCDSConsol = 208,
rt_BeginPCDSCPages = 209,
rt_EndPCDSCPages = 210,
rt_BeginPCDSCPage = 211,
rt_EndPCDSCPage = 212,
rt_BeginPCDSCPItem = 213,
rt_EndPCDSCPItem = 214,
rt_BeginPCDSCSets = 215,
rt_EndPCDSCSets = 216,
rt_BeginPCDSCSet = 217,
rt_EndPCDSCSet = 218,
rt_BeginPCDFGroup = 219,
rt_EndPCDFGroup = 220,
rt_BeginPCDFGItems = 221,
rt_EndPCDFGItems = 222,
rt_BeginPCDFGRange = 223,
rt_EndPCDFGRange = 224,
rt_BeginPCDFGDiscrete = 225,
rt_EndPCDFGDiscrete = 226,
rt_BeginPCDSDTupleCache = 227,
rt_EndPCDSDTupleCache = 228,
rt_BeginPCDSDTCEntries = 229,
rt_EndPCDSDTCEntries = 230,
rt_BeginPCDSDTCEMembers = 231,
rt_EndPCDSDTCEMembers = 232,
rt_BeginPCDSDTCEMember = 233,
rt_EndPCDSDTCEMember = 234,
rt_EndPcdsdtceMember = 234,
rt_BeginPCDSDTCQueries = 235,
rt_EndPCDSDTCQueries = 236,
rt_BeginPCDSDTCQuery = 237,
rt_EndPCDSDTCQuery = 238,
rt_BeginPCDSDTCSets = 239,
rt_EndPCDSDTCSets = 240,
rt_BeginPCDSDTCSet = 241,
rt_EndPCDSDTCSet = 242,
rt_BeginPCDCalcItems = 243,
rt_EndPCDCalcItems = 244,
rt_BeginPCDCalcItem = 245,
rt_EndPCDCalcItem = 246,
rt_BeginPRule = 247,
rt_EndPRule = 248,
rt_BeginPRFilters = 249,
rt_EndPRFilters = 250,
rt_BeginPRFilter = 251,
rt_EndPRFilter = 252,
rt_BeginPNames = 253,
rt_EndPNames = 254,
rt_BeginPName = 255,
rt_EndPName = 256,
rt_BeginPNPairs = 257,
rt_EndPNPairs = 258,
rt_BeginPNPair = 259,
rt_EndPNPair = 260,
rt_BeginECWebProps = 261,
rt_EndECWebProps = 262,
rt_BeginEcWpTables = 263,
rt_EndECWPTables = 264,
rt_BeginECParams = 265,
rt_EndECParams = 266,
rt_BeginECParam = 267,
rt_EndECParam = 268,
rt_BeginPCDKPIs = 269,
rt_EndPCDKPIs = 270,
rt_BeginPCDKPI = 271,
rt_EndPCDKPI = 272,
rt_BeginDims = 273,
rt_EndDims = 274,
rt_BeginDim = 275,
rt_EndDim = 276,
rt_IndexPart_End = 277,
rt_BeginStyleSheet = 278,
rt_EndStyleSheet = 279,
rt_BeginSXView = 280,
rt_EndSXVI = 281,
rt_BeginSXVI = 282,
rt_BeginSXVIs = 283,
rt_EndSXVIs = 284,
rt_BeginSXVD = 285,
rt_EndSXVD = 286,
rt_BeginSXVDs = 287,
rt_EndSXVDs = 288,
rt_BeginSXPI = 289,
rt_EndSXPI = 290,
rt_BeginSXPIs = 291,
rt_EndSXPIs = 292,
rt_BeginSXDI = 293,
rt_EndSXDI = 294,
rt_BeginSXDIs = 295,
rt_EndSXDIs = 296,
rt_BeginSXLI = 297,
rt_EndSXLI = 298,
rt_BeginSXLIRws = 299,
rt_EndSXLIRws = 300,
rt_BeginSXLICols = 301,
rt_EndSXLICols = 302,
rt_BeginSXFormat = 303,
rt_EndSXFormat = 304,
rt_BeginSXFormats = 305,
rt_EndSXFormats = 306,
rt_BeginSXSelect = 307,
rt_EndSXSelect = 308,
rt_BeginISXVDRws = 309,
rt_EndISXVDRws = 310,
rt_BeginISXVDCols = 311,
rt_EndISXVDCols = 312,
rt_EndSXLocation = 313,
rt_BeginSXLocation = 314,
rt_EndSXView = 315,
rt_BeginSXTHs = 316,
rt_EndSXTHs = 317,
rt_BeginSXTH = 318,
rt_EndSXTH = 319,
rt_BeginISXTHRws = 320,
rt_EndISXTHRws = 321,
rt_BeginISXTHCols = 322,
rt_EndISXTHCols = 323,
rt_BeginSXTDMPs = 324,
rt_EndSXTDMPs = 325,
rt_BeginSXTDMP = 326,
rt_EndSXTDMP = 327,
rt_BeginSXTHItems = 328,
rt_EndSXTHItems = 329,
rt_BeginSXTHItem = 330,
rt_EndSXTHItem = 331,
rt_BeginMetadata = 332,
rt_EndMetadata = 333,
rt_BeginEsmdtinfo = 334,
rt_Mdtinfo = 335,
rt_EndEsmdtinfo = 336,
rt_BeginEsmdb = 337,
rt_EndEsmdb = 338,
rt_BeginEsfmd = 339,
rt_EndEsfmd = 340,
rt_BeginSingleCells = 341,
rt_EndSingleCells = 342,
rt_BeginList = 343,
rt_EndList = 344,
rt_BeginListCols = 345,
rt_EndListCols = 346,
rt_BeginListCol = 347,
rt_EndListCol = 348,
rt_BeginListXmlCPr = 349,
rt_EndListXmlCPr = 350,
rt_ListCCFmla = 351,
rt_ListTrFmla = 352,
rt_BeginExternals = 353,
rt_EndExternals = 354,
rt_SupBookSrc = 355,
rt_SupSelf = 357,
rt_SupSame = 358,
rt_SupTabs = 359,
rt_BeginSupBook = 360,
rt_PlaceholderName = 361,
rt_ExternSheet = 362,
rt_ExternTableStart = 363,
rt_ExternTableEnd = 364,
rt_ExternRowHdr = 366,
rt_ExternCellBlank = 367,
rt_ExternCellReal = 368,
rt_ExternCellBool = 369,
rt_ExternCellError = 370,
rt_ExternCellString = 371,
rt_BeginEsmdx = 372,
rt_EndEsmdx = 373,
rt_BeginMdxSet = 374,
rt_EndMdxSet = 375,
rt_BeginMdxMbrProp = 376,
rt_EndMdxMbrProp = 377,
rt_BeginMdxKpi = 378,
rt_EndMdxKpi = 379,
rt_BeginEsstr = 380,
rt_EndEsstr = 381,
rt_BeginPRFItem = 382,
rt_EndPRFItem = 383,
rt_BeginPivotCacheIDs = 384,
rt_EndPivotCacheIDs = 385,
rt_BeginPivotCacheID = 386,
rt_EndPivotCacheID = 387,
rt_BeginISXVIs = 388,
rt_EndISXVIs = 389,
rt_BeginColInfos = 390,
rt_EndColInfos = 391,
rt_BeginRwBrk = 392,
rt_EndRwBrk = 393,
rt_BeginColBrk = 394,
rt_EndColBrk = 395,
rt_Brk = 396,
rt_UserBookView = 397,
rt_Info = 398,
rt_CUsr = 399,
rt_Usr = 400,
rt_BeginUsers = 401,
rt_Eof = 403,
rt_Ucr = 404,
rt_RrInsDel = 405,
rt_RrEndInsDel = 406,
rt_RrMove = 407,
rt_RrEndMove = 408,
rt_RrChgCell = 409,
rt_RrEndChgCell = 410,
rt_RrHeader = 411,
rt_RrUserView = 412,
rt_RrRenSheet = 413,
rt_RrInsert_Sh = 414,
rt_RrDefName = 415,
rt_RrNote = 416,
rt_RrConflict = 417,
rt_Rrt_qsif = 418,
rt_RrFormat = 419,
rt_RrEndFormat = 420,
rt_RrAutoFmt = 421,
rt_BeginUserShViews = 422,
rt_BeginUserShView = 423,
rt_EndUserShView = 424,
rt_EndUserShViews = 425,
rt_ArrFmla = 426,
rt_ShrFmla = 427,
rt_Table = 428,
rt_BeginExtConnections = 429,
rt_EndExtConnections = 430,
rt_BeginPCDCalcMems = 431,
rt_EndPCDCalcMems = 432,
rt_BeginPCDCalcMem = 433,
rt_EndPCDCalcMem = 434,
rt_BeginPCDHGLevels = 435,
rt_EndPCDHGLevels = 436,
rt_BeginPCDHGLevel = 437,
rt_EndPCDHGLevel = 438,
rt_BeginPCDHGLGroups = 439,
rt_EndPCDHGLGroups = 440,
rt_BeginPCDHGLGroup = 441,
rt_EndPCDHGLGroup = 442,
rt_BeginPCDHGLGMembers = 443,
rt_EndPCDHGLGMembers = 444,
rt_BeginPCDHGLGMember = 445,
rt_EndPCDHGLGMember = 446,
rt_BeginQSI = 447,
rt_EndQSI = 448,
rt_BeginQSIR = 449,
rt_EndQSIR = 450,
rt_BeginDeletedNames = 451,
rt_EndDeletedNames = 452,
rt_BeginDeletedName = 453,
rt_EndDeletedName = 454,
rt_BeginQSIFs = 455,
rt_EndQSIFs = 456,
rt_BeginQSIF = 457,
rt_EndQSIF = 458,
rt_BeginAutoSortScope = 459,
rt_EndAutoSortScope = 460,
rt_BeginConditionalFormatting = 461,
rt_EndConditionalFormatting = 462,
rt_BeginCFRule = 463,
rt_EndCFRule = 464,
rt_BeginIconSet = 465,
rt_EndIconSet = 466,
rt_BeginDatabar = 467,
rt_EndDatabar = 468,
rt_BeginColorScale = 469,
rt_EndColorScale = 470,
rt_CFVO = 471,
rt_ExternValueMeta = 472,
rt_BeginColorPalette = 473,
rt_EndColorPalette = 474,
rt_IndexedColor = 475,
rt_Margins = 476,
rt_PrintOptions = 477,
rt_PageSetup = 478,
rt_BeginHeaderFooter = 479,
rt_EndHeaderFooter = 480,
rt_BeginSXCrtFormat = 481,
rt_EndSXCrtFormat = 482,
rt_BeginSXCrtFormats = 483,
rt_EndSXCrtFormats = 484,
rt_WsFmtInfo = 485,
rt_BeginMGs = 486,
rt_EndMGs = 487,
rt_BeginMGMaps = 488,
rt_EndMGMaps = 489,
rt_BeginMG = 490,
rt_EndMG = 491,
rt_BeginMap = 492,
rt_EndMap = 493,
rt_HLink = 494,
rt_BeginDCon = 495,
rt_EndDCon = 496,
rt_BeginDRefs = 497,
rt_EndDRefs = 498,
rt_DRef = 499,
rt_BeginScenMan = 500,
rt_EndScenMan = 501,
rt_BeginSct = 502,
rt_EndSct = 503,
rt_Slc = 504,
rt_BeginDXFs = 505,
rt_EndDXFs = 506,
rt_DXF = 507,
rt_BeginTableStyles = 508,
rt_EndTableStyles = 509,
rt_BeginTableStyle = 510,
rt_EndTableStyle = 511,
rt_TableStyleElement = 512,
rt_TableStyleClient = 513,
rt_BeginVolDeps = 514,
rt_EndVolDeps = 515,
rt_BeginVolType = 516,
rt_EndVolType = 517,
rt_BeginVolMain = 518,
rt_EndVolMain = 519,
rt_BeginVolTopic = 520,
rt_EndVolTopic = 521,
rt_VolSubtopic = 522,
rt_VolRef = 523,
rt_VolNum = 524,
rt_VolErr = 525,
rt_VolStr = 526,
rt_VolBool = 527,
rt_BeginSortState = 530,
rt_EndSortState = 531,
rt_BeginSortCond = 532,
rt_EndSortCond = 533,
rt_BookProtection = 534,
rt_SheetProtection = 535,
rt_RangeProtection = 536,
rt_PhoneticInfo = 537,
rt_BeginECTxtWiz = 538,
rt_EndECTxtWiz = 539,
rt_BeginECTWFldInfoLst = 540,
rt_EndECTWFldInfoLst = 541,
rt_BeginECTwFldInfo = 542,
rt_FileSharing = 548,
rt_OleSize = 549,
rt_Drawing = 550,
rt_LegacyDrawing = 551,
rt_LegacyDrawingHF = 552,
rt_WebOpt = 553,
rt_BeginWebPubItems = 554,
rt_EndWebPubItems = 555,
rt_BeginWebPubItem = 556,
rt_EndWebPubItem = 557,
rt_BeginSXCondFmt = 558,
rt_EndSXCondFmt = 559,
rt_BeginSXCondFmts = 560,
rt_EndSXCondFmts = 561,
rt_BkHim = 562,
rt_Color = 564,
rt_BeginIndexedColors = 565,
rt_EndIndexedColors = 566,
rt_BeginMRUColors = 569,
rt_EndMRUColors = 570,
rt_MRUColor = 572,
rt_BeginDVals = 573,
rt_EndDVals = 574,
rt_SupNameStart = 577,
rt_SupNameValueStart = 578,
rt_SupNameValueEnd = 579,
rt_SupNameNum = 580,
rt_SupNameErr = 581,
rt_SupNameSt = 582,
rt_SupNameNil = 583,
rt_SupNameBool = 584,
rt_SupNameFmla = 585,
rt_SupNameBits = 586,
rt_SupNameEnd = 587,
rt_EndSupBook = 588,
rt_CellSmart_TagPropert_y = 589,
rt_BeginCellSmart_Tag = 590,
rt_EndCellSmart_Tag = 591,
rt_BeginCellSmart_Tags = 592,
rt_EndCellSmart_Tags = 593,
rt_BeginSmart_Tags = 594,
rt_EndSmart_Tags = 595,
rt_Smart_TagType = 596,
rt_BeginSmart_TagTypes = 597,
rt_EndSmart_TagTypes = 598,
rt_BeginSXFilters = 599,
rt_EndSXFilters = 600,
rt_BeginSXFilter = 601,
rt_EndSXFilter = 602,
rt_BeginFills = 603,
rt_EndFills = 604,
rt_BeginCellWatches = 605,
rt_EndCellWatches = 606,
rt_CellWatch = 607,
rt_BeginCrErrs = 608,
rt_EndCrErrs = 609,
rt_CrashRecErr = 610,
rt_BeginFonts = 611,
rt_EndFonts = 612,
rt_BeginBorders = 613,
rt_EndBorders = 614,
rt_BeginFmts = 615,
rt_EndFmts = 616,
rt_BeginCellXFs = 617,
rt_EndCellXFs = 618,
rt_BeginStyles = 619,
rt_EndStyles = 620,
rt_BigName = 625,
rt_BeginCellStyleXFs = 626,
rt_EndCellStyleXFs = 627,
rt_BeginComments = 628,
rt_EndComments = 629,
rt_BeginCommentAuthors = 630,
rt_EndCommentAuthors = 631,
rt_CommentAuthor = 632,
rt_BeginCommentList = 633,
rt_EndCommentList = 634,
rt_BeginComment = 635,
rt_EndComment = 636,
rt_CommentText = 637,
rt_BeginOleObjects = 638,
rt_OleObject = 639,
rt_EndOleObjects = 640,
rt_BeginSXRules = 641,
rt_EndSXRules = 642,
rt_BeginActiveXControls = 643,
rt_ActiveX = 644,
rt_EndActiveXControls = 645,
rt_BeginPCDSDTCEMembersSortBy = 646,
rt_BeginCellIgnoreEcs = 648,
rt_CellIgnoreEc = 649,
rt_EndCellIgnoreEcs = 650,
rt_CsProp = 651,
rt_CsPageSetup = 652,
rt_BeginUserCsViews = 653,
rt_EndUserCsViews = 654,
rt_BeginUserCsView = 655,
rt_EndUserCsView = 656,
rt_BeginPCDSFCIEntries = 657,
rt_EndPCDSFCIEntries = 658,
rt_PCDSFCIEntry = 659,
rt_BeginListParts = 660,
rt_ListPart = 661,
rt_EndListParts = 662,
rt_SheetCalcProp = 663,
rt_BeginFnGroup = 664,
rt_FnGroup = 665,
rt_EndFnGroup = 666,
rt_SupAddin = 667,
rt_SXTDMPOrder = 668,
rt_CsProtection = 669,
rt_BeginWsSortMap = 671,
rt_EndWsSortMap = 672,
rt_BeginRrSort = 673,
rt_EndRrSort = 674,
rt_RrSortItem = 675,
rt_FileSharingIso = 676,
rt_BookProtectionIso = 677,
rt_SheetProtectionIso = 678,
rt_CsProtectionIso = 679,
rt_RangeProtectionIso = 680,
rt_DValList = 681,
rt_RwDescent = 1024,
rt_KnownFonts = 1025,
rt_BeginSXTupleSet = 1026,
rt_EndSXTupleSet = 1027,
rt_BeginSXTupleSetHeader = 1028,
rt_EndSXTupleSetHeader = 1029,
rt_SXTupleSetHeaderItem = 1030,
rt_BeginSXTupleSetData = 1031,
rt_EndSXTupleSetData = 1032,
rt_BeginSXTupleSetRow = 1033,
rt_EndSXTupleSetRow = 1034,
rt_SXTupleSetRowItem = 1035,
rt_NameExt = 1036,
rt_PCDH14 = 1037,
rt_BeginPCDCalcMem14 = 1038,
rt_EndPCDCalcMem14 = 1039,
rt_SXTH14 = 1040,
rt_BeginSparklineGroup = 1041,
rt_EndSparklineGroup = 1042,
rt_Sparkline = 1043,
rt_SXDI14 = 1044,
rt_WsFmtInfoEx14 = 1045,
rt_BeginConditionalFormatting14 = 1046,
rt_EndConditionalFormatting14 = 1047,
rt_BeginCFRule14 = 1048,
rt_EndCFRule14 = 1049,
rt_CFVO14 = 1050,
rt_BeginDatabar14 = 1051,
rt_BeginIconSet14 = 1052,
rt_DVal14 = 1053,
rt_BeginDVals14 = 1054,
rt_Color14 = 1055,
rt_BeginSparklines = 1056,
rt_EndSparklines = 1057,
rt_BeginSparklineGroups = 1058,
rt_EndSparklineGroups = 1059,
rt_SXVD14 = 1061,
rt_BeginSXView14 = 1062,
rt_EndSXView14 = 1063,
rt_BeginSXView16 = 1064,
rt_EndSXView16 = 1065,
rt_BeginPCD14 = 1066,
rt_EndPCD14 = 1067,
rt_BeginExtConn14 = 1068,
rt_EndExtConn14 = 1069,
rt_BeginSlicerCacheIDs = 1070,
rt_EndSlicerCacheIDs = 1071,
rt_BeginSlicerCacheID = 1072,
rt_EndSlicerCacheID = 1073,
rt_BeginSlicerCache = 1075,
rt_EndSlicerCache = 1076,
rt_BeginSlicerCacheDef = 1077,
rt_EndSlicerCacheDef = 1078,
rt_BeginSlicersEx = 1079,
rt_EndSlicersEx = 1080,
rt_BeginSlicerEx = 1081,
rt_EndSlicerEx = 1082,
rt_BeginSlicer = 1083,
rt_EndSlicer = 1084,
rt_SlicerCachePivotTables = 1085,
rt_BeginSlicerCacheOlapImpl = 1086,
rt_EndSlicerCacheOlapImpl = 1087,
rt_BeginSlicerCacheLevelsData = 1088,
rt_EndSlicerCacheLevelsData = 1089,
rt_BeginSlicerCacheLevelData = 1090,
rt_EndSlicerCacheLevelData = 1091,
rt_BeginSlicerCacheSiRanges = 1092,
rt_EndSlicerCacheSiRanges = 1093,
rt_BeginSlicerCacheSiRange = 1094,
rt_EndSlicerCacheSiRange = 1095,
rt_SlicerCacheOlapItem = 1096,
rt_BeginSlicerCacheSelections = 1097,
rt_SlicerCacheSelection = 1098,
rt_EndSlicerCacheSelections = 1099,
rt_BeginSlicerCacheNative = 1100,
rt_EndSlicerCacheNative = 1101,
rt_SlicerCacheNativeItem = 1102,
rt_RangeProtection14 = 1103,
rt_RangeProtectionIso14 = 1104,
rt_CellIgnoreEc14 = 1105,
rt_List14 = 1111,
rt_CFIcon = 1112,
rt_BeginSlicerCachesPivotCacheIDs = 1113,
rt_EndSlicerCachesPivotCacheIDs = 1114,
rt_BeginSlicers = 1115,
rt_EndSlicers = 1116,
rt_WbProp14 = 1117,
rt_BeginSXEdit = 1118,
rt_EndSXEdit = 1119,
rt_BeginSXEdits = 1120,
rt_EndSXEdits = 1121,
rt_BeginSXChange = 1122,
rt_EndSXChange = 1123,
rt_BeginSXChanges = 1124,
rt_EndSXChanges = 1125,
rt_SXTupleItems = 1126,
rt_BeginSlicerStyle = 1128,
rt_EndSlicerStyle = 1129,
rt_SlicerStyleElement = 1130,
rt_BeginStyleSheetExt14 = 1131,
rt_EndStyleSheetExt14 = 1132,
rt_BeginSlicerCachesPivotCacheID = 1133,
rt_EndSlicerCachesPivotCacheID = 1134,
rt_BeginConditionalFormattings = 1135,
rt_EndConditionalFormattings = 1136,
rt_BeginPCDCalcMemExt = 1137,
rt_EndPCDCalcMemExt = 1138,
rt_BeginPCDCalcMemsExt = 1139,
rt_EndPCDCalcMemsExt = 1140,
rt_PCDField14 = 1141,
rt_BeginSlicerStyles = 1142,
rt_EndSlicerStyles = 1143,
rt_BeginSlicerStyleElements = 1144,
rt_EndSlicerStyleElements = 1145,
rt_CFRuleExt = 1146,
rt_BeginSXCondFmt14 = 1147,
rt_EndSXCondFmt14 = 1148,
rt_BeginSXCondFmts14 = 1149,
rt_EndSXCondFmts14 = 1150,
rt_BeginSortCond14 = 1152,
rt_EndSortCond14 = 1153,
rt_EndDVals14 = 1154,
rt_EndIconSet14 = 1155,
rt_EndDatabar14 = 1156,
rt_BeginColorScale14 = 1157,
rt_EndColorScale14 = 1158,
rt_BeginSXRules14 = 1159,
rt_EndSXRules14 = 1160,
rt_BeginPRule14 = 1161,
rt_EndPRule14 = 1162,
rt_BeginPRFilters14 = 1163,
rt_EndPRFilters14 = 1164,
rt_BeginPRFilter14 = 1165,
rt_EndPRFilter14 = 1166,
rt_BeginPRFItem14 = 1167,
rt_EndPRFItem14 = 1168,
rt_BeginCellIgnoreEcs14 = 1169,
rt_EndCellIgnoreEcs14 = 1170,
rt_DXF14 = 1171,
rt_BeginDXF14s = 1172,
rt_EndDXF14s = 1173,
rt_Filter14 = 1177,
rt_BeginCustomFilters14 = 1178,
rt_CustomFilter14 = 1180,
rt_IconFilter14 = 1181,
rt_PivotCacheConnectionName = 1182,
rt_BeginPivotTableRefs = 2051,
rt_EndPivotTableRefs = 2052,
rt_PivotTableRef = 2053,
rt_SlicerCacheBookPivotTables = 2054,
rt_BeginSxvcells = 2055,
rt_EndSxvcells = 2056,
rt_BeginSxRow = 2057,
rt_EndSxRow = 2058,
rt_PCDCalcMem15 = 2060,
rt_Qsi15 = 2067,
rt_BeginWebExtensions = 2068,
rt_EndWebExtensions = 2069,
rt_WebExtension = 2070,
rt_AbsPath15 = 2071,
rt_BeginPivotTableUISettings = 2072,
rt_EndPivotTableUISettings = 2073,
rt_TableSlicerCacheIDs = 2075,
rt_TableSlicerCacheID = 2076,
rt_BeginTableSlicerCache = 2077,
rt_EndTableSlicerCache = 2078,
rt_SxFilter15 = 2079,
rt_BeginTimelineCachePivotCacheIds = 2080,
rt_EndTimelineCachePivotCacheIds = 2081,
rt_EndTimelineCacheIds = 2084,
rt_BeginTimelineCacheId = 2085,
rt_EndTimelineCacheId = 2086,
rt_BeginTimelinesEx = 2087,
rt_EndTimelinesEx = 2088,
rt_BeginTimelineEx = 2089,
rt_EndTimelineEx = 2090,
rt_WorkBookPr15 = 2091,
rt_PCDH15 = 2092,
rt_BeginTimelineStyle = 2093,
rt_EndTimelineStyle = 2094,
rt_TimelineStyleElement = 2095,
rt_BeginTimelineStyleSheetExt15 = 2096,
rt_EndTimelineStyleSheetExt15 = 2097,
rt_BeginTimelineStyles = 2098,
rt_EndTimelineStyles = 2099,
rt_BeginTimelineStyleElements = 2100,
rt_EndTimelineStyleElements = 2101,
rt_DXF15 = 2102,
rt_BeginDXFs15 = 2103,
rt_EndDXFs15 = 2104,
rt_SlicerCacheHideItemsWithNoData = 2105,
rt_BeginItemUniqueNames = 2106,
rt_EndItemUniqueNames = 2107,
rt_ItemUniqueName = 2108,
rt_BeginExtConn15 = 2109,
rt_EndExtConn15 = 2110,
rt_BeginOledbPr15 = 2111,
rt_EndOledbPr15 = 2112,
rt_BeginDataFeedPr15 = 2113,
rt_EndDataFeedPr15 = 2114,
rt_TextPr15 = 2115,
rt_RangePr15 = 2116,
rt_DbCommand15 = 2117,
rt_BeginDbTables15 = 2118,
rt_EndDbTables15 = 2119,
rt_DbTable15 = 2120,
rt_BeginDataModel = 2121,
rt_EndDataModel = 2122,
rt_BeginModelTables = 2123,
rt_EndModelTables = 2124,
rt_ModelTable = 2125,
rt_EndModelRelationships = 2127,
rt_ModelRelationship = 2128,
rt_BeginECTxtWiz15 = 2129,
rt_EndECTxtWiz15 = 2130,
rt_BeginECTWFldInfoLst15 = 2131,
rt_EndECTWFldInfoLst15 = 2132,
rt_BeginECTwFldInfo15 = 2133,
rt_FieldListActiveItem = 2134,
rt_PivotCacheIdVersion = 2135,
rt_SXDI15 = 2136,
rt_Uid = 3072,
rt_RevisionPtr = 3073,
rt_BeginRichValueBlock = 5002,
rt_EndRichValueBlock = 5003,
rt_BeginDynamicArrayPr = 4096,
rt_EndDynamicArrayPr = 4097,
rt_BeginRichFilters = 5081,
rt_EndRichFilters = 5082,
rt_RichFilter = 5083,
rt_BeginRichFilterColumn = 5084,
rt_EndRichFilterColumn = 5085,
rt_BeginCustomRichFilters = 5086,
rt_EndCustomRichFilters = 5087,
rt_CustomRichFilter = 5088,
rt_Top10RichFilter = 5089,
rt_DynamicRichFilter = 5090,
rt_BeginRichSortCondition = 5092,
rt_EndRichSortCondition = 5093,
rt_RichFilterDateGroupItem = 5094,
rt_Unknown = 0xffff
} RecordType;
}