linux – Excel函数的命令行执行
发布时间:2020-12-13 22:56:51 所属栏目:Linux 来源:网络整理
导读:可以从命令行调用Excel函数吗? 我不想与任何文件进行任何交互.我只想像其他命令行工具一样使用这些函数.它应该仅用于一些一次性目的. 例如,如果有办法做这样的事情,我会喜欢它: $excel roman(15)XV$excel randbetween(10,20)14 当然,并非所有可用的功能都
可以从命令行调用Excel函数吗?
我不想与任何文件进行任何交互.我只想像其他命令行工具一样使用这些函数.它应该仅用于一些一次性目的. 例如,如果有办法做这样的事情,我会喜欢它: $excel roman(15) XV $excel randbetween(10,20) 14 当然,并非所有可用的功能都可以像这样运行,但越多越好. >是否存在任何本机应用程序(在Linux或Windows上,但最好是跨平台) 解决方法
libformula可能是一个很好的起点.这是概念证明:
$excel 'TRIM(" abc 123 ")' abc 123 excel就是这个简单的shell脚本: #!/bin/sh java -cp /usr/share/java/commons-logging.jar:libformula/demo:libbase/dist/libbase-6.1-SNAPSHOT.jar:libformula/dist/libformula-6.1-SNAPSHOT.jar:/home/cwarden/git/excel/src org.xerus.excel.Excel "$1" 和org.xerus.excel.Excel从argv获取一个字符串并将其作为公式计算: package org.xerus.excel; import org.pentaho.reporting.libraries.formula.EvaluationException; import org.pentaho.reporting.libraries.formula.Formula; import org.pentaho.reporting.libraries.formula.DefaultFormulaContext; import org.pentaho.reporting.libraries.formula.parser.ParseException; public class Excel { public static void main(final String[] args) throws ParseException,EvaluationException { final Formula f = new Formula(args[0]); f.initialize(new DefaultFormulaContext()); final Object o = f.evaluate(); System.out.println(o); } } libformula包含一个演示程序org.pentaho.reporting.libraries.formula.demo.PrintAllFunctions,它打印出所有支持的函数: Category User-Defined ARRAYCONCATENATE,ARRAYCONTAINS,ARRAYLEFT,ARRAYMID,CSVARRAY,CSVTEXT,NORMALIZEARRAY,NULL,PARSEDATE,SEQUENCEQUOTER Category Information CHOOSE,COUNT,COUNTA,COUNTBLANK,ERROR,HASCHANGED,INDEX,ISBLANK,ISERR,ISERROR,ISEVEN,ISLOGICAL,ISNA,ISNONTEXT,ISNUMBER,ISODD,ISREF,ISTEXT,LOOKUP,NA,VALUE Category Rounding INT Category Mathematical ABS,ACOS,ACOSH,ASIN,ATAN,ATAN2,AVERAGE,AVERAGEA,COS,EVEN,EXP,LN,LOG10,MAX,MAXA,MIN,MINA,MOD,N,ODD,PI,POWER,SIN,SQRT,SUM,SUMA,VAR Category Text ARRAYRIGHT,ASC,CHAR,CLEAN,CODE,CONCATENATE,EXACT,FIND,FIXED,LEFT,LEN,LOWER,MESSAGE,MID,PROPER,REPLACE,REPT,RIGHT,SEARCH,STRINGCOUNT,SUBSTITUTE,T,TEXT,TRIM,UNICHAR,UNICODE,UPPER,URLENCODE Category Date/Time DATE,DATEDIF,DATETIMEVALUE,DATEVALUE,DAY,DAYS,HOUR,MINUTE,MONTH,MONTHEND,NOW,PREVWEEKDAY,SECOND,TIME,TIMEVALUE,TODAY,WEEKDAY,YEAR,YESTERDAY Category Logical AND,FALSE,IF,IFNA,NOT,OR,TRUE,XOR Category Database BEGINSWITH,CONTAINS,ENDSWITH,EQUALS,IN,LIKE (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |