⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qexport4xlscommon.pas

📁 Advanced.Export.Component.v4.01.rar,delphi 第三方控件
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit QExport4XLSCommon;

interface

uses SysUtils;

type
  ExlsFileError = class(Exception);

const
  MAX_COL_COUNT          = 255;
  MAX_ROW_COUNT          = 65535; {zero based}
  MAX_SHEET_COUNT        = 250;
  //------

  MAX_RECORD_DATA_SIZE   = 8224;
  DEF_COL_WIDTH          = 8;
  DEF_ROW_HEIGHT         = 12.75;
  DEFAULT_FORMAT         = 15;
  DEFAULT_TEXT_FORMAT    = 'General';

  //------

  BIFF_BOF_VER           = $0600;

  //------

  BIFF_BOF_GLOBALS       = $0005;
  BIFF_BOF_WORKSHEET     = $0010;
  BIFF_BOF_CHART         = $0020;

  //------

  BIFF_FORMULA           = $0006;
  BIFF_EOF               = $000A;
  BIFF_CALCCOUNT         = $000C;
  BIFF_CALCMODE          = $000D;
  BIFF_PRECISION         = $000E;
  BIFF_REFMODE           = $000F;
  BIFF_DELTA             = $0010;
  BIFF_ITERATION         = $0011;
  BIFF_PROTECT           = $0012;
  BIFF_PASSWORD          = $0013;
  BIFF_HEADER            = $0014;
  BIFF_FOOTER            = $0015;
  BIFF_EXTERNSHEET       = $0017;
  BIFF_NAME              = $0018;
  BIFF_WINDOWPROTECT     = $0019;
  BIFF_NOTE              = $001C;
  BIFF_SELECTION         = $001D;
  BIFF_1904              = $0022;
  BIFF_PRINTHEADERS      = $002A;
  BIFF_PRINTGRIDLINES    = $002B;
  BIFF_FONT              = $0031;
  BIFF_CONTINUE          = $003C;
  BIFF_WINDOW1           = $003D;
  BIFF_BACKUP            = $0040;
  BIFF_CODEPAGE          = $0042;
  BIFF_DEFCOLWIDTH       = $0055;
  BIFF_WRITEACCESS       = $005C;
  BIFF_OBJ               = $005D;
  BIFF_SAVERECALC        = $005F;
  BIFF_COLINFO           = $007D;
  BIFF_GUTS              = $0080;
  BIFF_WSBOOL            = $0081;
  BIFF_GRIDSET           = $0082;
  BIFF_HCENTER           = $0083;
  BIFF_VCENTER           = $0084;
  BIFF_BOUNDSHEET        = $0085;
  BIFF_COUNTRY           = $008C;
  BIFF_HIDEOBJ           = $008D;
  BIFF_PALETTE           = $0092;
  BIFF_FNGROUPCOUNT      = $009C;
  BIFF_SCL               = $00A0;
  BIFF_SETUP             = $00A1;
  BIFF_MULRK             = $00BD;
  BIFF_MULBLANK          = $00BE;
  BIFF_BOOKBOOL          = $00DA;
  BIFF_XF                = $00E0;
  BIFF_MERGEDCELLS       = $00E5;
  BIFF_BITMAP            = $00E9;
  BIFF_MSODRAWINGGROUP   = $00EB;
  BIFF_MSODRAWING        = $00EC;
  BIFF_SST               = $00FC;
  BIFF_LABELSST          = $00FD;
  BIFF_DSF               = $0161;
  BIFF_SUPBOOK           = $01AE;
  BIFF_PROT4REV          = $01AF;
  BIFF_TXO               = $01B6;
  BIFF_REFRESHALL        = $01B7;
  BIFF_HLINK             = $01B8;
  BIFF_PROT4REVPASS      = $01BC;

  BIFF_DIMENSIONS        = $0200;
  BIFF_BLANK             = $0201;
  BIFF_NUMBER            = $0203;
  BIFF_BOOLERR           = $0205;
  BIFF_STRING            = $0207;
  BIFF_DEFAULTROWHEIGHT  = $0225;
  BIFF_WINDOW2           = $023E;
  BIFF_RK                = $027E;
  BIFF_STYLE             = $0293;
  
  BIFF_FORMAT            = $041E;
  BIFF_SHRFMLA           = $04BC;

  BIFF_QUICKTIP          = $0800;
  BIFF_BOF               = $0809;

  CHART_UNITS            = $1001;
  CHART_CHART            = $1002;
  CHART_SERIES           = $1003;
  CHART_DATAFORMAT       = $1006;
  CHART_LINEFORMAT       = $1007;
  CHART_AREAFORMAT       = $100A;
  CHART_SERIESTEXT       = $100D;
  CHART_CHARTFORMAT      = $1014;
  CHART_LEGEND           = $1015;
  CHART_BAR              = $1017;
  CHART_LINE             = $1018;
  CHART_PIE              = $1019;
  CHART_AREA             = $101A;
  CHART_AXIS             = $101D;
  CHART_TICK             = $101E;
  CHART_VALUERANGE       = $101F;
  CHART_CATSERRANGE      = $1020;
  CHART_AXISLINEFORMAT   = $1021;
  CHART_DEFAULTTEXT      = $1024;
  CHART_TEXT             = $1025;
  CHART_FONTX            = $1026;
  CHART_OBJECTLINK       = $1027;
  CHART_FRAME            = $1032;
  CHART_BEGIN            = $1033;
  CHART_END              = $1034;
  CHART_PLOTAREA         = $1035;
  CHART_3D               = $103A;
  CHART_RADAR            = $103E; 
  CHART_SURFACE          = $103F;
  CHART_RADARAREA        = $1040;
  CHART_AXISPARENT       = $1041;
  CHART_SHTPROPS         = $1044;
  CHART_SERTOCRT         = $1045;
  CHART_AXESUSED         = $1046;
  CHART_POS              = $104F;
  CHART_AI               = $1051;
  CHART_FBI              = $1060;
  CHART_AXCEXT           = $1062;
  CHART_PLOTGROWTH       = $1064;
  CHART_SIINDEX          = $1065; 

  //------

  BOOL_ERR_ID_NULL       = $00;
  BOOL_ERR_ID_DIV_ZERO   = $07;
  BOOL_ERR_ID_VALUE      = $0F;
  BOOL_ERR_ID_REF        = $17;
  BOOL_ERR_ID_NAME       = $1D;
  BOOL_ERR_ID_NUM        = $24;
  BOOL_ERR_ID_NA         = $2A;

  BOOL_ERR_STR_NULL      = '#NULL!';
  BOOL_ERR_STR_DIV_ZERO  = '#DIV/0!';
  BOOL_ERR_STR_VALUE     = '#VALUE!';
  BOOL_ERR_STR_REF       = '#REF!';
  BOOL_ERR_STR_NAME      = '#NAME?';
  BOOL_ERR_STR_NUM       = '#NUM!';
  BOOL_ERR_STR_NA        = '#N/A';

  GUID_OF_STD_LINK: array[1..16] of byte =
    ($D0, $C9, $EA, $79, $F9, $BA, $CE, $11,
     $8C, $82, $00, $AA, $00, $4B, $A9, $0B);

  HLINK_UNKNOWN_VALUE = $00000002;

  GUID_OF_URL_MONIKER: array[1..16] of byte =
    ($E0, $C9, $EA, $79, $F9, $BA, $CE, $11,
     $8C, $82, $00, $AA, $00, $4B, $A9, $0B);

  GUID_OF_FILE_MONIKER: array[1..16] of byte =
    ($03, $03, $00, $00, $00, $00, $00, $00,
     $C0, $00, $00, $00, $00, $00, $00, $46);

  UNKNOWN_SEQUENCE1: array[1..24] of byte =
    ($FF, $FF, $AD, $DE, $00, $00, $00, $00,
     $00, $00, $00, $00, $00, $00, $00, $00,
     $00, $00, $00, $00, $00, $00, $00, $00);

  UNKNOWN_SEQUENCE2: array[1..2] of byte =
    ($03, $00);

  MSO_DGGCONTAINER    = $F000;
  MSO_BSTORECONTAINER = $F001;
  MSO_DGCONTAINER     = $F002;
  MSO_SPGRCONTAINER   = $F003;
  MSO_SPCONTAINER     = $F004;
  MSO_DGG             = $F006;
  MSO_BSE             = $F007;
  MSO_DG              = $F008;
  MSO_SPGR            = $F009;
  MSO_SP              = $F00A;
  MSO_OPT             = $F00B;
  MSO_CLIENTTEXTBOX   = $F00D;
  MSO_CLIENTANCHOR    = $F010;
  MSO_CLIENTDATA      = $F011;
  MSO_BLIPSTART       = $F018;
  MSO_SPLITMENUCOLORS = $F11E;

  MSO_SPID     = $0401;

  msosptHostControl  = $C9;
  msosptTextBox      = $CA;
  msosptPictureFrame = $4B;

  OBJ_END      = $00;
  OBJ_CF       = $07;
  OBJ_PIOGRBIT = $08;
  OBJ_NTS      = $0D;
  OBJ_CMO      = $15;

  BLIP_DIB     = $07A8;
  BLIP_JPEG    = $046A;
  BLIP_PNG     = $06E0;
  BLIP_WMF     = $0216;
  BLIP_EMF     = $03D4;

