📄 excelfuncii2.pas
字号:
unit ExcelFuncII2;
{
********************************************************************************
******* XLSReadWriteII V2.00 *******
******* *******
******* Copyright(C) 1999,2004 Lars Arvidsson, Axolot Data *******
******* *******
******* email: components@axolot.com *******
******* URL: http://www.axolot.com *******
********************************************************************************
** Users of the XLSReadWriteII component must accept the following **
** disclaimer of warranty: **
** **
** XLSReadWriteII is supplied as is. The author disclaims all warranties, **
** expressedor implied, including, without limitation, the warranties of **
** merchantability and of fitness for any purpose. The author assumes no **
** liability for damages, direct or consequential, which may result from the **
** use of XLSReadWriteII. **
********************************************************************************
}
{$B-}
interface
type PPTGName7 = ^TPTGName7;
TPTGName7 = packed record
NameIndex: word;
Reserved: array[0..11] of byte;
end;
type PPTGName8 = ^TPTGName8;
TPTGName8 = packed record
NameIndex: word;
Reserved: word;
end;
type PPTGNameX7 = ^TPTGNameX7;
TPTGNameX7 = packed record
ExtSheet: word;
Reserved1: array[0..7] of byte;
NameIndex: word;
Reserved2: array[0..11] of byte;
end;
type PPTGNameX8 = ^TPTGNameX8;
TPTGNameX8 = packed record
ExtSheet: word;
NameIndex: word;
Reserved: word;
end;
type PPTGTbl = ^TPTGTbl;
TPTGTbl = packed record
Row: word;
Col: word;
end;
type PPTGRef7 = ^TPTGRef7;
TPTGRef7 = packed record
Row: word;
Col: byte;
end;
type PPTGRef8 = ^TPTGRef8;
TPTGRef8 = packed record
Row: word;
Col: word;
end;
type PPTGRef3d8 = ^TPTGRef3d8;
TPTGRef3d8 = packed record
Index: word;
Row: word;
Col: word;
end;
type PPTGArea3d8 = ^TPTGArea3d8;
TPTGArea3d8 = packed record
Index: word;
Row1,Row2: word;
Col1,Col2: word;
end;
type PPTGRef3d7 = ^TPTGRef3d7;
TPTGRef3d7 = packed record
Index: word;
Res: array[0..7] of byte;
IndexFirst: word;
IndexLast: word;
Row: word;
Col: byte;
end;
type PPTGArea3d7 = ^TPTGArea3d7;
TPTGArea3d7 = packed record
SheetIndex: word;
Res: array[0..7] of byte;
IndexFirst: word;
IndexLast: word;
Row1,Row2: word;
Col1,Col2: byte;
end;
type PPTGArea7 = ^TPTGArea7;
TPTGArea7 = packed record
Row1: word;
Row2: word;
Col1: byte;
Col2: byte;
end;
type PPTGArea8 = ^TPTGArea8;
TPTGArea8 = packed record
Row1: word;
Row2: word;
Col1: word;
Col2: word;
end;
type TArrayFloat = packed record
ID: byte;
Value: double;
end;
type TArrayString = packed record
ID: byte;
Len: word;
Data: array[0..65535] of byte;
end;
type PPTGArray = ^TPTGArray;
TPTGArray = packed record
Cols: byte;
Rows: word;
Data: array[0..255] of TArrayFloat;
end;
type TFunctionId = (fiCount,fiIf,fiIsNa,fiIsError,fiSum,fiAverage,fiMin,fiMax,
fiRow,fiColumn,fiNA,fiNPV,fiSTDEV,fiDollar,fiFixed,fiSin,
fiCos,fiTan,fiATan,fiPI,fiSqrt,fiExp,fiLN,fiLog10,fiAbs,fiInt,
fiSign,fiRound,fiLookup);
type TExcelFunctions = packed record
Min,Max: byte;
Name: WideString;
end;
type TExcelFunctionsArray = array[0..380] of TExcelFunctions;
// Min and Max = $FF; illegal function name.
const ExcelFunctions: TExcelFunctionsArray = (
{000} (Min: 01; Max: 99; Name: 'COUNT'),
{001} (Min: 02; Max: 03; Name: 'IF'),
{002} (Min: 01; Max: 01; Name: 'ISNA'),
{003} (Min: 01; Max: 01; Name: 'ISERROR'),
{004} (Min: 01; Max: 99; Name: 'SUM'),
{005} (Min: 01; Max: 99; Name: 'AVERAGE'),
{006} (Min: 01; Max: 99; Name: 'MIN'),
{007} (Min: 01; Max: 99; Name: 'MAX'),
{008} (Min: 00; Max: 01; Name: 'ROW'),
{009} (Min: 00; Max: 01; Name: 'COLUMN'),
{010} (Min: 01; Max: 01; Name: 'NA'),
{011} (Min: 01; Max: 99; Name: 'NPV'),
{012} (Min: 01; Max: 99; Name: 'STDEV'),
{013} (Min: 01; Max: 02; Name: 'DOLLAR'),
{014} (Min: 01; Max: 03; Name: 'FIXED'),
{015} (Min: 01; Max: 01; Name: 'SIN'),
{016} (Min: 01; Max: 01; Name: 'COS'),
{017} (Min: 01; Max: 01; Name: 'TAN'),
{018} (Min: 01; Max: 01; Name: 'ATAN'),
{019} (Min: 00; Max: 00; Name: 'PI'),
{020} (Min: 01; Max: 01; Name: 'SQRT'),
{021} (Min: 01; Max: 01; Name: 'EXP'),
{022} (Min: 01; Max: 01; Name: 'LN'),
{023} (Min: 01; Max: 01; Name: 'LOG10'),
{024} (Min: 01; Max: 01; Name: 'ABS'),
{025} (Min: 01; Max: 01; Name: 'INT'),
{026} (Min: 01; Max: 01; Name: 'SIGN'),
{027} (Min: 02; Max: 02; Name: 'ROUND'),
{028} (Min: 02; Max: 03; Name: 'LOOKUP'),
{029} (Min: 01; Max: 03; Name: 'INDEX'),
{030} (Min: 02; Max: 02; Name: 'REPT'),
{031} (Min: 01; Max: 03; Name: 'MID'),
{032} (Min: 01; Max: 01; Name: 'LEN'),
{033} (Min: 01; Max: 01; Name: 'VALUE'),
{034} (Min: 00; Max: 00; Name: 'TRUE'),
{035} (Min: 00; Max: 00; Name: 'FALSE'),
{036} (Min: 01; Max: 99; Name: 'AND'),
{037} (Min: 01; Max: 99; Name: 'OR'),
{038} (Min: 01; Max: 01; Name: 'NOT'),
{039} (Min: 02; Max: 02; Name: 'MOD'),
{040} (Min: 03; Max: 03; Name: 'DCOUNT'),
{041} (Min: 03; Max: 03; Name: 'DSUM'),
{042} (Min: 03; Max: 03; Name: 'DAVERAGE'),
{043} (Min: 03; Max: 03; Name: 'DMIN'),
{044} (Min: 03; Max: 03; Name: 'DMAX'),
{045} (Min: 03; Max: 03; Name: 'DSTDEV'),
{046} (Min: 01; Max: 99; Name: 'VAR'),
{047} (Min: 03; Max: 03; Name: 'DVAR'),
{048} (Min: 02; Max: 02; Name: 'TEXT'),
{049} (Min: 01; Max: 04; Name: 'LINEST'),
{050} (Min: 01; Max: 04; Name: 'TREND'),
{051} (Min: 01; Max: 04; Name: 'LOGEST'),
{052} (Min: 01; Max: 04; Name: 'GROWTH'),
{053} (Min: $FF; Max: $FF; Name: 'GOTO'),
{054} (Min: $FF; Max: $FF; Name: 'HALT'),
{055} (Min: $FF; Max: $FF; Name: 'RETURN'),
{056} (Min: 02; Max: 05; Name: 'PV'),
{057} (Min: 02; Max: 05; Name: 'FV'),
{058} (Min: 02; Max: 05; Name: 'NPER'),
{059} (Min: 03; Max: 05; Name: 'PMT'),
{060} (Min: 03; Max: 05; Name: 'RATE'),
{061} (Min: 03; Max: 03; Name: 'MIRR'),
{062} (Min: 01; Max: 02; Name: 'IRR'),
{063} (Min: 00; Max: 00; Name: 'RAND'),
{064} (Min: 02; Max: 03; Name: 'MATCH'),
{065} (Min: 03; Max: 03; Name: 'DATE'),
{066} (Min: 03; Max: 03; Name: 'TIME'),
{067} (Min: 01; Max: 01; Name: 'DAY'),
{068} (Min: 01; Max: 01; Name: 'MONTH'),
{069} (Min: 01; Max: 01; Name: 'YEAR'),
{070} (Min: 01; Max: 02; Name: 'WEEKDAY'),
{071} (Min: 01; Max: 01; Name: 'HOUR'),
{072} (Min: 01; Max: 01; Name: 'MINUTE'),
{073} (Min: 01; Max: 01; Name: 'SECOND'),
{074} (Min: 00; Max: 00; Name: 'NOW'),
{075} (Min: 01; Max: 01; Name: 'AREAS'),
{076} (Min: 01; Max: 01; Name: 'ROWS'),
{077} (Min: 01; Max: 01; Name: 'COLUMNS'),
{078} (Min: 02; Max: 04; Name: 'OFFSET'),
{079} (Min: $FF; Max: $FF; Name: 'ABSREF'),
{080} (Min: $FF; Max: $FF; Name: 'RELREF'),
{081} (Min: $FF; Max: $FF; Name: 'ARGUMENT'),
{082} (Min: 02; Max: 03; Name: 'SEARCH'),
{083} (Min: 01; Max: 01; Name: 'TRANSPOSE'),
{084} (Min: $FF; Max: $FF; Name: 'ERROR'),
{085} (Min: $FF; Max: $FF; Name: 'STEP'),
{086} (Min: 01; Max: 01; Name: 'TYPE'),
{087} (Min: $FF; Max: $FF; Name: 'ECHO'),
{088} (Min: $FF; Max: $FF; Name: 'SET.NAME'),
{089} (Min: $FF; Max: $FF; Name: 'CALLER'),
{090} (Min: $FF; Max: $FF; Name: 'DEREF'),
{091} (Min: $FF; Max: $FF; Name: 'WINDOWS'),
{092} (Min: $FF; Max: $FF; Name: 'SERIES'),
{093} (Min: $FF; Max: $FF; Name: 'DOCUMENTS'),
{094} (Min: $FF; Max: $FF; Name: 'ACTIVE.CELL'),
{095} (Min: $FF; Max: $FF; Name: 'SELECTION'),
{096} (Min: $FF; Max: $FF; Name: 'RESULT'),
{097} (Min: 02; Max: 02; Name: 'ATAN2'),
{098} (Min: 01; Max: 01; Name: 'ASIN'),
{099} (Min: 01; Max: 01; Name: 'ACOS'),
{100} (Min: 02; Max: 99; Name: 'CHOOSE'),
{101} (Min: 03; Max: 04; Name: 'HLOOKUP'),
{102} (Min: 03; Max: 04; Name: 'VLOOKUP'),
{103} (Min: $FF; Max: $FF; Name: 'LINKS'),
{104} (Min: $FF; Max: $FF; Name: 'INPUT'),
{105} (Min: 01; Max: 01; Name: 'ISREF'),
{106} (Min: $FF; Max: $FF; Name: 'GET.FORMULA'),
{107} (Min: $FF; Max: $FF; Name: 'GET.NAME'),
{108} (Min: $FF; Max: $FF; Name: 'SET.VALUE'),
{109} (Min: 01; Max: 02; Name: 'LOG'),
{110} (Min: $FF; Max: $FF; Name: 'EXEC'),
{111} (Min: 01; Max: 01; Name: 'CHAR'),
{112} (Min: 01; Max: 01; Name: 'LOWER'),
{113} (Min: 01; Max: 01; Name: 'UPPER'),
{114} (Min: 01; Max: 01; Name: 'PROPER'),
{115} (Min: 01; Max: 02; Name: 'LEFT'),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -