joinmition
认真做好事
采纳率0%
2017-01-25 09:38

用poi读取Excel时报错,因为不支持trend函数,各位如何解决?

1

poi读取excel时 报异常
Exception in thread "main" org.apache.poi.ss.formula.eval.NotImplementedException: Error evaluating cell 模板示例1!B26
原因是poi不支持excel中的部分函数,不知如何解决,各位有何办法?谢谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • renlwolf23 renlwolf23 4年前

    自己写个Trend函数吧。

    根据X,Y两个数组来计算简单线性回归公式f。

    线性回归函数如下:
    f(x) = a*x +b

    其中a 和 b 是两个常数。

    需要根据X和Y来计算a和b的值。

    Excel 用的是最小二乘法来计算a 和b。

    公式如下:

    a = Cov(X,Y) / Var (X)
    b= Mean(Y)- a * Mean(X)

    Cov 为协方差,
    Var 为方差,
    Mean 为平均值。

    a 和 b 得到后,给定一个x'值,套用公式 a*x' +b 即可。

    例子:

    X: 1 2 3 4 5 6 7
    Y : 10 11 13 16 19 22 28

    a = 11.7142857/ 4 = 2.92857143
    b = 17 - 2.92857143 * 4 = 5.28571429

    x' = 8
    f(x') = 2.92857143 * 8 + 5.28571429 = 28.7142857

    点赞 评论 复制链接分享
  • joinmition 认真做好事 4年前

    我这块是用java的poi读取excel,主要是poi 支持的函数:
    [ABS, ACOS, ACOSH, ADDRESS, AND, ASIN, ASINH, ATAN, ATAN2, ATANH, AVEDEV, AVERAGE, CEILING, CHAR, CHOOSE, CLEAN, CODE, COLUMN, COLUMNS, COMBIN, CONCATENATE, COS, COSH, COUNT, COUNTA, COUNTBLANK, COUNTIF, DATE, DAY, DAYS360, DEGREES, DEVSQ, DOLLAR, ERROR.TYPE, EVEN, EXACT, EXP, FACT, FALSE, FIND, FIXED, FLOOR, FV, HLOOKUP, HOUR, HYPERLINK, IF, INDEX, INDIRECT, INT, INTERCEPT, IPMT, IRR, ISBLANK, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISREF, ISTEXT, LARGE, LEFT, LEN, LN, LOG, LOG10, LOOKUP, LOWER, MATCH, MAX, MAXA, MEDIAN, MID, MIN, MINA, MINUTE, MIRR, MOD, MODE, MONTH, NA, NOT, NOW, NPER, NPV, ODD, OFFSET, OR, PERCENTILE, PI, PMT, POISSON, POWER, PPMT, PRODUCT, PROPER, PV, RADIANS, RAND, RANK, RATE, REPLACE, REPT, RIGHT, ROMAN, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, SEARCH, SECOND, SIGN, SIN, SINH, SLOPE, SMALL, SQRT, STDEV, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, T, TAN, TANH, TEXT, TIME, TODAY, TRIM, TRUE, TRUNC, UPPER, VALUE, VAR, VARP, VLOOKUP, WEEKDAY, YEAR]

    很多其他的它都不支持,比如我这块的TREND,因此不知如何解决,@ caozhy 不过感觉用jni调用vba的话就复杂多了。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 4年前

    如果poj不支持,就只能用jni调用vba接口操作excel了。

    点赞 评论 复制链接分享
  • qq_36997139 qq_36997139 4年前

    不要用其他后缀(如:POI后缀)

    点赞 评论 复制链接分享
  • qq_36997139 qq_36997139 4年前

    用XLS后缀或用XLSX后缀

    点赞 评论 复制链接分享

相关推荐