type
  TBOOL_ERR_STRINGS = array[0..6] of WideString;

const
  BOOL_ERR_STRINGS: TBOOL_ERR_STRINGS =
    (BOOL_ERR_STR_NULL, BOOL_ERR_STR_DIV_ZERO, BOOL_ERR_STR_VALUE,
     BOOL_ERR_STR_REF, BOOL_ERR_STR_NAME, BOOL_ERR_STR_NUM, BOOL_ERR_STR_NA);

const
  ptgExp         = $01;
  ptgTbl         = $02;
  ptgAdd         = $03;
  ptgSub         = $04;
  ptgMul         = $05;
  ptgDiv         = $06;
  ptgPower       = $07;
  ptgConcat      = $08;
  ptgLT	         = $09;
  ptgLE	         = $0A;
  ptgEQ	         = $0B;
  ptgGE	         = $0C;
  ptgGT	         = $0D;
  ptgNE	         = $0E;
  ptgIsect       = $0F;
  ptgUnion       = $10;
  ptgRange       = $11;
  ptgUplus       = $12;
  ptgUminus      = $13;
  ptgPercent     = $14;
  ptgParen       = $15;
  ptgMissArg     = $16;
  ptgStr         = $17;
  ptgAttr        = $19;
  ptgSheet       = $1A;
  ptgEndSheet    = $1B;
  ptgErr         = $1C;
  ptgBool        = $1D;
  ptgInt         = $1E;
  ptgNum         = $1F;
  ptgArray       = $20;
  ptgFunc        = $21;
  ptgFuncVar     = $22;
  ptgName        = $23;
  ptgRef         = $24;
  ptgArea        = $25;
  ptgMemArea     = $26;
  ptgMemErr      = $27;
  ptgMemNoMem    = $28;
  ptgMemFunc     = $29;
  ptgRefErr      = $2A;
  ptgAreaErr     = $2B;
  ptgRefN        = $2C;
  ptgAreaN       = $2D;
  ptgMemAreaN    = $2E;
  ptgMemNoMemN   = $2F;
  ptgNameX       = $39;
  ptgRef3d       = $3A;
  ptgArea3d      = $3B;
  ptgRefErr3d    = $3C;
  ptgAreaErr3d   = $3D;
  ptgArrayV      = $40;
  ptgFuncV       = $41;
  ptgFuncVarV    = $42;
  ptgNameV       = $43;
  ptgRefV        = $44;
  ptgAreaV       = $45;
  ptgMemAreaV    = $46;
  ptgMemErrV     = $47;
  ptgMemNoMemV   = $48;
  ptgMemFuncV    = $49;
  ptgRefErrV     = $4A;
  ptgAreaErrV    = $4B;
  ptgRefNV       = $4C;
  ptgAreaNV      = $4D;
  ptgMemAreaNV   = $4E;
  ptgMemNoMemNV  = $4F;
  ptgFuncCEV     = $58;
  ptgNameXV      = $59;
  ptgRef3dV      = $5A;
  ptgArea3dV     = $5B;
  ptgRefErr3dV   = $5C;
  ptgAreaErr3dV  = $5D;
  ptgArrayA      = $60;
  ptgFuncA       = $61;
  ptgFuncVarA    = $62;
  ptgNameA       = $63;
  ptgRefA        = $64;
  ptgAreaA       = $65;
  ptgMemAreaA    = $66;
  ptgMemErrA     = $67;
  ptgMemNoMemA   = $68;
  ptgMemFuncA    = $69;
  ptgRefErrA     = $6A;
  ptgAreaErrA    = $6B;
  ptgRefNA       = $6C;
  ptgAreaNA      = $6D;
  ptgMemAreaNA   = $6E;
  ptgMemNoMemNA  = $6F;
  ptgFuncCEA     = $78;
  ptgNameXA      = $79;
  ptgRef3dA      = $7A;
  ptgArea3dA     = $7B;
  ptgRefErr3dA   = $7C;
  ptgAreaErr3dA  = $7D;

  tkArea3D       = [$3B, $5B, $7B];

  XLS_STANDARD_PALETTE: array[0..55] of integer =
    ($000000, $003399, $003333, $003300, $663300, $800000, $993333, $333333,
     $000080, $0066FF, $008080, $008000, $808000, $FF0000, $996666, $808080,
     $0000FF, $0099FF, $00CC99, $669933, $CCCC33, $FF6633, $800080, $969696,
     $FF00FF, $00CCFF, $00FFFF, $00FF00, $FFFF00, $FFCC00, $663399, $C0C0C0,
     $CC99FF, $99CCFF, $99FFFF, $CCFFCC, $FFFFCC, $FFCC99, $FF99CC, $FFFFFF,
     $FF9999, $663399, $CCFFFF, $FFFFCC, $660066, $8080FF, $CC6600, $FFCCCC,
     $800000, $FF00FF, $00FFFF, $FFFF00, $800080, $000080, $808000, $FF0000);

  XLS_COLOR_NAMES: array[0..55] of string =
    ('Black', 'Brown', 'Olive Green', 'Dark Green', 'Dark Teal', 'Dark Blue', 'Indigo', 'Gray-80%',
     'Dark Red', 'Orange', 'Dark Yellow', 'Green', 'Teal', 'Blue', 'Blue-Gray', 'Gray-50%',
     'Red', 'Light Orange', 'Lime', 'Sea Green', 'Aqua', 'Light Blue', 'Violet', 'Gray-40%',
     'Pink', 'Gold', 'Yellow', 'Bright Green', 'Turquoise', 'Sky Blue', 'Plum', 'Gray-25%',
     'Rose', 'Tan', 'Light Yellow', 'Liht Green', 'Light Turquoise', 'Pale Blue', 'Lavender', 'White',
     'Color1', 'Color2', 'Color3', 'Color4', 'Color5', 'Color6', 'Color7', 'Color8',
     'Color9', 'Color10', 'Color11', 'Color12', 'Color13', 'Color14', 'Color15', 'Color16');

  COLOR_INDEX:  array[0..55] of byte =
    ($08, $3C, $3B, $3A, $38, $12, $3E, $3F,
     $10, $35, $13, $11, $15, $0C, $36, $17,
     $0A, $34, $32, $39, $31, $30, $14, $37,
     $0E, $33, $0D, $0B, $0F, $28, $3D, $16,
     $2D, $2F, $2B, $2A, $29, $2C, $2E, $09,
     $18, $19, $1A, $1B, $1C, $1D, $1E, $1F,
     $20, $21, $22, $23, $24, $25, $26, $27);

  {PATTERN_NAMES: array[0..47] of WideString =
    ('5%', '10%', '20%', '25%', '30%', '40%',
     '50%', '60%', '70%', '75%', '80%', '90%',
     'Light downward diagonal', 'Light upward diagonal',
     'Dark downward diagonal', 'Dark upward diagonal',
     'Wide downward diagonal', 'Wide upward diagonal',
     'Light vertical', 'Light horizontal',
     'Narrow vertical', 'Narrow horizontal',
     'Dark vertical', 'Dark horizontal',
     'Dashed downward diagonal', 'Dashed upward diagonal',
     'Dashed horizontal', 'Dashed vertical',
     'Small confetti', 'Large confetti',
     'Zig zag', 'Wave', 'Diagonal brick', 'Horizontal brick', 'Weave', 'Plaid',
     'Divot', 'Dotted grid', 'Dotted diamond', 'Shingle', 'Trellis', 'Sphere',
     'Small grid', 'Large grid', 'Small checker board', 'Large checker board',
     'Outlined diamond', 'Solid diamond');}

LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

InternalNumberFormats: array[0..49] of WideString = (
'',
'0',
'0.00',
'#,##0',
'#,##0.00',
'_($#,##0_);($#,##0)',
'_($#,##0_);[Red]($#,##0)',
'_($#,##0.00_);($#,##0.00)',
'_($#,##0.00_);[Red]($#,##0.00)',
'0%',
'0.00%',
'0.00E+00',
'# ?/?',

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -