此乃旧文,题目改一下,有点系统性,JSA助攻第一波:可以通过Application.Run接口,让外部程序或VSTO/ExcelDNA项目可以调用JSA的宏代码。...但事实是,在JSA宏里有的一些接口,WPS没有开放同步到VBA接口上。...稍有点曲折,但总算是可以做到在windows环境下实现调用JSA宏的愿景。...例如你不能传一个Range对象,但你可以自己传入一些工作表名、单元格地址等,自己在JSA宏里根据这些参数得到一个Range对象。...总结 WPS在二次开发上的支持,真的出了名的糟糕,WPSJS加载项、JSA宏,一开始觉得开了个不错的头,但几年下来,毫无进展。
JSA的功能有多弱,用过的人都知道,虽然它可以使用上javascript这样的现代语言,相比古老的VBA也好用不少。...所以当务之急是:让JSA能够用上现代轮子库才是关键。 有什么办法可以做到呢?前期有人实践过,直接把某个js轮子库的代码复制粘贴到某个模块里,是可行的。...但因为JSA编辑器的简陋,也不支持超长的字符串,一粘贴就直接死机挂掉了。...在研究如何让RPA更好地调用JSA的过程中,灵机一动,可以使用javascript的动态语言特定,直接将写好的代码,保存为字符串,然后使用eval函数执行它,岂不就可以了吗?...所以既然已经授权定制化开发,既然交付了源码,有合规的专业背书,能够短平快完成一件复杂事情,这些所谓的安全,也不足以惧怕,所以本篇让JSA再次腾飞无限扩展JSA的边界,用上javascript的生态轮子库还是很有推广价值
此乃旧文,题目改一下,有点系统性,JSA助攻第一波:可以通过Application.Run接口,让外部程序或VSTO/ExcelDNA项目可以调用JSA的宏代码。...『WPS二次开发最新成果』使用外部程序/VSTO插件执行JSA宏 外部程序/VSTO插件执行JSA宏,可以将JSA宏保存到xlsm文件里,但更好的方式是保存到xlam文件里,用户更无感它的存在。...接着,如果用户想获得某个JSA宏嵌入到它的当下的工作薄里,这个又该如何处理。...经过以上三步操作,重新将解压后的xlsx文件进行zip压缩后,改后缀名为xlsm,使用WPS表格打开后,即可将JSA宏代码加载进文件中并可使用。 如果还想在工作表上,将形状绑定这个JSA宏代码呢?...macro属性,指向所在的JSA宏。
在JSA宏中,没有办法对本地的文件进行读写,虽然仿效VBA实现了一个FreeFile的函数来处理读写,但也仅限于文本文件的读写。...在JSA上没有,如何才能创造让它产生有?最有效的方式,就是提供一些外部服务,它来调用就完事了。这样的方式,也是无限扩展JSA宏的能力边界的一种非常有效的手段。...这些外部服务,最简单的,就是给它一个web服务来调用,当然可以自己架设个服务器来部署个web api服务,供JSA使用xmlhttpRequest或fetch来访问。...最后,在JSA中,使用Shell函数,来启用这个本地Web服务,启用完后,就可以使用http请求的方式,进行get/post请求,访问上面的读写文件的接口了(WPS最新版本竟然又有bug,这个Shell...但因为WPS的弱鸡性,只能用各种方式来增强它,使用web服务,是个不错的选择,特别是JSA现在原生支持发起http请求。
昨天匆忙间发布了使用外部程序/VSTO插件执行JSA宏的推文,其实还有一些后续的更劲爆的效果,在某些场景上可以有很好的发挥。...『WPS二次开发最新成果』使用外部程序/VSTO插件执行JSA宏 外部程序/VSTO插件执行JSA宏,可以将JSA宏保存到xlsm文件里,但更好的方式是保存到xlam文件里,用户更无感它的存在。...接着,如果用户想获得某个JSA宏嵌入到它的当下的工作薄里,这个又该如何处理。...经过以上三步操作,重新将解压后的xlsx文件进行zip压缩后,改后缀名为xlsm,使用WPS表格打开后,即可将JSA宏代码加载进文件中并可使用。 如果还想在工作表上,将形状绑定这个JSA宏代码呢?...macro属性,指向所在的JSA宏。
暂时没有测试到是否存在JSA宏正常而VBA宏不正常的情况。 反正WPS也就躺平了,在二次开发里有bug,不管怎么反馈,也是懒洋洋的,不当一回事。...但事实是,在JSA宏里有的一些接口,WPS没有开放同步到VBA接口上。...稍有点曲折,但总算是可以做到在windows环境下实现调用JSA宏的愿景。...例如你不能传一个Range对象,但你可以自己传入一些工作表名、单元格地址等,自己在JSA宏里根据这些参数得到一个Range对象。...总结 WPS在二次开发上的支持,真的出了名的糟糕,WPSJS加载项、JSA宏,一开始觉得开了个不错的头,但几年下来,毫无进展。
生成dump.jsa文件 使用appCDS正常启动java程序,使用JVM选项 -Xshare:on -XX:+UseAppCDS -XX:SharedArchiveFile=dump.jsa 云函数中...由于我们期望最终生成的dump.jsa可以在多个云函数实例中使用,我们需要得到/tmp/dump.jsa文件,然后将其和云函数一起打包,这样在使用时候,我们只需要指定Jvm参数 -XX:SharedArchiveFile...=dump.jsa 即可复用 dump.jsa 文件。...所以我们需要获得生成的 /tmp/dump.jsa 文件,由于SCF不能直接下载 /tmp目录的文件,所以我们根据COS的文档写了一小段程序,帮助我们在生成 /tmp/dump.jsa 文件后上传到指定的..., springboot云函数的实现 SCF-springboot-web-1.0-SNAPSHOT.jar ,以及appCDS的archive文件 dump.jsa,我们将这3个文件打包重新部署。
将OFFICE文件嵌入技术发挥到极致,以后安装插件,只需要简单在VBA/jsa宏工作薄上调用下代码即可。...将jsEvaluator这个xll带进WPS世界,可以让jsa宏调用windows生态里的ActiveX和Com组件,无限可能。...从此自己写的一些jsa,需要使用eval函数时,可以提前运行下模板里的InstallXllAddins函数运行一下即可。...话说这个jsEvaluator插件有多强大,它直接打开了一扇门,让WPS可以在jsa环境上一样可以使用ActiveX和Com组件。...具体原理是: 利用jsa开的一个小后门,可以通过Application.Run方法,来运行xll插件的自定义函数,而jsEvaluator插件核心就是提供了一个eval的函数,它在xll内部,引用了微软的
此乃旧文,题目改一下,有点系统性,JSA助攻第一波:可以通过Application.Run接口,借助FreeScript插件,让WPS的JSA环境,用上外部主流编程语言及其生态库资源,只需要安装FreeScript...例如如下的demo,调用R脚本,生成图表,再使用VBA、JSA将生成的结果输出到Excel/WPS表格上呈现。 以下为历史内容: FreeScript再次起飞,增加VB.NET语言的支持。...有了Application对象模型,就不单单是让脚本来处理数据这么简单,只需要将特定的参数从VBA/JSA上传递给脚本获取,在脚本端直接将所有自动化流程做完都可以,包括但不限于增删工作薄、工作表,对单元格...获取Application对象仅在VBA/JSA环境下可行,在自定义函数上会报错。 下面一起来感受下最终的效果,来个简单demo给大家一窥究竟。...使用与Excel交互的方式,调用单元格内容完成作图,自定义函数与VBA/jsa均可使用。 大量时间花在开发探索上,文档写得比较粗糙,让尝鲜者先玩起来,慢慢再迭代完善文档、视频等教学内容。
FreeScript是Excel催化剂最新打造的一款xll插件,可以让Excel/WPS在VBA/JSA环境下,调用外部脚本代码如:javascript/JScript/VBScript/C#/PowerShell...在安装部署环节,前期使用了xlsm文件方式,嵌入安装包内容,通过VBA/JSA方式释放出安装文件并使用Application.Addins.Add方法安装。...同时JSA里对大文件的读取写入到本地目前有缺陷不成功。 所以,下定决定,使用专业的打包工具来完成(EasyShu发布3年多,都未采用,只因JSA安装有缺陷,才下这个决心来学习)。
gson.toJson(list); 2.使用JSONArray json=JSONArray.fromobject(list);在调用json.toString()方法转换成字符串 JSONArray jsa...= JSONArray.fromObject(list); String result = jsa.toString(); 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
JSONObject(); aJosn.put("hello", "你好"); retJson.put(aJosn); //数组在干嘛和睡觉了吗 组装[] JSONArray jsa...没有").put("不想睡").put(""); JSONObject jOne1 = new JSONObject("醒来了"); jOne1.put("睡觉了吗", jTwo); jsa.put...(jOne).put(jOne1); //将组装好的数据放入要返回的json数组中 retJson.put(jsa); System.out.println("------" +
以更加方便使用CDS特性JDK12的341: Default CDS Archives即在64-bit平台上编译jdk的时候就默认在${JAVA_HOME}/lib/server目录下生成一份名为classes.jsa...的默认archive文件(大概有18M)方便大家使用JDK13的这个特性支持在Java application执行之后进行动态archive 导出jsa java -XX:ArchiveClassesAtExit...=hello.jsa -cp hello.jar Hello 使用jsa java -XX:SharedArchiveFile=hello.jsa -cp hello.jar Hello 351: ZGC
CDS特性 JDK12的341: Default CDS Archives即在64-bit平台上编译jdk的时候就默认在${JAVA_HOME}/lib/server目录下生成一份名为classes.jsa...的默认archive文件(大概有18M)方便大家使用 JDK13的这个特性支持在Java application执行之后进行动态archive 导出jsa java -XX:ArchiveClassesAtExit...=hello.jsa -cp hello.jar Hello 使用jsa java -XX:SharedArchiveFile=hello.jsa -cp hello.jar Hello 351: ZGC
hadoop.mapreduce.jobsummary.log.maxfilesize=256MB hadoop.mapreduce.jobsummary.log.maxbackupindex=20 log4j.appender.JSA...=org.apache.log4j.RollingFileAppender log4j.appender.JSA.File=${hadoop.log.dir}/${hadoop.mapreduce.jobsummary.log.file...} log4j.appender.JSA.MaxFileSize=${hadoop.mapreduce.jobsummary.log.maxfilesize} log4j.appender.JSA.MaxBackupIndex...=${hadoop.mapreduce.jobsummary.log.maxbackupindex} log4j.appender.JSA.layout=org.apache.log4j.PatternLayout...log4j.appender.JSA.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n log4j.logger.org.apache.hadoop.mapred.JobInProgress
有了Application对象模型,就不单单是让脚本来处理数据这么简单,只需要将特定的参数从VBA/JSA上传递给脚本获取,在脚本端直接将所有自动化流程做完都可以,包括但不限于增删工作薄、工作表,对单元格...使用与Excel交互的方式,调用单元格内容完成作图,自定义函数与VBA/jsa均可使用。 大量时间花在开发探索上,文档写得比较粗糙,让尝鲜者先玩起来,慢慢再迭代完善文档、视频等教学内容。
领取专属 10元无门槛券
手把手带您无忧上云