-
Notifications
You must be signed in to change notification settings - Fork 325
Formula usage
清沐 edited this page Mar 29, 2020
·
1 revision
- Add attribute on
td
: 'formula', no need to set specific value
<table>
<tr>
<td>1</td>
</tr>
<tr>
<td>19</td>
</tr>
<tr>
<td formula>SUM(A1:A2)</td>
</tr>
</table>
- In td, the specific formula can be written, such as
sum(A1: A2)
.
The supporting formula is as follows:
private static Function[] produceFunctions() {
Function[] retval = new Function[368];
retval[0] = new Count();
retval[FunctionID.IF] = new IfFunc(); //nominally 1
retval[2] = LogicalFunction.ISNA;
retval[3] = LogicalFunction.ISERROR;
retval[FunctionID.SUM] = AggregateFunction.SUM; //nominally 4
retval[5] = AggregateFunction.AVERAGE;
retval[6] = AggregateFunction.MIN;
retval[7] = AggregateFunction.MAX;
retval[8] = new RowFunc(); // ROW
retval[9] = new Column();
retval[10] = new Na();
retval[11] = new Npv();
retval[12] = AggregateFunction.STDEV;
retval[13] = NumericFunction.DOLLAR;
retval[14] = new Fixed();
retval[15] = NumericFunction.SIN;
retval[16] = NumericFunction.COS;
retval[17] = NumericFunction.TAN;
retval[18] = NumericFunction.ATAN;
retval[19] = NumericFunction.PI;
retval[20] = NumericFunction.SQRT;
retval[21] = NumericFunction.EXP;
retval[22] = NumericFunction.LN;
retval[23] = NumericFunction.LOG10;
retval[24] = NumericFunction.ABS;
retval[25] = NumericFunction.INT;
retval[26] = NumericFunction.SIGN;
retval[27] = NumericFunction.ROUND;
retval[28] = new Lookup();
retval[29] = new Index();
retval[30] = new Rept();
retval[31] = TextFunction.MID;
retval[32] = TextFunction.LEN;
retval[33] = new Value();
retval[34] = BooleanFunction.TRUE;
retval[35] = BooleanFunction.FALSE;
retval[36] = BooleanFunction.AND;
retval[37] = BooleanFunction.OR;
retval[38] = BooleanFunction.NOT;
retval[39] = NumericFunction.MOD;
// 40: DCOUNT
retval[41] = new DStarRunner(DStarRunner.DStarAlgorithmEnum.DSUM);
// 42: DAVERAGE
retval[43] = new DStarRunner(DStarRunner.DStarAlgorithmEnum.DMIN);
retval[44] = new DStarRunner(DStarRunner.DStarAlgorithmEnum.DMAX);
// 45: DSTDEV
retval[46] = AggregateFunction.VAR;
// 47: DVAR
retval[48] = TextFunction.TEXT;
// 49: LINEST
retval[50] = new Trend();
// 51: LOGEST
// 52: GROWTH
retval[56] = FinanceFunction.PV;
retval[57] = FinanceFunction.FV;
retval[58] = FinanceFunction.NPER;
retval[59] = FinanceFunction.PMT;
retval[60] = new Rate();
retval[61] = new Mirr();
retval[62] = new Irr();
retval[63] = NumericFunction.RAND;
retval[64] = new Match();
retval[65] = DateFunc.instance;
retval[66] = new TimeFunc();
retval[67] = CalendarFieldFunction.DAY;
retval[68] = CalendarFieldFunction.MONTH;
retval[69] = CalendarFieldFunction.YEAR;
retval[70] = WeekdayFunc.instance;
retval[71] = CalendarFieldFunction.HOUR;
retval[72] = CalendarFieldFunction.MINUTE;
retval[73] = CalendarFieldFunction.SECOND;
retval[74] = new Now();
retval[75] = new Areas();
retval[76] = new Rows();
retval[77] = new Columns();
retval[FunctionID.OFFSET] = new Offset(); //nominally 78
retval[82] = TextFunction.SEARCH;
retval[83] = MatrixFunction.TRANSPOSE;
// 86: TYPE
retval[97] = NumericFunction.ATAN2;
retval[98] = NumericFunction.ASIN;
retval[99] = NumericFunction.ACOS;
retval[FunctionID.CHOOSE] = new Choose(); //nominally 100
retval[101] = new Hlookup();
retval[102] = new Vlookup();
retval[105] = LogicalFunction.ISREF;
retval[109] = NumericFunction.LOG;
retval[111] = TextFunction.CHAR;
retval[112] = TextFunction.LOWER;
retval[113] = TextFunction.UPPER;
retval[114] = TextFunction.PROPER;
retval[115] = TextFunction.LEFT;
retval[116] = TextFunction.RIGHT;
retval[117] = TextFunction.EXACT;
retval[118] = TextFunction.TRIM;
retval[119] = new Replace();
retval[120] = new Substitute();
retval[121] = new Code();
retval[124] = TextFunction.FIND;
// 125: CELL
retval[126] = LogicalFunction.ISERR;
retval[127] = LogicalFunction.ISTEXT;
retval[128] = LogicalFunction.ISNUMBER;
retval[129] = LogicalFunction.ISBLANK;
retval[130] = new T();
// 131: N
// 140: DATEVALUE
// 141: TIMEVALUE
// 142: SLN
// 143: SYD
// 144: DDB
retval[FunctionID.INDIRECT] = null; // Indirect.evaluate has different signature
retval[162] = TextFunction.CLEAN;
retval[163] = MatrixFunction.MDETERM;
retval[164] = MatrixFunction.MINVERSE;
retval[165] = MatrixFunction.MMULT;
retval[167] = new IPMT();
retval[168] = new PPMT();
retval[169] = new Counta();
retval[183] = AggregateFunction.PRODUCT;
retval[184] = NumericFunction.FACT;
// 189: DPRODUCT
retval[190] = LogicalFunction.ISNONTEXT;
retval[194] = AggregateFunction.VARP;
// 195: DSTDEVP
// 196: DVARP
retval[197] = NumericFunction.TRUNC;
retval[198] = LogicalFunction.ISLOGICAL;
// 199: DCOUNTA
//204: USDOLLAR (YEN in BIFF3)
//205: FINDB
//206: SEARCHB
//207: REPLACEB
//208: LEFTB
//209: RIGHTB
//210: MIDB
//211: LENB
retval[212] = NumericFunction.ROUNDUP;
retval[213] = NumericFunction.ROUNDDOWN;
//214: ASC
//215: DBCS (JIS in BIFF3)
retval[216] = new Rank();
retval[219] = new Address();
retval[220] = new Days360();
retval[221] = new Today();
//222: VBD
retval[227] = AggregateFunction.MEDIAN;
retval[228] = new Sumproduct();
retval[229] = NumericFunction.SINH;
retval[230] = NumericFunction.COSH;
retval[231] = NumericFunction.TANH;
retval[232] = NumericFunction.ASINH;
retval[233] = NumericFunction.ACOSH;
retval[234] = NumericFunction.ATANH;
retval[235] = new DStarRunner(DStarRunner.DStarAlgorithmEnum.DGET);
// 244: INFO
// 247: DB
// 252: FEQUENCY
retval[252] = Frequency.instance;
retval[FunctionID.EXTERNAL_FUNC] = null; // ExternalFunction is a FreeRefFunction, nominally 255
retval[261] = new Errortype();
retval[269] = AggregateFunction.AVEDEV;
// 270: BETADIST
// 271: GAMMALN
// 272: BETAINV
// 273: BINOMDIST
// 274: CHIDIST
// 275: CHIINV
retval[276] = NumericFunction.COMBIN;
// 277: CONFIDENCE
// 278:CRITBINOM
retval[279] = new Even();
// 280: EXPONDIST
// 281: FDIST
// 282: FINV
// 283: FISHER
// 284: FISHERINV
retval[285] = NumericFunction.FLOOR;
// 286: GAMMADIST
// 287: GAMMAINV
retval[288] = NumericFunction.CEILING;
// 289: HYPGEOMDIST
// 290: LOGNORMDIST
// 291: LOGINV
// 292: NEGBINOMDIST
// 293: NORMDIST
// 294: NORMSDIST
// 295: NORMINV
// 296: NORMSINV
// 297: STANDARDIZE
retval[298] = new Odd();
// 299: PERMUT
retval[300] = NumericFunction.POISSON;
// 301: TDIST
// 302: WEIBULL
retval[303] = new Sumxmy2();
retval[304] = new Sumx2my2();
retval[305] = new Sumx2py2();
// 306: CHITEST
// 307: CORREL
// 308: COVAR
// 309: FORECAST
// 310: FTEST
retval[311] = new Intercept();
// 312: PEARSON
// 313: RSQ
// 314: STEYX
retval[315] = new Slope();
// 316: TTEST
// 317: PROB
retval[318] = AggregateFunction.DEVSQ;
retval[319] = AggregateFunction.GEOMEAN;
// 320: HARMEAN
retval[321] = AggregateFunction.SUMSQ;
// 322: KURT
// 323: SKEW
// 324: ZTEST
retval[325] = AggregateFunction.LARGE;
retval[326] = AggregateFunction.SMALL;
// 327: QUARTILE
retval[328] = AggregateFunction.PERCENTILE;
// 329: PERCENTRANK
retval[330] = new Mode();
// 331: TRIMMEAN
// 332: TINV
retval[336] = TextFunction.CONCATENATE;
retval[337] = NumericFunction.POWER;
retval[342] = NumericFunction.RADIANS;
retval[343] = NumericFunction.DEGREES;
retval[344] = new Subtotal();
retval[345] = new Sumif();
retval[346] = new Countif();
retval[347] = new Countblank();
// 350: ISPMT
// 351: DATEDIF
// 352: DATESTRING
// 353: NUMBERSTRING
retval[354] = new Roman();
// 358: GETPIVOTDATA
retval[359] = new Hyperlink();
// 360: PHONETIC
// 361: AVERAGEA
retval[362] = MinaMaxa.MAXA;
retval[363] = MinaMaxa.MINA;
// 364: STDEVPA
// 365: VARPA
// 366: STDEVA
// 367: VARA
}
-
Overview
概述 -
FAQ
常见问题 -
Dependency adding
依赖添加 -
Excel/Csv import
Excel/Csv导入 - 一对多导入
-
Excel default export
默认导出 -
Excel streaming export
流式导出 -
Dynamic export
动态导出 -
Excel template build
模板构建 -
CSV export
csv导出 -
Multiple sheet import
多sheet导入 -
Multiple sheet export
多sheet导出 - 聚合列&聚合导出
-
Custom style
自定义样式 -
Multilevel header
多级表头 -
Wrap within cell
单元格内换行 -
Image export
图片导出 -
Image import
图片导入 -
Hyperlink
链接 - 读取链接
-
Template row height setting
模板行高度设置 -
Drop-down-list
下拉列表 -
Custom convert
写入自定义转化 -
Formula usage
公式使用 -
Template cell setting
单元格设置 -
Header freeze
区域冻结 - 提示
-
Style support
样式支持 - 添加水印
- 按列读取
- 单元格斜线绘制
- 设置批注
- 版本日志