可以从命令行调用Excel函数吗?

我不想与任何文件进行任何交互.我只想像其他命令行工具一样使用这些函数.它应该仅用于一些一次性目的.

例如,如果有办法做这样的事情,我会喜欢它:

$excel roman(15)

XV

$excel randbetween(10,20)

14

当然,并非所有可用的功能都可以像这样运行,但越多越好.

>是否存在任何本机应用程序(在Linux或Windows上,但最好是跨平台)

提供这种选择?

>或者我们有什么方法可以操纵excel本身来做到这一点

(虽然根据我搜索的内容,这似乎不是

有可能)?

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, 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

linux中exce函数族,在Linux中Excel函数的命令行执行相关推荐

  1. Linux命令行执行sqlite3命令创建表格,插入数据,获取数据

    Linux命令行执行sqlite3命令创建表格,插入数据,获取数据 文章目录 Linux命令行执行sqlite3命令创建表格,插入数据,获取数据 1-进入sqlite3 2-创建数据库 3-创建表 4 ...

  2. 命令行执行php脚本中的$argv和$argc配置方法

    这篇文章主要介绍了命令行执行php脚本 中$argv和$argc的方法,本文给大家介绍的非常详细,需要的朋友可以参考下 在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去 ...

  3. linux日志切割命令,Linux 服务器log日志切割三种方法【附命令行】

    今天爱分享给大家带来Linux 服务器log日志切割方法[三种附命令行],希望能够帮助到大家. 业务服务器上产生了一个 10G 的log文件,然后很悲催的是什么样的文本编辑器都打不开,然后只能切分一下 ...

  4. linux下wps 点击无反应 无法打开 在命令行也打不开,最开始可以打开,关机重启之后不能够打开

    linux下wps 点击无反应 无法打开 在命令行也打不开,安装之后可以打开,关机重启之后打不开了 解决方案: 删除~/.config/Kingsoft文件 然后重启,一切正常 转载自https:// ...

  5. 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需的特权 | Windows 中配置 7z 命令行执行解压操作 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 二.解决方案 查看 7zip 软件的安装路径 E:\Program Files\7-Zip , 其中 7z.exe 和 7z.dll 就是执行所需的 ...

  6. Linux系统中玩到让你停不下来的命令行游戏!

    在使用 Linux 系统时,命令行不仅可以让我们在工作中提高效率,它还可以在生活上给我们提供各种娱乐活动,因为你可以使用它玩许多非常有意思的游戏,这些游戏可都不需要使用专用显卡. 命令行游戏尽管比较简 ...

  7. linux c语言中如何通过进程名获取进程PID(awk命令行指令)popen、pclose

    文章目录 不唯一匹配(包含字符的全都匹配上)(而且进程名最多为15个字符?)(前15个字符?) 方法1:嵌到程序里,通过命令行附带要查找的进程名称(交叉编译在arm摄像头里运行) 方法2:通过搜素/p ...

  8. 计算机常用函数绝对值,工作中最常用的30个Excel函数公式,帮你整理齐了!

    兰色原来参与过很多次单位新员工招聘,问及都熟悉哪些Excel函数时,多数答:Sum.IF.Vlookup.Sumif...一般回答不超过6个.兰色以多年的工作和管理经验,工作中只会这些简单函数,真不知 ...

  9. java中rate,Java务实际利率之Excel函数RATE

    Java求实际利率之Excel函数RATE 在excel里有个函数RATE是求实际利率的,在网上搜罗了半年,公式倒是找到不少,可以没有一个实现的算法,郁闷,自己研究,写一个出来,做个备忘 公式: 上面 ...

最新文章

  1. pickle,json ;random,shelve
  2. 用vs2008打开vs2012项目
  3. html5退出全屏触发的方法_好程序员web前端分享HTML5常见面试题集锦二
  4. 华为电视鸿蒙系统好用吗,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  5. 阿里巴巴Java开发手册-finally块必须对资源对象、流对象进行关闭操作,如果有异常也要做try-cach操作
  6. grub linux rootfs,rootfs文件系统(笔记)(草稿)
  7. Linux下shell命令 1
  8. python generator
  9. python类定义和初始化,Python类定义、属性、初始化和析构,指针定义和初始化
  10. 橘子origin游戏平台如何绑定登陆验证/二次验证码?
  11. rust服务器显示长度,rust服务器设置倍率
  12. iOS前后台切换和监听
  13. matlab矩阵size,matlab中size函数用法
  14. 佛说五百年的回眸才换来今生的擦肩而过
  15. MT【305】丹德林双球
  16. js的unshift()的使用
  17. linux怎么模糊查找文件,linux怎么模糊查找一个文件
  18. 面试经验//Java新手如何制定优秀的职业规划?看大牛怎么说!
  19. python+gurobi
  20. java 网络摄像头 监控系统_摄像头(WebCam)

热门文章

  1. 04.Unity Zenject入门到掌握(Zenject的绑定实例Bind)
  2. 归一化均方误差NMSE
  3. 基于图像识别的微信游戏“跳一跳”自动控制实验
  4. CSS_css选择器,选择所有子元素、最后一个、第一个、单数、双数、第n个、反选,nth-child,last-child,first-child
  5. 基于STM32的简易MP3音乐播放器
  6. C++比较函数cmp
  7. 玛法记忆助手v1.1标准版[原创作品]
  8. 佩戴最舒适的耳机有哪些、运动蓝牙耳机佩戴舒适度排名清单
  9. Win7系统无法识别硬盘或无法装系统Windows系统怎么办
  10. 做到这六点,准时下班就实现了一半